src/HOL/BNF_Wellorder_Constructions.thy
changeset 76281 457f1cba78fb
parent 75669 43f5dfb7fa35
child 76950 f881fd264929
equal deleted inserted replaced
76269:cee0b9fccf6f 76281:457f1cba78fb
   706   have "f12 ` ?A1 < ?A2"
   706   have "f12 ` ?A1 < ?A2"
   707   using 0 4 by (auto simp add: wo_rel_def wo_rel.ofilter_def)
   707   using 0 4 by (auto simp add: wo_rel_def wo_rel.ofilter_def)
   708   moreover have "inj_on f23 ?A2"
   708   moreover have "inj_on f23 ?A2"
   709   using EMB23 0 by (simp add: wo_rel_def embed_inj_on)
   709   using EMB23 0 by (simp add: wo_rel_def embed_inj_on)
   710   ultimately
   710   ultimately
   711   have "f23 ` (f12 ` ?A1) < f23 ` ?A2" by (simp add: inj_on_strict_subset)
   711   have "f23 ` (f12 ` ?A1) < f23 ` ?A2" by (simp add: image_strict_mono)
   712   moreover
   712   moreover
   713   {have "embed r1 r3 (f23 \<circ> f12)"
   713   {have "embed r1 r3 (f23 \<circ> f12)"
   714    using 1 EMB23 0 by (auto simp add: comp_embed)
   714    using 1 EMB23 0 by (auto simp add: comp_embed)
   715    hence "\<forall>a \<in> ?A1. f23(f12 a) = f13 a"
   715    hence "\<forall>a \<in> ?A1. f23(f12 a) = f13 a"
   716    using EMB13 0 embed_unique[of r1 r3 "f23 \<circ> f12" f13] by auto
   716    using EMB13 0 embed_unique[of r1 r3 "f23 \<circ> f12" f13] by auto