equal
deleted
inserted
replaced
14 definition |
14 definition |
15 HH :: "[i, i, i] => i" where |
15 HH :: "[i, i, i] => i" where |
16 "HH(f,x,a) == transrec(a, %b r. let z = x - (\<Union>c \<in> b. r`c) |
16 "HH(f,x,a) == transrec(a, %b r. let z = x - (\<Union>c \<in> b. r`c) |
17 in if f`z \<in> Pow(z)-{0} then f`z else {x})" |
17 in if f`z \<in> Pow(z)-{0} then f`z else {x})" |
18 |
18 |
19 subsection{*Lemmas useful in each of the three proofs*} |
19 subsection\<open>Lemmas useful in each of the three proofs\<close> |
20 |
20 |
21 lemma HH_def_satisfies_eq: |
21 lemma HH_def_satisfies_eq: |
22 "HH(f,x,a) = (let z = x - (\<Union>b \<in> a. HH(f,x,b)) |
22 "HH(f,x,a) = (let z = x - (\<Union>b \<in> a. HH(f,x,b)) |
23 in if f`z \<in> Pow(z)-{0} then f`z else {x})" |
23 in if f`z \<in> Pow(z)-{0} then f`z else {x})" |
24 by (rule HH_def [THEN def_transrec, THEN trans], simp) |
24 by (rule HH_def [THEN def_transrec, THEN trans], simp) |
124 apply (rule HH_values [THEN disjE], assumption) |
124 apply (rule HH_values [THEN disjE], assumption) |
125 apply (rule less_LeastE) |
125 apply (rule less_LeastE) |
126 apply (erule_tac [2] ltI [OF _ Ord_Least], assumption) |
126 apply (erule_tac [2] ltI [OF _ Ord_Least], assumption) |
127 done |
127 done |
128 |
128 |
129 subsection{*Lemmas used in the proofs of AC1 ==> WO2 and AC17 ==> AC1*} |
129 subsection\<open>Lemmas used in the proofs of AC1 ==> WO2 and AC17 ==> AC1\<close> |
130 |
130 |
131 lemma lam_Least_HH_inj_Pow: |
131 lemma lam_Least_HH_inj_Pow: |
132 "(\<lambda>a \<in> (LEAST i. HH(f,x,i)={x}). HH(f,x,a)) |
132 "(\<lambda>a \<in> (LEAST i. HH(f,x,i)={x}). HH(f,x,a)) |
133 \<in> inj(LEAST i. HH(f,x,i)={x}, Pow(x)-{0})" |
133 \<in> inj(LEAST i. HH(f,x,i)={x}, Pow(x)-{0})" |
134 apply (unfold inj_def, simp) |
134 apply (unfold inj_def, simp) |
211 lemmas bij_Least_HH_x = |
211 lemmas bij_Least_HH_x = |
212 comp_bij [OF f_sing_lam_bij [OF _ lam_singI] |
212 comp_bij [OF f_sing_lam_bij [OF _ lam_singI] |
213 lam_sing_bij [THEN bij_converse_bij]] |
213 lam_sing_bij [THEN bij_converse_bij]] |
214 |
214 |
215 |
215 |
216 subsection{*The proof of AC1 ==> WO2*} |
216 subsection\<open>The proof of AC1 ==> WO2\<close> |
217 |
217 |
218 (*Establishing the existence of a bijection, namely |
218 (*Establishing the existence of a bijection, namely |
219 converse |
219 converse |
220 (converse(\<lambda>x\<in>x. {x}) O |
220 (converse(\<lambda>x\<in>x. {x}) O |
221 Lambda |
221 Lambda |