src/ZF/AC/HH.thy
changeset 60770 240563fbf41d
parent 59788 6f7b6adac439
child 61394 6142b282b164
equal deleted inserted replaced
60769:cf7f3465eaf1 60770:240563fbf41d
    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