equal
deleted
inserted
replaced
194 by (auto dest: iter_widen_pfp iter_narrow_pfp split: option.splits) |
194 by (auto dest: iter_widen_pfp iter_narrow_pfp split: option.splits) |
195 |
195 |
196 lemma strip_pfp_wn: |
196 lemma strip_pfp_wn: |
197 "\<lbrakk> \<forall>c. strip(f c) = strip c; pfp_wn f c = Some c' \<rbrakk> \<Longrightarrow> strip c' = c" |
197 "\<lbrakk> \<forall>c. strip(f c) = strip c; pfp_wn f c = Some c' \<rbrakk> \<Longrightarrow> strip c' = c" |
198 apply(auto simp add: pfp_wn_def iter_narrow_def split: option.splits) |
198 apply(auto simp add: pfp_wn_def iter_narrow_def split: option.splits) |
199 by (metis (no_types) strip_map2_acom strip_while strip_bot_acom strip_iter_widen) |
199 by (metis (mono_tags) strip_map2_acom strip_while strip_bot_acom strip_iter_widen) |
200 |
200 |
201 locale Abs_Int2 = Abs_Int1_mono |
201 locale Abs_Int2 = Abs_Int1_mono |
202 where \<gamma>=\<gamma> for \<gamma> :: "'av::{WN,L_top_bot} \<Rightarrow> val set" |
202 where \<gamma>=\<gamma> for \<gamma> :: "'av::{WN,L_top_bot} \<Rightarrow> val set" |
203 begin |
203 begin |
204 |
204 |