src/HOL/Cardinals/Constructions_on_Wellorders_Base.thy
changeset 51764 67f05cb13e08
parent 49310 6e30078de4f0
equal deleted inserted replaced
51763:0051318acc9d 51764:67f05cb13e08
   877 shows "r <o r'"
   877 shows "r <o r'"
   878 proof-
   878 proof-
   879   {assume "r' \<le>o r"
   879   {assume "r' \<le>o r"
   880    then obtain h where "inj_on h (Field r') \<and> h ` (Field r') \<le> Field r"
   880    then obtain h where "inj_on h (Field r') \<and> h ` (Field r') \<le> Field r"
   881    unfolding ordLeq_def using assms embed_inj_on embed_Field by blast
   881    unfolding ordLeq_def using assms embed_inj_on embed_Field by blast
   882    hence False using finite_imageD finite_subset FIN INF by blast
   882    hence False using finite_imageD finite_subset FIN INF by metis
   883   }
   883   }
   884   thus ?thesis using WELL WELL' ordLess_or_ordLeq by blast
   884   thus ?thesis using WELL WELL' ordLess_or_ordLeq by blast
   885 qed
   885 qed
   886 
   886 
   887 
   887 
  1090   assume SUB: "A' \<le> Field(dir_image r f)" and NE: "A' \<noteq> {}"
  1090   assume SUB: "A' \<le> Field(dir_image r f)" and NE: "A' \<noteq> {}"
  1091   obtain A where A_def: "A = {a \<in> Field r. f a \<in> A'}" by blast
  1091   obtain A where A_def: "A = {a \<in> Field r. f a \<in> A'}" by blast
  1092   have "A \<noteq> {} \<and> A \<le> Field r"
  1092   have "A \<noteq> {} \<and> A \<le> Field r"
  1093   using A_def dir_image_Field[of r f] SUB NE by blast
  1093   using A_def dir_image_Field[of r f] SUB NE by blast
  1094   then obtain a where 1: "a \<in> A \<and> (\<forall>b \<in> A. (b,a) \<notin> r)"
  1094   then obtain a where 1: "a \<in> A \<and> (\<forall>b \<in> A. (b,a) \<notin> r)"
  1095   using WF unfolding wf_eq_minimal2 by blast
  1095   using WF unfolding wf_eq_minimal2 by metis
  1096   have "\<forall>b' \<in> A'. (b',f a) \<notin> dir_image r f"
  1096   have "\<forall>b' \<in> A'. (b',f a) \<notin> dir_image r f"
  1097   proof(clarify)
  1097   proof(clarify)
  1098     fix b' assume *: "b' \<in> A'" and **: "(b',f a) \<in> dir_image r f"
  1098     fix b' assume *: "b' \<in> A'" and **: "(b',f a) \<in> dir_image r f"
  1099     obtain b1 a1 where 2: "b' = f b1 \<and> f a = f a1" and
  1099     obtain b1 a1 where 2: "b' = f b1 \<and> f a = f a1" and
  1100                        3: "(b1,a1) \<in> r \<and> {a1,b1} \<le> Field r"
  1100                        3: "(b1,a1) \<in> r \<and> {a1,b1} \<le> Field r"
  1288      {assume Case41: "b1 = c1 \<and> b2 = c2"
  1288      {assume Case41: "b1 = c1 \<and> b2 = c2"
  1289       hence ?thesis using * by simp
  1289       hence ?thesis using * by simp
  1290      }
  1290      }
  1291      moreover
  1291      moreover
  1292      {assume Case42: "(wo_rel.max2 r b1 b2, wo_rel.max2 r c1 c2) \<in> r - Id"
  1292      {assume Case42: "(wo_rel.max2 r b1 b2, wo_rel.max2 r c1 c2) \<in> r - Id"
  1293       hence ?thesis using Case4 0 unfolding bsqr_def by auto
  1293       hence ?thesis using Case4 0 unfolding bsqr_def by force
  1294      }
  1294      }
  1295      moreover
  1295      moreover
  1296      {assume Case43: "wo_rel.max2 r b1 b2 = wo_rel.max2 r c1 c2 \<and> (b1,c1) \<in> r - Id"
  1296      {assume Case43: "wo_rel.max2 r b1 b2 = wo_rel.max2 r c1 c2 \<and> (b1,c1) \<in> r - Id"
  1297       hence ?thesis using Case4 0 unfolding bsqr_def by auto
  1297       hence ?thesis using Case4 0 unfolding bsqr_def by auto
  1298      }
  1298      }