[STATEMENT]
lemma inter_guards_execn_Normal_Fault:
  "\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile>\<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk>
        \<Longrightarrow> (\<Gamma>\<turnstile>\<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile>\<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
proof (induct c1)
[PROOF STATE]
proof (state)
goal (11 subgoals):
 1. \<And>c c2 s n. \<lbrakk>(Skip \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Skip,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Basic x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Basic x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>(Spec x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Spec x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 11 subgoals...
[PROOF STEP]
case Skip
[PROOF STATE]
proof (state)
this:
(Skip \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (11 subgoals):
 1. \<And>c c2 s n. \<lbrakk>(Skip \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Skip,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Basic x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Basic x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>(Spec x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Spec x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 11 subgoals...
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
(Skip \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Skip,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce simp add: inter_guards_Skip)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Skip,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (10 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>(Basic x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Basic x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Spec x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Spec x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (10 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>(Basic x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Basic x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Spec x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Spec x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Basic f)
[PROOF STATE]
proof (state)
this:
(Basic f \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (10 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>(Basic x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Basic x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Spec x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Spec x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
(Basic f \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Basic f,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce simp add: inter_guards_Basic)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Basic f,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (9 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>(Spec x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Spec x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (9 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>(Spec x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Spec x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Spec r)
[PROOF STATE]
proof (state)
this:
(Spec r \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (9 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>(Spec x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Spec x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
(Spec r \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Spec r,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce simp add: inter_guards_Spec)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Spec r,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (8 subgoals):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (8 subgoals):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Seq a1 a2)
[PROOF STATE]
proof (state)
this:
\<lbrakk>(a1 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>a1,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
\<lbrakk>(a2 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>a2,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
(Seq a1 a2 \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (8 subgoals):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "(Seq a1 a2 \<inter>\<^sub>g c2) = Some c"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (Seq a1 a2 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
(Seq a1 a2 \<inter>\<^sub>g c2) = Some c

goal (8 subgoals):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
(Seq a1 a2 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
obtain b1 b2 d1 d2 where
    c2: "c2=Seq b1 b2" and
    d1: "(a1 \<inter>\<^sub>g b1) = Some d1" and d2: "(a2 \<inter>\<^sub>g b2) = Some d2" and
    c: "c=Seq d1 d2"
[PROOF STATE]
proof (prove)
using this:
(Seq a1 a2 \<inter>\<^sub>g c2) = Some c

goal (1 subgoal):
 1. (\<And>b1 b2 d1 d2. \<lbrakk>c2 = Seq b1 b2; (a1 \<inter>\<^sub>g b1) = Some d1; (a2 \<inter>\<^sub>g b2) = Some d2; c = Seq d1 d2\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp add: inter_guards_Seq)
[PROOF STATE]
proof (state)
this:
c2 = Seq b1 b2
(a1 \<inter>\<^sub>g b1) = Some d1
(a2 \<inter>\<^sub>g b2) = Some d2
c = Seq d1 d2

goal (8 subgoals):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (8 subgoals):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with c
[PROOF STATE]
proof (chain)
picking this:
c = Seq d1 d2
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
obtain s' where
    exec_d1: "\<Gamma>\<turnstile>\<langle>d1,Normal s\<rangle> =n\<Rightarrow> s'" and
    exec_d2: "\<Gamma>\<turnstile>\<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
c = Seq d1 d2
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. (\<And>s'. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> s'; \<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto elim: execn_Normal_elim_cases)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> s'
\<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f

goal (8 subgoals):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Seq c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
proof (cases s')
[PROOF STATE]
proof (state)
goal (4 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x3. s' = Fault x3 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Fault f')
[PROOF STATE]
proof (state)
this:
s' = Fault f'

goal (4 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x3. s' = Fault x3 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with exec_d2
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f
s' = Fault f'
[PROOF STEP]
have "f'=f"
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f
s' = Fault f'

goal (1 subgoal):
 1. f' = f
[PROOF STEP]
by (auto dest: execn_Fault_end)
[PROOF STATE]
proof (state)
this:
f' = f

goal (4 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x3. s' = Fault x3 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with Fault d1 exec_d1
[PROOF STATE]
proof (chain)
picking this:
s' = Fault f'
(a1 \<inter>\<^sub>g b1) = Some d1
\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> s'
f' = f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile>\<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
s' = Fault f'
(a1 \<inter>\<^sub>g b1) = Some d1
\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> s'
f' = f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto dest: Seq.hyps)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (4 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x3. s' = Fault x3 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
thus ?thesis
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
proof (cases rule: disjE [consumes 1])
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "\<Gamma>\<turnstile>\<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
hence "\<Gamma>\<turnstile>\<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
thus ?thesis
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "\<Gamma>\<turnstile>\<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
hence "\<Gamma>\<turnstile>\<langle>Seq b1 b2,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq b1 b2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Seq b1 b2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with c2
[PROOF STATE]
proof (chain)
picking this:
c2 = Seq b1 b2
\<Gamma>\<turnstile> \<langle>Seq b1 b2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
c2 = Seq b1 b2
\<Gamma>\<turnstile> \<langle>Seq b1 b2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (3 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (3 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case Abrupt
[PROOF STATE]
proof (state)
this:
s' = Abrupt x2_

goal (3 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with exec_d2
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f
s' = Abrupt x2_
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f
s' = Abrupt x2_

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto dest: execn_Abrupt_end)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case Stuck
[PROOF STATE]
proof (state)
this:
s' = Stuck

goal (2 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with exec_d2
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f
s' = Stuck
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f
s' = Stuck

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto dest: execn_Stuck_end)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Normal s'')
[PROOF STATE]
proof (state)
this:
s' = Normal s''

goal (1 subgoal):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with inter_guards_execn_noFault [OF d1 exec_d1]
[PROOF STATE]
proof (chain)
picking this:
\<not> isFault s' \<Longrightarrow> \<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> s' \<and> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> s'
s' = Normal s''
[PROOF STEP]
obtain
      exec_a1: "\<Gamma>\<turnstile>\<langle>a1,Normal s\<rangle> =n\<Rightarrow> Normal s''" and
      exec_b1: "\<Gamma>\<turnstile>\<langle>b1,Normal s\<rangle> =n\<Rightarrow> Normal s''"
[PROOF STATE]
proof (prove)
using this:
\<not> isFault s' \<Longrightarrow> \<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> s' \<and> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> s'
s' = Normal s''

goal (1 subgoal):
 1. (\<lbrakk>\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Normal s''; \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Normal s''\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Normal s''
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Normal s''

goal (1 subgoal):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Normal s''
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Normal s''

goal (1 subgoal):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
from d2 exec_d2 Normal
[PROOF STATE]
proof (chain)
picking this:
(a2 \<inter>\<^sub>g b2) = Some d2
\<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f
s' = Normal s''
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>a2,Normal s''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile>\<langle>b2,Normal s''\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
(a2 \<inter>\<^sub>g b2) = Some d2
\<Gamma>\<turnstile> \<langle>d2,s'\<rangle> =n\<Rightarrow> Fault f
s' = Normal s''

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>a2,Normal s''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s''\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto dest: Seq.hyps)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>a2,Normal s''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s''\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Normal s''
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Normal s''
\<Gamma>\<turnstile> \<langle>a2,Normal s''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s''\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Normal s''
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Normal s''
\<Gamma>\<turnstile> \<langle>a2,Normal s''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s''\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
using c2
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Normal s''
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Normal s''
\<Gamma>\<turnstile> \<langle>a2,Normal s''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s''\<rangle> =n\<Rightarrow> Fault f
c2 = Seq b1 b2

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Seq a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (7 subgoals):
 1. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (7 subgoals):
 1. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Cond b t1 e1)
[PROOF STATE]
proof (state)
this:
\<lbrakk>(t1 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>t1,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
\<lbrakk>(e1 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>e1,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
(Cond b t1 e1 \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (7 subgoals):
 1. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "(Cond b t1 e1 \<inter>\<^sub>g c2) = Some c"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (Cond b t1 e1 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
(Cond b t1 e1 \<inter>\<^sub>g c2) = Some c

goal (7 subgoals):
 1. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
(Cond b t1 e1 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
obtain t2 e2 t e where
    c2: "c2=Cond b t2 e2" and
    t: "(t1 \<inter>\<^sub>g t2) = Some t" and
    e: "(e1 \<inter>\<^sub>g e2) = Some e" and
    c: "c=Cond b t e"
[PROOF STATE]
proof (prove)
using this:
(Cond b t1 e1 \<inter>\<^sub>g c2) = Some c

goal (1 subgoal):
 1. (\<And>t2 e2 t e. \<lbrakk>c2 = Cond b t2 e2; (t1 \<inter>\<^sub>g t2) = Some t; (e1 \<inter>\<^sub>g e2) = Some e; c = Cond b t e\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp add: inter_guards_Cond)
[PROOF STATE]
proof (state)
this:
c2 = Cond b t2 e2
(t1 \<inter>\<^sub>g t2) = Some t
(e1 \<inter>\<^sub>g e2) = Some e
c = Cond b t e

goal (7 subgoals):
 1. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (7 subgoals):
 1. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with c
[PROOF STATE]
proof (chain)
picking this:
c = Cond b t e
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>Cond b t e,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
c = Cond b t e
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Cond b t e,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Cond b t e,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (7 subgoals):
 1. \<And>x1 c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Cond x1 c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond x1 c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>Cond b t e,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
proof (cases)
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<lbrakk>s \<in> b; \<Gamma>\<turnstile> \<langle>t,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "s \<in> b"
[PROOF STATE]
proof (state)
this:
s \<in> b

goal (2 subgoals):
 1. \<lbrakk>s \<in> b; \<Gamma>\<turnstile> \<langle>t,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
s \<in> b

goal (2 subgoals):
 1. \<lbrakk>s \<in> b; \<Gamma>\<turnstile> \<langle>t,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "\<Gamma>\<turnstile>\<langle>t,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>t,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<lbrakk>s \<in> b; \<Gamma>\<turnstile> \<langle>t,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with t
[PROOF STATE]
proof (chain)
picking this:
(t1 \<inter>\<^sub>g t2) = Some t
\<Gamma>\<turnstile> \<langle>t,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>t1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile>\<langle>t2,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
(t1 \<inter>\<^sub>g t2) = Some t
\<Gamma>\<turnstile> \<langle>t,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>t1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>t2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto dest: Cond.hyps)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>t1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>t2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<lbrakk>s \<in> b; \<Gamma>\<turnstile> \<langle>t,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
s \<in> b
\<Gamma>\<turnstile> \<langle>t1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>t2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
s \<in> b
\<Gamma>\<turnstile> \<langle>t1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>t2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
using c2 c
[PROOF STATE]
proof (prove)
using this:
s \<in> b
\<Gamma>\<turnstile> \<langle>t1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>t2,Normal s\<rangle> =n\<Rightarrow> Fault f
c2 = Cond b t2 e2
c = Cond b t e

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "s \<notin> b"
[PROOF STATE]
proof (state)
this:
s \<notin> b

goal (1 subgoal):
 1. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
s \<notin> b

goal (1 subgoal):
 1. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "\<Gamma>\<turnstile>\<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with e
[PROOF STATE]
proof (chain)
picking this:
(e1 \<inter>\<^sub>g e2) = Some e
\<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile>\<langle>e2,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
(e1 \<inter>\<^sub>g e2) = Some e
\<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>e2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto dest: Cond.hyps)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>e2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<lbrakk>s \<notin> b; \<Gamma>\<turnstile> \<langle>e,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
s \<notin> b
\<Gamma>\<turnstile> \<langle>e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>e2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
s \<notin> b
\<Gamma>\<turnstile> \<langle>e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>e2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
using c2 c
[PROOF STATE]
proof (prove)
using this:
s \<notin> b
\<Gamma>\<turnstile> \<langle>e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>e2,Normal s\<rangle> =n\<Rightarrow> Fault f
c2 = Cond b t2 e2
c = Cond b t e

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Cond b t1 e1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (While b bdy1)
[PROOF STATE]
proof (state)
this:
\<lbrakk>(bdy1 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>bdy1,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
(While b bdy1 \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "(While b bdy1 \<inter>\<^sub>g c2) = Some c"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (While b bdy1 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
(While b bdy1 \<inter>\<^sub>g c2) = Some c

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
(While b bdy1 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
obtain bdy2 bdy where
    c2: "c2=While b bdy2" and
    bdy: "(bdy1 \<inter>\<^sub>g bdy2) = Some bdy" and
    c: "c=While b bdy"
[PROOF STATE]
proof (prove)
using this:
(While b bdy1 \<inter>\<^sub>g c2) = Some c

goal (1 subgoal):
 1. (\<And>bdy2 bdy. \<lbrakk>c2 = While b bdy2; (bdy1 \<inter>\<^sub>g bdy2) = Some bdy; c = While b bdy\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp add: inter_guards_While)
[PROOF STATE]
proof (state)
this:
c2 = While b bdy2
(bdy1 \<inter>\<^sub>g bdy2) = Some bdy
c = While b bdy

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have exec_c: "\<Gamma>\<turnstile>\<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
{
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
fix s t n w w1 w2
[PROOF STATE]
proof (state)
goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume exec_w: "\<Gamma>\<turnstile>\<langle>w,Normal s\<rangle> =n\<Rightarrow> t"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>w,Normal s\<rangle> =n\<Rightarrow> t

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume w: "w=While b bdy"
[PROOF STATE]
proof (state)
this:
w = While b bdy

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume Fault: "t=Fault f"
[PROOF STATE]
proof (state)
this:
t = Fault f

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
from exec_w w Fault
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>w,Normal s\<rangle> =n\<Rightarrow> t
w = While b bdy
t = Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f\<or>
          \<Gamma>\<turnstile>\<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>w,Normal s\<rangle> =n\<Rightarrow> t
w = While b bdy
t = Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
proof (induct)
[PROOF STATE]
proof (state)
goal (20 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 20 subgoals...
[PROOF STEP]
case (WhileTrue s b' bdy' n  s' s'')
[PROOF STATE]
proof (state)
this:
s \<in> b'
\<Gamma>\<turnstile> \<langle>bdy',Normal s\<rangle> =n\<Rightarrow> s'
\<lbrakk>bdy' = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
\<Gamma>\<turnstile> \<langle>While b' bdy',s'\<rangle> =n\<Rightarrow> s''
\<lbrakk>While b' bdy' = While b bdy; s'' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f
While b' bdy' = While b bdy
s'' = Fault f

goal (20 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 20 subgoals...
[PROOF STEP]
have eqs: "While b' bdy' = While b bdy"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. While b' bdy' = While b bdy
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
While b' bdy' = While b bdy

goal (20 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 20 subgoals...
[PROOF STEP]
from WhileTrue
[PROOF STATE]
proof (chain)
picking this:
s \<in> b'
\<Gamma>\<turnstile> \<langle>bdy',Normal s\<rangle> =n\<Rightarrow> s'
\<lbrakk>bdy' = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
\<Gamma>\<turnstile> \<langle>While b' bdy',s'\<rangle> =n\<Rightarrow> s''
\<lbrakk>While b' bdy' = While b bdy; s'' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f
While b' bdy' = While b bdy
s'' = Fault f
[PROOF STEP]
have s_in_b: "s \<in> b"
[PROOF STATE]
proof (prove)
using this:
s \<in> b'
\<Gamma>\<turnstile> \<langle>bdy',Normal s\<rangle> =n\<Rightarrow> s'
\<lbrakk>bdy' = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
\<Gamma>\<turnstile> \<langle>While b' bdy',s'\<rangle> =n\<Rightarrow> s''
\<lbrakk>While b' bdy' = While b bdy; s'' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f
While b' bdy' = While b bdy
s'' = Fault f

goal (1 subgoal):
 1. s \<in> b
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
s \<in> b

goal (20 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 20 subgoals...
[PROOF STEP]
have Fault_s'': "s''=Fault f"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. s'' = Fault f
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
s'' = Fault f

goal (20 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 20 subgoals...
[PROOF STEP]
from WhileTrue
[PROOF STATE]
proof (chain)
picking this:
s \<in> b'
\<Gamma>\<turnstile> \<langle>bdy',Normal s\<rangle> =n\<Rightarrow> s'
\<lbrakk>bdy' = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
\<Gamma>\<turnstile> \<langle>While b' bdy',s'\<rangle> =n\<Rightarrow> s''
\<lbrakk>While b' bdy' = While b bdy; s'' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f
While b' bdy' = While b bdy
s'' = Fault f
[PROOF STEP]
have exec_bdy: "\<Gamma>\<turnstile>\<langle>bdy,Normal s\<rangle> =n\<Rightarrow> s'"
[PROOF STATE]
proof (prove)
using this:
s \<in> b'
\<Gamma>\<turnstile> \<langle>bdy',Normal s\<rangle> =n\<Rightarrow> s'
\<lbrakk>bdy' = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
\<Gamma>\<turnstile> \<langle>While b' bdy',s'\<rangle> =n\<Rightarrow> s''
\<lbrakk>While b' bdy' = While b bdy; s'' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f
While b' bdy' = While b bdy
s'' = Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> s'
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> s'

goal (20 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 20 subgoals...
[PROOF STEP]
from WhileTrue
[PROOF STATE]
proof (chain)
picking this:
s \<in> b'
\<Gamma>\<turnstile> \<langle>bdy',Normal s\<rangle> =n\<Rightarrow> s'
\<lbrakk>bdy' = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
\<Gamma>\<turnstile> \<langle>While b' bdy',s'\<rangle> =n\<Rightarrow> s''
\<lbrakk>While b' bdy' = While b bdy; s'' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f
While b' bdy' = While b bdy
s'' = Fault f
[PROOF STEP]
have exec_w: "\<Gamma>\<turnstile>\<langle>While b bdy,s'\<rangle> =n\<Rightarrow> s''"
[PROOF STATE]
proof (prove)
using this:
s \<in> b'
\<Gamma>\<turnstile> \<langle>bdy',Normal s\<rangle> =n\<Rightarrow> s'
\<lbrakk>bdy' = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
\<Gamma>\<turnstile> \<langle>While b' bdy',s'\<rangle> =n\<Rightarrow> s''
\<lbrakk>While b' bdy' = While b bdy; s'' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f
While b' bdy' = While b bdy
s'' = Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy,s'\<rangle> =n\<Rightarrow> s''
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy,s'\<rangle> =n\<Rightarrow> s''

goal (20 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 20 subgoals...
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
proof (cases s')
[PROOF STATE]
proof (state)
goal (4 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x3. s' = Fault x3 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Fault f')
[PROOF STATE]
proof (state)
this:
s' = Fault f'

goal (4 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x3. s' = Fault x3 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with exec_w Fault_s''
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>While b bdy,s'\<rangle> =n\<Rightarrow> s''
s'' = Fault f
s' = Fault f'
[PROOF STEP]
have "f'=f"
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>While b bdy,s'\<rangle> =n\<Rightarrow> s''
s'' = Fault f
s' = Fault f'

goal (1 subgoal):
 1. f' = f
[PROOF STEP]
by (auto dest: execn_Fault_end)
[PROOF STATE]
proof (state)
this:
f' = f

goal (4 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x3. s' = Fault x3 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with Fault exec_bdy bdy While.hyps
[PROOF STATE]
proof (chain)
picking this:
s' = Fault f'
\<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> s'
(bdy1 \<inter>\<^sub>g bdy2) = Some bdy
\<lbrakk>(bdy1 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>bdy1,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
f' = f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile>\<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
s' = Fault f'
\<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> s'
(bdy1 \<inter>\<^sub>g bdy2) = Some bdy
\<lbrakk>(bdy1 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>bdy1,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
f' = f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (4 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x3. s' = Fault x3 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with s_in_b
[PROOF STATE]
proof (chain)
picking this:
s \<in> b
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
s \<in> b
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (3 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (3 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Normal s''')
[PROOF STATE]
proof (state)
this:
s' = Normal s'''

goal (3 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with inter_guards_execn_noFault [OF bdy exec_bdy]
[PROOF STATE]
proof (chain)
picking this:
\<not> isFault s' \<Longrightarrow> \<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> s' \<and> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> s'
s' = Normal s'''
[PROOF STEP]
obtain "\<Gamma>\<turnstile>\<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Normal s'''"
               "\<Gamma>\<turnstile>\<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Normal s'''"
[PROOF STATE]
proof (prove)
using this:
\<not> isFault s' \<Longrightarrow> \<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> s' \<and> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> s'
s' = Normal s'''

goal (1 subgoal):
 1. (\<lbrakk>\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Normal s'''; \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Normal s'''\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Normal s'''
\<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Normal s'''

goal (3 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Normal s'''
\<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Normal s'''

goal (3 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
from Normal WhileTrue
[PROOF STATE]
proof (chain)
picking this:
s' = Normal s'''
s \<in> b'
\<Gamma>\<turnstile> \<langle>bdy',Normal s\<rangle> =n\<Rightarrow> s'
\<lbrakk>bdy' = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
\<Gamma>\<turnstile> \<langle>While b' bdy',s'\<rangle> =n\<Rightarrow> s''
\<lbrakk>While b' bdy' = While b bdy; s'' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f
While b' bdy' = While b bdy
s'' = Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>While b bdy1,Normal s'''\<rangle> =n\<Rightarrow> Fault f \<or>
              \<Gamma>\<turnstile>\<langle>While b bdy2,Normal s'''\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
s' = Normal s'''
s \<in> b'
\<Gamma>\<turnstile> \<langle>bdy',Normal s\<rangle> =n\<Rightarrow> s'
\<lbrakk>bdy' = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
\<Gamma>\<turnstile> \<langle>While b' bdy',s'\<rangle> =n\<Rightarrow> s''
\<lbrakk>While b' bdy' = While b bdy; s'' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f
While b' bdy' = While b bdy
s'' = Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s'''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s'''\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s'''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s'''\<rangle> =n\<Rightarrow> Fault f

goal (3 subgoals):
 1. \<And>x1. s' = Normal x1 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Normal s'''
\<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Normal s'''
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s'''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s'''\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Normal s'''
\<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Normal s'''
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s'''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s'''\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
using s_in_b
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Normal s'''
\<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Normal s'''
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s'''\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s'''\<rangle> =n\<Rightarrow> Fault f
s \<in> b

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Abrupt s''')
[PROOF STATE]
proof (state)
this:
s' = Abrupt s'''

goal (2 subgoals):
 1. \<And>x2. s' = Abrupt x2 \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with exec_w Fault_s''
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>While b bdy,s'\<rangle> =n\<Rightarrow> s''
s'' = Fault f
s' = Abrupt s'''
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>While b bdy,s'\<rangle> =n\<Rightarrow> s''
s'' = Fault f
s' = Abrupt s'''

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce dest: execn_Abrupt_end)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case Stuck
[PROOF STATE]
proof (state)
this:
s' = Stuck

goal (1 subgoal):
 1. s' = Stuck \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with exec_w Fault_s''
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>While b bdy,s'\<rangle> =n\<Rightarrow> s''
s'' = Fault f
s' = Stuck
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>While b bdy,s'\<rangle> =n\<Rightarrow> s''
s'' = Fault f
s' = Stuck

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce dest: execn_Stuck_end)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (19 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 19 subgoals...
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (19 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 19 subgoals...
[PROOF STEP]
case WhileFalse
[PROOF STATE]
proof (state)
this:
s_ \<notin> b_
While b_ c_ = While b bdy
Normal s_ = Fault f

goal (19 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 19 subgoals...
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
s_ \<notin> b_
While b_ c_ = While b bdy
Normal s_ = Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s_\<rangle> =n_\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s_\<rangle> =n_\<Rightarrow> Fault f
[PROOF STEP]
by (auto intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s_\<rangle> =n_\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s_\<rangle> =n_\<Rightarrow> Fault f

goal (18 subgoals):
 1. \<And>s n. \<lbrakk>Skip = While b bdy; Normal s = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>s g c n t fa. \<lbrakk>s \<in> g; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Guard fa g c = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>s g fa c n. \<lbrakk>s \<notin> g; Guard fa g c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c fa n. \<lbrakk>c = While b bdy; Fault fa = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Fault fa\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Fault fa\<rangle> =n\<Rightarrow> Fault f
 5. \<And>fa s n. \<lbrakk>Basic fa = While b bdy; Normal (fa s) = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>s t r n. \<lbrakk>(s, t) \<in> r; Spec r = While b bdy; Normal t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 7. \<And>s r n. \<lbrakk>\<forall>t. (s, t) \<notin> r; Spec r = While b bdy; Stuck = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 8. \<And>c\<^sub>1 s n s' c\<^sub>2 t. \<lbrakk>\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> s'; \<lbrakk>c\<^sub>1 = While b bdy; s' = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<Gamma>\<turnstile> \<langle>c\<^sub>2,s'\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,s'\<rangle> =n\<Rightarrow> Fault f; Seq c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 9. \<And>s ba c\<^sub>1 n t c\<^sub>2. \<lbrakk>s \<in> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>1 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
 10. \<And>s ba c\<^sub>2 n t c\<^sub>1. \<lbrakk>s \<notin> ba; \<Gamma>\<turnstile> \<langle>c\<^sub>2,Normal s\<rangle> =n\<Rightarrow> t; \<lbrakk>c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f; Cond ba c\<^sub>1 c\<^sub>2 = While b bdy; t = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
A total of 18 subgoals...
[PROOF STEP]
qed (simp_all)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
}
[PROOF STATE]
proof (state)
this:
\<lbrakk>\<Gamma>\<turnstile> \<langle>?w2,Normal ?sa2\<rangle> =?na2\<Rightarrow> ?t2; ?w2 = While b bdy; ?t2 = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal ?sa2\<rangle> =?na2\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal ?sa2\<rangle> =?na2\<Rightarrow> Fault f

goal (6 subgoals):
 1. \<And>x1 c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (While x1 c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While x1 c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 6. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with this [OF exec_c c] c2
[PROOF STATE]
proof (chain)
picking this:
Fault f = Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
c2 = While b bdy2
\<lbrakk>\<Gamma>\<turnstile> \<langle>?w2,Normal ?sa2\<rangle> =?na2\<Rightarrow> ?t2; ?w2 = While b bdy; ?t2 = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal ?sa2\<rangle> =?na2\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal ?sa2\<rangle> =?na2\<Rightarrow> Fault f
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
Fault f = Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
c2 = While b bdy2
\<lbrakk>\<Gamma>\<turnstile> \<langle>?w2,Normal ?sa2\<rangle> =?na2\<Rightarrow> ?t2; ?w2 = While b bdy; ?t2 = Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>While b bdy1,Normal ?sa2\<rangle> =?na2\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>While b bdy2,Normal ?sa2\<rangle> =?na2\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>While b bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (5 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (5 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case Call
[PROOF STATE]
proof (state)
this:
(Call x_ \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (5 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>(Call x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Call x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 5. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
(Call x_ \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Call x_,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce simp add: inter_guards_Call)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Call x_,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (4 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (4 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (DynCom f1)
[PROOF STATE]
proof (state)
this:
\<lbrakk>?xa \<in> range f1; (?xa \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>?xa,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
(DynCom f1 \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (4 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "(DynCom f1 \<inter>\<^sub>g c2) = Some c"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (DynCom f1 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
(DynCom f1 \<inter>\<^sub>g c2) = Some c

goal (4 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
(DynCom f1 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
obtain f2  where
    c2: "c2=DynCom f2" and
    F_defined: "\<forall>s. ((f1 s) \<inter>\<^sub>g (f2 s)) \<noteq> None" and
    c: "c=DynCom (\<lambda>s. the ((f1 s) \<inter>\<^sub>g (f2 s)))"
[PROOF STATE]
proof (prove)
using this:
(DynCom f1 \<inter>\<^sub>g c2) = Some c

goal (1 subgoal):
 1. (\<And>f2. \<lbrakk>c2 = DynCom f2; \<forall>s. (f1 s \<inter>\<^sub>g f2 s) \<noteq> None; c = DynCom (\<lambda>s. the (f1 s \<inter>\<^sub>g f2 s))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp add: inter_guards_DynCom)
[PROOF STATE]
proof (state)
this:
c2 = DynCom f2
\<forall>s. (f1 s \<inter>\<^sub>g f2 s) \<noteq> None
c = DynCom (\<lambda>s. the (f1 s \<inter>\<^sub>g f2 s))

goal (4 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (4 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with c
[PROOF STATE]
proof (chain)
picking this:
c = DynCom (\<lambda>s. the (f1 s \<inter>\<^sub>g f2 s))
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>DynCom (\<lambda>s. the ((f1 s) \<inter>\<^sub>g (f2 s))),Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
c = DynCom (\<lambda>s. the (f1 s \<inter>\<^sub>g f2 s))
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>DynCom (\<lambda>s. the (f1 s \<inter>\<^sub>g f2 s)),Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>DynCom (\<lambda>s. the (f1 s \<inter>\<^sub>g f2 s)),Normal s\<rangle> =n\<Rightarrow> Fault f

goal (4 subgoals):
 1. \<And>x c c2 s n. \<lbrakk>\<And>xa c c2 s n. \<lbrakk>xa \<in> range x; (xa \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>xa,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (DynCom x \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom x,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 4. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>DynCom (\<lambda>s. the (f1 s \<inter>\<^sub>g f2 s)),Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>DynCom (\<lambda>s. the (f1 s \<inter>\<^sub>g f2 s)),Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>DynCom f1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
proof (cases)
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>the (f1 s \<inter>\<^sub>g f2 s),Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom f1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume exec_F: "\<Gamma>\<turnstile>\<langle>the (f1 s \<inter>\<^sub>g f2 s),Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>the (f1 s \<inter>\<^sub>g f2 s),Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>the (f1 s \<inter>\<^sub>g f2 s),Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom f1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
from F_defined
[PROOF STATE]
proof (chain)
picking this:
\<forall>s. (f1 s \<inter>\<^sub>g f2 s) \<noteq> None
[PROOF STEP]
obtain F where "(f1 s \<inter>\<^sub>g f2 s) = Some F"
[PROOF STATE]
proof (prove)
using this:
\<forall>s. (f1 s \<inter>\<^sub>g f2 s) \<noteq> None

goal (1 subgoal):
 1. (\<And>F. (f1 s \<inter>\<^sub>g f2 s) = Some F \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
(f1 s \<inter>\<^sub>g f2 s) = Some F

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>the (f1 s \<inter>\<^sub>g f2 s),Normal s\<rangle> =n\<Rightarrow> Fault f \<Longrightarrow> \<Gamma>\<turnstile> \<langle>DynCom f1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with DynCom.hyps this exec_F c2
[PROOF STATE]
proof (chain)
picking this:
\<lbrakk>?xa \<in> range f1; (?xa \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>?xa,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
(f1 s \<inter>\<^sub>g f2 s) = Some F
\<Gamma>\<turnstile> \<langle>the (f1 s \<inter>\<^sub>g f2 s),Normal s\<rangle> =n\<Rightarrow> Fault f
c2 = DynCom f2
(f1 s \<inter>\<^sub>g f2 s) = Some F
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
\<lbrakk>?xa \<in> range f1; (?xa \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>?xa,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
(f1 s \<inter>\<^sub>g f2 s) = Some F
\<Gamma>\<turnstile> \<langle>the (f1 s \<inter>\<^sub>g f2 s),Normal s\<rangle> =n\<Rightarrow> Fault f
c2 = DynCom f2
(f1 s \<inter>\<^sub>g f2 s) = Some F

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>DynCom f1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>DynCom f1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>DynCom f1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (3 subgoals):
 1. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (3 subgoals):
 1. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Guard m g1 bdy1)
[PROOF STATE]
proof (state)
this:
\<lbrakk>(bdy1 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>bdy1,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
(Guard m g1 bdy1 \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (3 subgoals):
 1. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "(Guard m g1 bdy1 \<inter>\<^sub>g c2) = Some c"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (Guard m g1 bdy1 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
(Guard m g1 bdy1 \<inter>\<^sub>g c2) = Some c

goal (3 subgoals):
 1. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
(Guard m g1 bdy1 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
obtain g2 bdy2 bdy where
    c2: "c2=Guard m g2 bdy2" and
    bdy: "(bdy1 \<inter>\<^sub>g bdy2) = Some bdy" and
    c: "c=Guard m (g1 \<inter> g2) bdy"
[PROOF STATE]
proof (prove)
using this:
(Guard m g1 bdy1 \<inter>\<^sub>g c2) = Some c

goal (1 subgoal):
 1. (\<And>g2 bdy2 bdy. \<lbrakk>c2 = Guard m g2 bdy2; (bdy1 \<inter>\<^sub>g bdy2) = Some bdy; c = Guard m (g1 \<inter> g2) bdy\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp add: inter_guards_Guard)
[PROOF STATE]
proof (state)
this:
c2 = Guard m g2 bdy2
(bdy1 \<inter>\<^sub>g bdy2) = Some bdy
c = Guard m (g1 \<inter> g2) bdy

goal (3 subgoals):
 1. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (3 subgoals):
 1. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with c
[PROOF STATE]
proof (chain)
picking this:
c = Guard m (g1 \<inter> g2) bdy
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>Guard m (g1 \<inter> g2) bdy,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
c = Guard m (g1 \<inter> g2) bdy
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Guard m (g1 \<inter> g2) bdy,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Guard m (g1 \<inter> g2) bdy,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (3 subgoals):
 1. \<And>x1 x2a c1 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Guard x1 x2a c1 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard x1 x2a c1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 3. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>Guard m (g1 \<inter> g2) bdy,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
proof (cases)
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>Fault f = Fault m; s \<notin> g1 \<inter> g2\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume f_m: "Fault f = Fault m"
[PROOF STATE]
proof (state)
this:
Fault f = Fault m

goal (2 subgoals):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>Fault f = Fault m; s \<notin> g1 \<inter> g2\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "s \<notin> g1 \<inter> g2"
[PROOF STATE]
proof (state)
this:
s \<notin> g1 \<inter> g2

goal (2 subgoals):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>Fault f = Fault m; s \<notin> g1 \<inter> g2\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
hence "s\<notin>g1 \<or> s\<notin>g2"
[PROOF STATE]
proof (prove)
using this:
s \<notin> g1 \<inter> g2

goal (1 subgoal):
 1. s \<notin> g1 \<or> s \<notin> g2
[PROOF STEP]
by blast
[PROOF STATE]
proof (state)
this:
s \<notin> g1 \<or> s \<notin> g2

goal (2 subgoals):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>Fault f = Fault m; s \<notin> g1 \<inter> g2\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with c2 f_m
[PROOF STATE]
proof (chain)
picking this:
c2 = Guard m g2 bdy2
Fault f = Fault m
s \<notin> g1 \<or> s \<notin> g2
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
c2 = Guard m g2 bdy2
Fault f = Fault m
s \<notin> g1 \<or> s \<notin> g2

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "s \<in> g1 \<inter> g2"
[PROOF STATE]
proof (state)
this:
s \<in> g1 \<inter> g2

goal (1 subgoal):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
s \<in> g1 \<inter> g2

goal (1 subgoal):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "\<Gamma>\<turnstile>\<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with bdy
[PROOF STATE]
proof (chain)
picking this:
(bdy1 \<inter>\<^sub>g bdy2) = Some bdy
\<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile>\<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
(bdy1 \<inter>\<^sub>g bdy2) = Some bdy
\<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (rule Guard.hyps)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<lbrakk>s \<in> g1 \<inter> g2; \<Gamma>\<turnstile> \<langle>bdy,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
s \<in> g1 \<inter> g2
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
s \<in> g1 \<inter> g2
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
using c2
[PROOF STATE]
proof (prove)
using this:
s \<in> g1 \<inter> g2
\<Gamma>\<turnstile> \<langle>bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>bdy2,Normal s\<rangle> =n\<Rightarrow> Fault f
c2 = Guard m g2 bdy2

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Guard m g1 bdy1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case Throw
[PROOF STATE]
proof (state)
this:
(Throw \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<And>c c2 s n. \<lbrakk>(Throw \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
(Throw \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce simp add: inter_guards_Throw)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Throw,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
case (Catch a1 a2)
[PROOF STATE]
proof (state)
this:
\<lbrakk>(a1 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>a1,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
\<lbrakk>(a2 \<inter>\<^sub>g ?c2.0) = Some ?c; \<Gamma>\<turnstile> \<langle>?c,Normal ?s\<rangle> =?n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>a2,Normal ?s\<rangle> =?n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>?c2.0,Normal ?s\<rangle> =?n\<Rightarrow> Fault f
(Catch a1 a2 \<inter>\<^sub>g c2) = Some c
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "(Catch a1 a2 \<inter>\<^sub>g c2) = Some c"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (Catch a1 a2 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
(Catch a1 a2 \<inter>\<^sub>g c2) = Some c

goal (1 subgoal):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
(Catch a1 a2 \<inter>\<^sub>g c2) = Some c
[PROOF STEP]
obtain b1 b2 d1 d2 where
    c2: "c2=Catch b1 b2" and
    d1: "(a1 \<inter>\<^sub>g b1) = Some d1" and d2: "(a2 \<inter>\<^sub>g b2) = Some d2" and
    c: "c=Catch d1 d2"
[PROOF STATE]
proof (prove)
using this:
(Catch a1 a2 \<inter>\<^sub>g c2) = Some c

goal (1 subgoal):
 1. (\<And>b1 b2 d1 d2. \<lbrakk>c2 = Catch b1 b2; (a1 \<inter>\<^sub>g b1) = Some d1; (a2 \<inter>\<^sub>g b2) = Some d2; c = Catch d1 d2\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp add: inter_guards_Catch)
[PROOF STATE]
proof (state)
this:
c2 = Catch b1 b2
(a1 \<inter>\<^sub>g b1) = Some d1
(a2 \<inter>\<^sub>g b2) = Some d2
c = Catch d1 d2

goal (1 subgoal):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by fact
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with c
[PROOF STATE]
proof (chain)
picking this:
c = Catch d1 d2
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>Catch d1 d2,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
c = Catch d1 d2
\<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Catch d1 d2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Catch d1 d2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<And>c11 c12 c c2 s n. \<lbrakk>\<And>c c2 s n. \<lbrakk>(c11 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c11,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; \<And>c c2 s n. \<lbrakk>(c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f; (Catch c11 c12 \<inter>\<^sub>g c2) = Some c; \<Gamma>\<turnstile> \<langle>c,Normal s\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch c11 c12,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>Catch d1 d2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
proof (cases)
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<And>s'. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'; \<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
fix s'
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<And>s'. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'; \<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "\<Gamma>\<turnstile>\<langle>d1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'

goal (2 subgoals):
 1. \<And>s'. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'; \<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
from inter_guards_execn_noFault [OF d1 this]
[PROOF STATE]
proof (chain)
picking this:
\<not> isFault (Abrupt s') \<Longrightarrow> \<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Abrupt s' \<and> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'
[PROOF STEP]
obtain
      exec_a1: "\<Gamma>\<turnstile>\<langle>a1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'" and
      exec_b1: "\<Gamma>\<turnstile>\<langle>b1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'"
[PROOF STATE]
proof (prove)
using this:
\<not> isFault (Abrupt s') \<Longrightarrow> \<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Abrupt s' \<and> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'

goal (1 subgoal):
 1. (\<lbrakk>\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'; \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'

goal (2 subgoals):
 1. \<And>s'. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'; \<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'

goal (2 subgoals):
 1. \<And>s'. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'; \<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume  "\<Gamma>\<turnstile>\<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<And>s'. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'; \<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with d2
[PROOF STATE]
proof (chain)
picking this:
(a2 \<inter>\<^sub>g b2) = Some d2
\<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>a2,Normal s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile>\<langle>b2,Normal s'\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
(a2 \<inter>\<^sub>g b2) = Some d2
\<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>a2,Normal s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s'\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto dest: Catch.hyps)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>a2,Normal s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s'\<rangle> =n\<Rightarrow> Fault f

goal (2 subgoals):
 1. \<And>s'. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'; \<Gamma>\<turnstile> \<langle>d2,Normal s'\<rangle> =n\<Rightarrow> Fault f\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
 2. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'
\<Gamma>\<turnstile> \<langle>a2,Normal s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s'\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'
\<Gamma>\<turnstile> \<langle>a2,Normal s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s'\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
using c2
[PROOF STATE]
proof (prove)
using this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'
\<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Abrupt s'
\<Gamma>\<turnstile> \<langle>a2,Normal s'\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b2,Normal s'\<rangle> =n\<Rightarrow> Fault f
c2 = Catch b1 b2

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
assume "\<Gamma>\<turnstile>\<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with d1
[PROOF STATE]
proof (chain)
picking this:
(a1 \<inter>\<^sub>g b1) = Some d1
\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
have "\<Gamma>\<turnstile>\<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile>\<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f"
[PROOF STATE]
proof (prove)
using this:
(a1 \<inter>\<^sub>g b1) = Some d1
\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (auto dest: Catch.hyps)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<lbrakk>\<Gamma>\<turnstile> \<langle>d1,Normal s\<rangle> =n\<Rightarrow> Fault f; \<not> isAbr (Fault f)\<rbrakk> \<Longrightarrow> \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
with c2
[PROOF STATE]
proof (chain)
picking this:
c2 = Catch b1 b2
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
c2 = Catch b1 b2
\<Gamma>\<turnstile> \<langle>a1,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>b1,Normal s\<rangle> =n\<Rightarrow> Fault f

goal (1 subgoal):
 1. \<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f
[PROOF STEP]
by (fastforce intro: execn.intros)
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<Gamma>\<turnstile> \<langle>Catch a1 a2,Normal s\<rangle> =n\<Rightarrow> Fault f \<or> \<Gamma>\<turnstile> \<langle>c2,Normal s\<rangle> =n\<Rightarrow> Fault f

goal:
No subgoals!
[PROOF STEP]
qed