src/HOL/HOLCF/IOA/meta_theory/CompoExecs.thy
changeset 62001 1f2788fb0b8b
parent 61999 89291b5d0ede
child 62002 f1599e98c4d0
equal deleted inserted replaced
62000:8cba509ace9c 62001:1f2788fb0b8b
    79 
    79 
    80 lemma ProjA2_nil: "ProjA2$nil = nil"
    80 lemma ProjA2_nil: "ProjA2$nil = nil"
    81 apply (simp add: ProjA2_def)
    81 apply (simp add: ProjA2_def)
    82 done
    82 done
    83 
    83 
    84 lemma ProjA2_cons: "ProjA2$((a,t)>>xs) = (a,fst t) >> ProjA2$xs"
    84 lemma ProjA2_cons: "ProjA2$((a,t)\<leadsto>xs) = (a,fst t) \<leadsto> ProjA2$xs"
    85 apply (simp add: ProjA2_def)
    85 apply (simp add: ProjA2_def)
    86 done
    86 done
    87 
    87 
    88 
    88 
    89 (* ---------------------------------------------------------------- *)
    89 (* ---------------------------------------------------------------- *)
    97 
    97 
    98 lemma ProjB2_nil: "ProjB2$nil = nil"
    98 lemma ProjB2_nil: "ProjB2$nil = nil"
    99 apply (simp add: ProjB2_def)
    99 apply (simp add: ProjB2_def)
   100 done
   100 done
   101 
   101 
   102 lemma ProjB2_cons: "ProjB2$((a,t)>>xs) = (a,snd t) >> ProjB2$xs"
   102 lemma ProjB2_cons: "ProjB2$((a,t)\<leadsto>xs) = (a,snd t) \<leadsto> ProjB2$xs"
   103 apply (simp add: ProjB2_def)
   103 apply (simp add: ProjB2_def)
   104 done
   104 done
   105 
   105 
   106 
   106 
   107 
   107 
   116 
   116 
   117 lemma Filter_ex2_nil: "Filter_ex2 sig$nil=nil"
   117 lemma Filter_ex2_nil: "Filter_ex2 sig$nil=nil"
   118 apply (simp add: Filter_ex2_def)
   118 apply (simp add: Filter_ex2_def)
   119 done
   119 done
   120 
   120 
   121 lemma Filter_ex2_cons: "Filter_ex2 sig$(at >> xs) =
   121 lemma Filter_ex2_cons: "Filter_ex2 sig$(at \<leadsto> xs) =
   122              (if (fst at:actions sig)
   122              (if (fst at:actions sig)
   123                   then at >> (Filter_ex2 sig$xs)
   123                   then at \<leadsto> (Filter_ex2 sig$xs)
   124                   else        Filter_ex2 sig$xs)"
   124                   else        Filter_ex2 sig$xs)"
   125 
   125 
   126 apply (simp add: Filter_ex2_def)
   126 apply (simp add: Filter_ex2_def)
   127 done
   127 done
   128 
   128 
   156 lemma stutter2_nil: "(stutter2 sig$nil) s = TT"
   156 lemma stutter2_nil: "(stutter2 sig$nil) s = TT"
   157 apply (subst stutter2_unfold)
   157 apply (subst stutter2_unfold)
   158 apply simp
   158 apply simp
   159 done
   159 done
   160 
   160 
   161 lemma stutter2_cons: "(stutter2 sig$(at>>xs)) s =
   161 lemma stutter2_cons: "(stutter2 sig$(at\<leadsto>xs)) s =
   162                ((if (fst at)~:actions sig then Def (s=snd at) else TT)
   162                ((if (fst at)~:actions sig then Def (s=snd at) else TT)
   163                  andalso (stutter2 sig$xs) (snd at))"
   163                  andalso (stutter2 sig$xs) (snd at))"
   164 apply (rule trans)
   164 apply (rule trans)
   165 apply (subst stutter2_unfold)
   165 apply (subst stutter2_unfold)
   166 apply (simp add: Consq_def flift1_def If_and_if)
   166 apply (simp add: Consq_def flift1_def If_and_if)
   181 
   181 
   182 lemma stutter_nil: "stutter sig (s, nil)"
   182 lemma stutter_nil: "stutter sig (s, nil)"
   183 apply (simp add: stutter_def)
   183 apply (simp add: stutter_def)
   184 done
   184 done
   185 
   185 
   186 lemma stutter_cons: "stutter sig (s, (a,t)>>ex) =
   186 lemma stutter_cons: "stutter sig (s, (a,t)\<leadsto>ex) =
   187       ((a~:actions sig --> (s=t)) & stutter sig (t,ex))"
   187       ((a~:actions sig --> (s=t)) & stutter sig (t,ex))"
   188 apply (simp add: stutter_def)
   188 apply (simp add: stutter_def)
   189 done
   189 done
   190 
   190 
   191 (* ----------------------------------------------------------------------------------- *)
   191 (* ----------------------------------------------------------------------------------- *)