src/ZF/AC/AC16_WO4.ML
changeset 5116 8eb343ab5748
parent 5068 fb28eaa07e01
child 5137 60205b0de9b9
equal deleted inserted replaced
5115:caf39b7b7a12 5116:8eb343ab5748
    89 \       ==> (lam a:succ(A). if(a=A, y, f`a)) : inj(succ(A), B)";
    89 \       ==> (lam a:succ(A). if(a=A, y, f`a)) : inj(succ(A), B)";
    90 by (res_inst_tac [("d","%z. if(z=y, A, converse(f)`z)")] lam_injective 1);
    90 by (res_inst_tac [("d","%z. if(z=y, A, converse(f)`z)")] lam_injective 1);
    91 by (ALLGOALS
    91 by (ALLGOALS
    92     (asm_simp_tac 
    92     (asm_simp_tac 
    93      (simpset() addsimps [inj_is_fun RS apply_type, left_inverse] 
    93      (simpset() addsimps [inj_is_fun RS apply_type, left_inverse] 
    94       setloop (split_tac [expand_if] ORELSE' Step_tac))));
    94       setloop (split_tac [split_if] ORELSE' Step_tac))));
    95 qed "succ_not_lepoll_lemma";
    95 qed "succ_not_lepoll_lemma";
    96 
    96 
    97 Goalw [lepoll_def, eqpoll_def, bij_def, surj_def]
    97 Goalw [lepoll_def, eqpoll_def, bij_def, surj_def]
    98         "!!A. [| ~A eqpoll B; A lepoll B |] ==> succ(A) lepoll B";
    98         "!!A. [| ~A eqpoll B; A lepoll B |] ==> succ(A) lepoll B";
    99 by (fast_tac (claset() addSEs [succ_not_lepoll_lemma, inj_is_fun]) 1);
    99 by (fast_tac (claset() addSEs [succ_not_lepoll_lemma, inj_is_fun]) 1);