1 (* Title: ZF/AC/WO1-WO6.ML |
1 (* Title: ZF/AC/WO1-WO6.ML |
2 ID: $Id$ |
2 ID: $Id$ |
3 Author: Krzysztof Gr`abczewski |
3 Author: Krzysztof Grabczewski |
4 |
4 |
5 Proofs needed to state that formulations WO1,...,WO6 are all equivalent. |
5 Proofs needed to state that formulations WO1,...,WO6 are all equivalent. |
6 All but one WO6 ==> WO1 (placed in separate file WO6_WO1.ML) |
6 All but one WO6 ==> WO1 (placed in separate file WO6_WO1.ML) |
7 |
7 |
8 Every proofs (exept one) presented in this file are referred as clear |
8 Every proofs (exept one) presented in this file are referred as clear |
44 by (fast_tac (AC_cs addSDs [surj_imp_eq_] |
44 by (fast_tac (AC_cs addSDs [surj_imp_eq_] |
45 addSIs [equalityI, ltI] addSEs [ltE]) 1); |
45 addSIs [equalityI, ltI] addSEs [ltE]) 1); |
46 val surj_imp_eq = result(); |
46 val surj_imp_eq = result(); |
47 |
47 |
48 goalw thy WO_defs "!!Z. WO1 ==> WO4(1)"; |
48 goalw thy WO_defs "!!Z. WO1 ==> WO4(1)"; |
49 by (resolve_tac [allI] 1); |
49 by (rtac allI 1); |
50 by (eres_inst_tac [("x","A")] allE 1); |
50 by (eres_inst_tac [("x","A")] allE 1); |
51 by (eresolve_tac [exE] 1); |
51 by (etac exE 1); |
52 by (REPEAT (resolve_tac [exI, conjI] 1)); |
52 by (REPEAT (resolve_tac [exI, conjI] 1)); |
53 by (eresolve_tac [Ord_ordertype] 1); |
53 by (etac Ord_ordertype 1); |
54 by (resolve_tac [conjI] 1); |
54 by (rtac conjI 1); |
55 by (eresolve_tac [ordermap_bij RS bij_converse_bij RS bij_is_fun RS |
55 by (eresolve_tac [ordermap_bij RS bij_converse_bij RS bij_is_fun RS |
56 lam_sets RS domain_of_fun] 1); |
56 lam_sets RS domain_of_fun] 1); |
57 by (asm_simp_tac (AC_ss addsimps [singleton_eqpoll_1 RS eqpoll_imp_lepoll, |
57 by (asm_simp_tac (AC_ss addsimps [singleton_eqpoll_1 RS eqpoll_imp_lepoll, |
58 Ord_ordertype RSN (2, ordermap_bij RS bij_converse_bij RS |
58 Ord_ordertype RSN (2, ordermap_bij RS bij_converse_bij RS |
59 bij_is_surj RS surj_imp_eq)]) 1); |
59 bij_is_surj RS surj_imp_eq)]) 1); |