src/HOL/Cardinals/Wellorder_Constructions.thy
changeset 69661 a03a63b81f44
parent 68652 1e37b45ce3fb
child 69712 dc85b5b3a532
equal deleted inserted replaced
69660:2bc2a8599369 69661:a03a63b81f44
   948      and IH1b: "\<And> a1. a1 \<in> underS r a \<Longrightarrow> g ` under r a1 = under s (g a1)"
   948      and IH1b: "\<And> a1. a1 \<in> underS r a \<Longrightarrow> g ` under r a1 = under s (g a1)"
   949      and IH2: "\<And> a1. a1 \<in> underS r a \<Longrightarrow> g a1 \<in> under s (f a1)"
   949      and IH2: "\<And> a1. a1 \<in> underS r a \<Longrightarrow> g a1 \<in> under s (f a1)"
   950      unfolding underS_def Field_def bij_betw_def by auto
   950      unfolding underS_def Field_def bij_betw_def by auto
   951      have fa: "f a \<in> Field s" using f[OF a] by auto
   951      have fa: "f a \<in> Field s" using f[OF a] by auto
   952      have g: "g a = suc s (g ` underS r a)"
   952      have g: "g a = suc s (g ` underS r a)"
   953      using r.worec_fixpoint[OF adm] unfolding g_def fun_eq_iff by simp
   953        using r.worec_fixpoint[OF adm] unfolding g_def fun_eq_iff by blast
   954      have A0: "g ` underS r a \<subseteq> Field s"
   954      have A0: "g ` underS r a \<subseteq> Field s"
   955      using IH1b by (metis IH2 image_subsetI in_mono under_Field)
   955      using IH1b by (metis IH2 image_subsetI in_mono under_Field)
   956      {fix a1 assume a1: "a1 \<in> underS r a"
   956      {fix a1 assume a1: "a1 \<in> underS r a"
   957       from IH2[OF this] have "g a1 \<in> under s (f a1)" .
   957       from IH2[OF this] have "g a1 \<in> under s (f a1)" .
   958       moreover have "f a1 \<in> underS s (f a)" using f[OF a] a1 by auto
   958       moreover have "f a1 \<in> underS s (f a)" using f[OF a] a1 by auto