src/HOL/ex/set.ML
changeset 7377 2ad85e036c21
parent 6236 958f4fc3e8b8
child 8266 4bc79ed1233b
equal deleted inserted replaced
7376:46f92a120af9 7377:2ad85e036c21
    84 by (blast_tac (claset() addEs [equalityE]) 1);
    84 by (blast_tac (claset() addEs [equalityE]) 1);
    85 qed "surj_if_then_else";
    85 qed "surj_if_then_else";
    86 
    86 
    87 Goalw [inj_on_def]
    87 Goalw [inj_on_def]
    88      "[| inj_on f X;  inj_on g (-X);  -(f``X) = g``(-X); \
    88      "[| inj_on f X;  inj_on g (-X);  -(f``X) = g``(-X); \
    89 \        bij = (%z. if z:X then f(z) else g(z)) |]       \
    89 \        h = (%z. if z:X then f(z) else g(z)) |]       \
    90 \     ==> inj(bij) & surj(bij)";
    90 \     ==> inj(h) & surj(h)";
    91 by (asm_simp_tac (simpset() addsimps [surj_if_then_else]) 1);
    91 by (asm_simp_tac (simpset() addsimps [surj_if_then_else]) 1);
    92    (*PROOF FAILED if inj_onD*)
    92    (*PROOF FAILED if inj_onD*)
    93 by (blast_tac (claset() addDs [disj_lemma, sym RSN (2,disj_lemma)]) 1);
    93 by (blast_tac (claset() addDs [disj_lemma, sym RSN (2,disj_lemma)]) 1);
    94 qed "bij_if_then_else";
    94 qed "bij_if_then_else";
    95 
    95