equal
deleted
inserted
replaced
75 lemma adm_disj_lemma3: |
75 lemma adm_disj_lemma3: |
76 "\<lbrakk>chain (Y::nat \<Rightarrow> 'a::cpo); \<forall>i. \<exists>j\<ge>i. P (Y j)\<rbrakk> \<Longrightarrow> |
76 "\<lbrakk>chain (Y::nat \<Rightarrow> 'a::cpo); \<forall>i. \<exists>j\<ge>i. P (Y j)\<rbrakk> \<Longrightarrow> |
77 (\<Squnion>i. Y i) = (\<Squnion>i. Y (LEAST j. i \<le> j \<and> P (Y j)))" |
77 (\<Squnion>i. Y i) = (\<Squnion>i. Y (LEAST j. i \<le> j \<and> P (Y j)))" |
78 apply (frule (1) adm_disj_lemma1) |
78 apply (frule (1) adm_disj_lemma1) |
79 apply (rule antisym_less) |
79 apply (rule antisym_less) |
80 apply (rule lub_mono [rule_format], assumption+) |
80 apply (rule lub_mono, assumption+) |
81 apply (erule chain_mono) |
81 apply (erule chain_mono) |
82 apply (simp add: adm_disj_lemma2) |
82 apply (simp add: adm_disj_lemma2) |
83 apply (rule lub_range_mono, fast, assumption+) |
83 apply (rule lub_range_mono, fast, assumption+) |
84 done |
84 done |
85 |
85 |
126 apply (rule admI) |
126 apply (rule admI) |
127 apply (simp add: cont2contlubE) |
127 apply (simp add: cont2contlubE) |
128 apply (rule lub_mono) |
128 apply (rule lub_mono) |
129 apply (erule (1) ch2ch_cont) |
129 apply (erule (1) ch2ch_cont) |
130 apply (erule (1) ch2ch_cont) |
130 apply (erule (1) ch2ch_cont) |
131 apply assumption |
131 apply (erule spec) |
132 done |
132 done |
133 |
133 |
134 lemma adm_eq: "\<lbrakk>cont u; cont v\<rbrakk> \<Longrightarrow> adm (\<lambda>x. u x = v x)" |
134 lemma adm_eq: "\<lbrakk>cont u; cont v\<rbrakk> \<Longrightarrow> adm (\<lambda>x. u x = v x)" |
135 by (simp add: po_eq_conv adm_conj adm_less) |
135 by (simp add: po_eq_conv adm_conj adm_less) |
136 |
136 |