src/HOL/HOLCF/IOA/meta_theory/Abstraction.thy
changeset 62001 1f2788fb0b8b
parent 62000 8cba509ace9c
child 62002 f1599e98c4d0
equal deleted inserted replaced
62000:8cba509ace9c 62001:1f2788fb0b8b
    73   by (simp add: cex_abs_def)
    73   by (simp add: cex_abs_def)
    74 
    74 
    75 lemma cex_abs_nil: "cex_abs f (s,nil) = (f s, nil)"
    75 lemma cex_abs_nil: "cex_abs f (s,nil) = (f s, nil)"
    76   by (simp add: cex_abs_def)
    76   by (simp add: cex_abs_def)
    77 
    77 
    78 lemma cex_abs_cons: "cex_abs f (s,(a,t)>>ex) = (f s, (a,f t) >> (snd (cex_abs f (t,ex))))"
    78 lemma cex_abs_cons: "cex_abs f (s,(a,t)\<leadsto>ex) = (f s, (a,f t) \<leadsto> (snd (cex_abs f (t,ex))))"
    79   by (simp add: cex_abs_def)
    79   by (simp add: cex_abs_def)
    80 
    80 
    81 declare cex_abs_UU [simp] cex_abs_nil [simp] cex_abs_cons [simp]
    81 declare cex_abs_UU [simp] cex_abs_nil [simp] cex_abs_cons [simp]
    82 
    82 
    83 
    83 
   175 
   175 
   176 lemma abstraction_is_ref_map:
   176 lemma abstraction_is_ref_map:
   177 "is_abstraction h C A ==> is_ref_map h C A"
   177 "is_abstraction h C A ==> is_ref_map h C A"
   178 apply (unfold is_abstraction_def is_ref_map_def)
   178 apply (unfold is_abstraction_def is_ref_map_def)
   179 apply auto
   179 apply auto
   180 apply (rule_tac x = "(a,h t) >>nil" in exI)
   180 apply (rule_tac x = "(a,h t) \<leadsto>nil" in exI)
   181 apply (simp add: move_def)
   181 apply (simp add: move_def)
   182 done
   182 done
   183 
   183 
   184 
   184 
   185 lemma abs_safety: "[| inp(C)=inp(A); out(C)=out(A);
   185 lemma abs_safety: "[| inp(C)=inp(A); out(C)=out(A);