src/HOL/IMP/Abs_Int_ITP/Abs_Int3_ITP.thy
changeset 55441 b445c39cc7e9
parent 53015 a1119cf551e8
child 55599 6535c537b243
equal deleted inserted replaced
55440:721b4561007a 55441:b445c39cc7e9
   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