cases: fixes \<Gamma> :: "'d \<Rightarrow> ('e, 'd, 'f) com option"   and a1 :: "('e, 'd, 'f) com"   and a2 :: "('e, 'f) xstate"   and a3 :: "nat"   and a4 :: "('e, 'f) xstate" assumes "\<Gamma>\<turnstile> \<langle>a1,a2\<rangle> =a3\<Rightarrow> a4" obtains s :: "'e" and n :: "nat" where "a1 = Skip" and "a2 = Normal sb__" and "a3 = n__" and "a4 = Normal sb__"   | s :: "'e" and g :: "'e set" and c :: "('e, 'd, 'f) com" and n :: "nat" and t :: "('e, 'f) xstate" and f :: "'f" where "a1 = Guard f__ g__ ca__" and "a2 = Normal sc__" and "a3 = na__" and "a4 = tb__" and "sc__ \<in> g__" and "\<Gamma>\<turnstile> \<langle>ca__,Normal sc__\<rangle> =na__\<Rightarrow> tb__"   | s :: "'e" and g :: "'e set" and f :: "'f" and c :: "('e, 'd, 'f) com" and n :: "nat" where "a1 = Guard fa__ g cb__" and "a2 = Normal sd__" and "a3 = nb__" and "a4 = Fault fa__" and "sd__ \<notin> g"   | c :: "('e, 'd, 'f) com" and f :: "'f" and n :: "nat" where "a1 = cc__" and "a2 = Fault fb__" and "a3 = nc__" and "a4 = Fault fb__"   | f :: "'e \<Rightarrow> 'e" and s :: "'e" and n :: "nat" where "a1 = Basic f" and "a2 = Normal se__" and "a3 = nd__" and "a4 = Normal (f se__)"   | s :: "'e" and t :: "'e" and r :: "('e \<times> 'e) set" and n :: "nat" where "a1 = Spec r__" and "a2 = Normal sf__" and "a3 = ne__" and "a4 = Normal tc__" and "(sf__, tc__) \<in> r__"   | s :: "'e" and r :: "('e \<times> 'e) set" and n :: "nat" where "a1 = Spec r" and "a2 = Normal sg__" and "a3 = nf__" and "a4 = Stuck" and "\<forall>t. (sg__, t) \<notin> r"   | c\<^sub>1 :: "('e, 'd, 'f) com" and s :: "'e" and n :: "nat" and s' :: "('e, 'f) xstate" and c\<^sub>2 :: "('e, 'd, 'f) com" and t :: "('e, 'f) xstate" where "a1 = Seq c\<^sub>1__ c\<^sub>2__" and "a2 = Normal sh__" and "a3 = ng__" and "a4 = td__" and "\<Gamma>\<turnstile> \<langle>c\<^sub>1__,Normal sh__\<rangle> =ng__\<Rightarrow> s'__" and "\<Gamma>\<turnstile> \<langle>c\<^sub>2__,s'__\<rangle> =ng__\<Rightarrow> td__"   | s :: "'e" and b :: "'e set" and c\<^sub>1 :: "('e, 'd, 'f) com" and n :: "nat" and t :: "('e, 'f) xstate" and c\<^sub>2 :: "('e, 'd, 'f) com" where "a1 = Cond b__ c\<^sub>1'__ c\<^sub>2'__" and "a2 = Normal si__" and "a3 = nh__" and "a4 = te__" and "si__ \<in> b__" and "\<Gamma>\<turnstile> \<langle>c\<^sub>1'__,Normal si__\<rangle> =nh__\<Rightarrow> te__"   | s :: "'e" and b :: "'e set" and c\<^sub>2 :: "('e, 'd, 'f) com" and n :: "nat" and t :: "('e, 'f) xstate" and c\<^sub>1 :: "('e, 'd, 'f) com" where "a1 = Cond ba__ c\<^sub>1''__ c\<^sub>2''__" and "a2 = Normal sj__" and "a3 = ni__" and "a4 = tf__" and "sj__ \<notin> ba__" and "\<Gamma>\<turnstile> \<langle>c\<^sub>2''__,Normal sj__\<rangle> =ni__\<Rightarrow> tf__"   | s :: "'e" and b :: "'e set" and c :: "('e, 'd, 'f) com" and n :: "nat" and s' :: "('e, 'f) xstate" and t :: "('e, 'f) xstate" where "a1 = While bb__ cd__" and "a2 = Normal sk__" and "a3 = nj__" and "a4 = tg__" and "sk__ \<in> bb__" and "\<Gamma>\<turnstile> \<langle>cd__,Normal sk__\<rangle> =nj__\<Rightarrow> s'a__" and "\<Gamma>\<turnstile> \<langle>While bb__ cd__,s'a__\<rangle> =nj__\<Rightarrow> tg__"   | s :: "'e" and b :: "'e set" and c :: "('e, 'd, 'f) com" and n :: "nat" where "a1 = While b ce__" and "a2 = Normal sl__" and "a3 = nk__" and "a4 = Normal sl__" and "sl__ \<notin> b"   | p :: "'d" and bdy :: "('e, 'd, 'f) com" and s :: "'e" and n :: "nat" and t :: "('e, 'f) xstate" where "a1 = Call pa__" and "a2 = Normal sm__" and "a3 = Suc nl__" and "a4 = th__" and "\<Gamma> pa__ = Some bdy" and "\<Gamma>\<turnstile> \<langle>bdy,Normal sm__\<rangle> =nl__\<Rightarrow> th__"   | p :: "'d" and s :: "'e" and n :: "nat" where "a1 = Call p" and "a2 = Normal sn__" and "a3 = Suc nm__" and "a4 = Stuck" and "\<Gamma> p = None"   | c :: "('e, 'd, 'f) com" and n :: "nat" where "a1 = cf__" and "a2 = Stuck" and "a3 = nn__" and "a4 = Stuck"   | c :: "'e \<Rightarrow> ('e, 'd, 'f) com" and s :: "'e" and n :: "nat" and t :: "('e, 'f) xstate" where "a1 = DynCom cg__" and "a2 = Normal so__" and "a3 = no__" and "a4 = ti__" and "\<Gamma>\<turnstile> \<langle>cg__ so__,Normal so__\<rangle> =no__\<Rightarrow> ti__"   | s :: "'e" and n :: "nat" where "a1 = Throw" and "a2 = Normal sp__" and "a3 = np__" and "a4 = Abrupt sp__"   | c :: "('e, 'd, 'f) com" and s :: "'e" and n :: "nat" where "a1 = c" and "a2 = Abrupt sq__" and "a3 = nq__" and "a4 = Abrupt sq__"   | c\<^sub>1 :: "('e, 'd, 'f) com" and s :: "'e" and n :: "nat" and s' :: "'e" and c\<^sub>2 :: "('e, 'd, 'f) com" and t :: "('e, 'f) xstate" where "a1 = Catch c\<^sub>1'''__ c\<^sub>2'''__" and "a2 = Normal sr__" and "a3 = nr__" and "a4 = tj__" and "\<Gamma>\<turnstile> \<langle>c\<^sub>1'''__,Normal sr__\<rangle> =nr__\<Rightarrow> Abrupt s'" and "\<Gamma>\<turnstile> \<langle>c\<^sub>2'''__,Normal s'\<rangle> =nr__\<Rightarrow> tj__"   | c\<^sub>1 :: "('e, 'd, 'f) com" and s :: "'e" and n :: "nat" and t :: "('e, 'f) xstate" and c\<^sub>2 :: "('e, 'd, 'f) com" where "a1 = Catch c\<^sub>1 c\<^sub>2" and "a2 = Normal s" and "a3 = n" and "a4 = t" and "\<Gamma>\<turnstile> \<langle>c\<^sub>1,Normal s\<rangle> =n\<Rightarrow> t" and "\<not> isAbr t"