src/ZF/AC/HH.thy
changeset 14171 0cab06e3bbd0
parent 13339 0f89104dd377
child 15481 fc075ae929e4
equal deleted inserted replaced
14170:edd5a2ea3807 14171:0cab06e3bbd0
   206 apply (unfold bij_def)
   206 apply (unfold bij_def)
   207 apply (fast intro!: lam_Least_HH_inj lam_surj_sing f_sing_imp_HH_sing)
   207 apply (fast intro!: lam_Least_HH_inj lam_surj_sing f_sing_imp_HH_sing)
   208 done
   208 done
   209 
   209 
   210 lemma lam_singI:
   210 lemma lam_singI:
   211      "f \<in> (\<Pi>X \<in> Pow(x)-{0}. F(X))   
   211      "f \<in> (\<Pi> X \<in> Pow(x)-{0}. F(X))   
   212       ==> (\<lambda>X \<in> Pow(x)-{0}. {f`X}) \<in> (\<Pi>X \<in> Pow(x)-{0}. {{z}. z \<in> F(X)})"
   212       ==> (\<lambda>X \<in> Pow(x)-{0}. {f`X}) \<in> (\<Pi> X \<in> Pow(x)-{0}. {{z}. z \<in> F(X)})"
   213 by (fast del: DiffI DiffE
   213 by (fast del: DiffI DiffE
   214 	    intro!: lam_type singleton_eq_iff [THEN iffD2] dest: apply_type)
   214 	    intro!: lam_type singleton_eq_iff [THEN iffD2] dest: apply_type)
   215 
   215 
   216 (*FIXME: both uses have the form ...[THEN bij_converse_bij], so 
   216 (*FIXME: both uses have the form ...[THEN bij_converse_bij], so 
   217   simplification is needed!*)
   217   simplification is needed!*)
   231    (LEAST i. HH(\<lambda>X\<in>Pow(x) - {0}. {f ` X}, x, i) = {x},
   231    (LEAST i. HH(\<lambda>X\<in>Pow(x) - {0}. {f ` X}, x, i) = {x},
   232     HH(\<lambda>X\<in>Pow(x) - {0}. {f ` X}, x)))
   232     HH(\<lambda>X\<in>Pow(x) - {0}. {f ` X}, x)))
   233 Perhaps it could be simplified. *)
   233 Perhaps it could be simplified. *)
   234 
   234 
   235 lemma bijection:
   235 lemma bijection:
   236      "f \<in> (\<Pi>X \<in> Pow(x) - {0}. X) 
   236      "f \<in> (\<Pi> X \<in> Pow(x) - {0}. X) 
   237       ==> \<exists>g. g \<in> bij(x, LEAST i. HH(\<lambda>X \<in> Pow(x)-{0}. {f`X}, x, i) = {x})"
   237       ==> \<exists>g. g \<in> bij(x, LEAST i. HH(\<lambda>X \<in> Pow(x)-{0}. {f`X}, x, i) = {x})"
   238 apply (rule exI) 
   238 apply (rule exI) 
   239 apply (rule bij_Least_HH_x [THEN bij_converse_bij])
   239 apply (rule bij_Least_HH_x [THEN bij_converse_bij])
   240 apply (rule f_subsets_imp_UN_HH_eq_x)
   240 apply (rule f_subsets_imp_UN_HH_eq_x)
   241 apply (intro ballI apply_type) 
   241 apply (intro ballI apply_type)