equal
deleted
inserted
replaced
656 lemmas succ_pred[simp] = pred_Field_succ[THEN conjunct2, THEN conjunct2] |
656 lemmas succ_pred[simp] = pred_Field_succ[THEN conjunct2, THEN conjunct2] |
657 |
657 |
658 lemma isSucc_pred_in: |
658 lemma isSucc_pred_in: |
659 assumes "isSucc i" shows "(pred i, i) \<in> r" |
659 assumes "isSucc i" shows "(pred i, i) \<in> r" |
660 proof- |
660 proof- |
661 def j \<equiv> "pred i" |
661 define j where "j = pred i" |
662 have i: "i = succ j" using assms unfolding j_def by simp |
662 have i: "i = succ j" using assms unfolding j_def by simp |
663 have a: "aboveS j \<noteq> {}" unfolding j_def using assms by auto |
663 have a: "aboveS j \<noteq> {}" unfolding j_def using assms by auto |
664 show ?thesis unfolding j_def[symmetric] unfolding i using succ_in[OF a] . |
664 show ?thesis unfolding j_def[symmetric] unfolding i using succ_in[OF a] . |
665 qed |
665 qed |
666 |
666 |
764 |
764 |
765 lemma worecSL_succ: |
765 lemma worecSL_succ: |
766 assumes a: "adm_woL L" and i: "aboveS j \<noteq> {}" |
766 assumes a: "adm_woL L" and i: "aboveS j \<noteq> {}" |
767 shows "worecSL S L (succ j) = S j (worecSL S L j)" |
767 shows "worecSL S L (succ j) = S j (worecSL S L j)" |
768 proof- |
768 proof- |
769 def i \<equiv> "succ j" |
769 define i where "i = succ j" |
770 have i: "isSucc i" by (metis i i_def isSucc_succ) |
770 have i: "isSucc i" by (metis i i_def isSucc_succ) |
771 have ij: "j = pred i" unfolding i_def using assms by simp |
771 have ij: "j = pred i" unfolding i_def using assms by simp |
772 have 0: "succ (pred i) = i" using i by simp |
772 have 0: "succ (pred i) = i" using i by simp |
773 show ?thesis unfolding ij using worecSL_isSucc[OF a i] unfolding 0 . |
773 show ?thesis unfolding ij using worecSL_isSucc[OF a i] unfolding 0 . |
774 qed |
774 qed |
933 shows "\<exists> g. embed r s g" |
933 shows "\<exists> g. embed r s g" |
934 proof- |
934 proof- |
935 interpret r: wo_rel r by unfold_locales (rule r) |
935 interpret r: wo_rel r by unfold_locales (rule r) |
936 interpret s: wo_rel s by unfold_locales (rule s) |
936 interpret s: wo_rel s by unfold_locales (rule s) |
937 let ?G = "\<lambda> g a. suc s (g ` underS r a)" |
937 let ?G = "\<lambda> g a. suc s (g ` underS r a)" |
938 def g \<equiv> "worec r ?G" |
938 define g where "g = worec r ?G" |
939 have adm: "adm_wo r ?G" unfolding r.adm_wo_def image_def by auto |
939 have adm: "adm_wo r ?G" unfolding r.adm_wo_def image_def by auto |
940 (* *) |
940 (* *) |
941 {fix a assume "a \<in> Field r" |
941 {fix a assume "a \<in> Field r" |
942 hence "bij_betw g (under r a) (under s (g a)) \<and> |
942 hence "bij_betw g (under r a) (under s (g a)) \<and> |
943 g a \<in> under s (f a)" |
943 g a \<in> under s (f a)" |