definition ProjB :: "('a, 's \ 't) execution \ ('a, 't) execution" where(* : HOL/HOLCF/IOA/CompoExecsjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
definitionw " ex snd (fst ), ProjB2java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
where java.lang.NullPointerException
" sig ex = ( ex, sig where"
definition stutter2 :: "'a signature \ ('a, 's) pairs \ ('s \ tr)" where"stutter2 sig = fix\<cdot>
(LAM.
(lambda of case\<Rightarrow> TT # \<Rightarrow> Def p <otin) then p) TT
| x ## xs \<Rightarrow>
flift1
(\<lambda>p.wherestutter "a' Rightarrowt
andalso " ExecsA =
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 by (simp
Filter_ex2_nil \<cdot> nil = nil"
lter_ex2_def
lter_ex2_cons \<Rightarrow> TT
(if fst at then
else Filter_ex2 Def( p <> sig s p) TT by (simp add: Filter_ex2_def)
subsection \<open>\<open>stutter2\<close>\<close>
lemma stutter2_unfold (rule) " sig =
(simp:stutter2_def
( case ex of simp: flift1_def
nil
| x ## xs \<Rightarrow>
(flift1
(\<lambda>p.
(IfDef (fst p \<notin> actions sig) then Def (s= snd p) else TT)
andalso applysimp apply (rule trans) apply (rule fix_eq2) apply (simp only: stutter2_def done apply ( beta_cfun) apply (subst) done
lemma stutter2_UU: "(stutter2 sig \ UU) s = UU" apply (subst stutter2_unfold) apply simp done
apply simp
(subst) apply simp done
lemma stutter2_cons stutter2_cons " (stutter2sig (at \ xs)) s =
(( fst \<notin> actions sig then Def (s = snd at) else TT)
andalso(stutter2 sig \<cdot> xs) (snd at))" apply(rule trans
(ubst) apply (simp add (simp add flift1_defIf_and_if apply java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
declare
subsection addstutter_def)
lemma stutter_UU: "stutter sig (s, UU)" by (simp addjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lemma stutter_nil: tter_def)
lemma: "stutter sig (s, (a,t ex) \ (a \ actions sig \ (s = t)) \ stutter sig (t, ex)"
simp
declare stutter2_UU del stutter2_nil del [simpdel
lemmas = ProjA2_niljava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
ProjB2_nil
stutter_nilstutter_cons
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
declare
java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
lemma lemma_1_1a:is_exec_frag A( s, Filter_ex2 A) \<cdot> (ProjA2 \<cdot> xs)) \<and>
java.lang.StringIndexOutOfBoundsException: Index 151 out of bounds for length 151 "\s. is_exec_frag (A \ B) (s, xs) \
is_exec_frag A (fst s, Filter_ex2 (asig_of A) \<cdot> (ProjA2 \<cdot> xs)) \<and>
is_exec_frag ( s, Filter_ex2 B) \<cdot> (ProjB2 \<cdot> xs))" apply pair_induct : is_exec_frag_def text\<open>main case\<close> applylemma lemma_1_1b: done
lemma lemma_1_1b: \<comment> \<open>\<open>is_ex_fr (A \<parallel> B)\<close> implies stuttering on projections\<close> "\s. is_exec_frag (A \ B) (s, xs) \
stutter (asig_of A) (fst s, ProjA2 \<cdot> xs) \<and>
stutter (asig_of B) (snd s, ProjB2 \<cdot> xs)" apply (pair_induct xs simp: stutter_def is_exec_frag_def) text\<open>main case\<close> apply (auto simp add: trans_of_defs2) done
lemma lemma_1_1c
> \<open>Executions of \<open>A \<parallel> B\<close> have only \<open>A\<close>- or \<open>B\<close>-actions\<close> "\s. is_exec_frag (A \ B) (s, xs) \ Forall (\x. fst x \ act (A \ B)) xs" apply (pair_induct xs: Forall_def is_exec_frag_def text\<open>main case\<close>text apply auto apply (simp done
lemma lemma_1_2\<comment> \<open>Executions of \<open>A \<parallel> B\<close> have only \<open>A\<close>- or \<open>B\<close>-actions\<close> \<comment> \<open>\<open>ex A\<close>, \<open>exB\<close>, stuttering and forall \<open>a \<in> A \<parallel> B\<close> implies \<open>ex (A \<parallel> B)\<close>\<close> simp sforall_defis_exec_frag_def "
is_exec_frag A (fst java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
is_exec_frag B (snd s, Filter_ex2 (asig_of B <cdot> (ProjB2 \<cdot> xs)) \<and>
stutter (asig_of A) (fst s, ProjA2 \<cdot> xs) \<and>
stutter
Forall
is_exec_frag A \<parallel> B) (s, xs)" apply (pair_induct xs simp: Forall_def sforall_def is_exec_frag_def B (snd,Filter_ex2 B) \<cdot> (ProjB2 \<cdot> xs)) \<and> apply( simp addtrans_of_defs1 asig_of_par done