eval_cases_9: fixes P :: "(char list list \<times> char list exp) prog"   and e\<^sub>1 :: "char list exp"   and F :: "char list"   and D :: "char list"   and e\<^sub>2 :: "char list exp"   and s :: "heap \<times> sfields \<times> sheap"   and e' :: "char list exp"   and s' :: "heap \<times> sfields \<times> sheap" assumes "P \<turnstile> \<langle>e\<^sub>1\<bullet>F{D} := e\<^sub>2,s\<rangle> \<Rightarrow> \<langle>e',s'\<rangle>" obtains a :: "nat" and s\<^sub>1 :: "heap \<times> sfields \<times> sheap" and v :: "val" and h\<^sub>2 :: "heap" and l\<^sub>2 :: "sfields" and sh\<^sub>2 :: "sheap" and C :: "char list" and fs :: "Objects.fields" and t :: "ty" where "e'a__ = unit" and "s' = (h\<^sub>2__(a__ \<mapsto> (C__, fs__((F, D) \<mapsto> v__))), l\<^sub>2__, sh\<^sub>2__)" and "P \<turnstile> \<langle>e\<^sub>1,s\<rangle> \<Rightarrow> \<langle>addr a__,s\<^sub>1__\<rangle>" and "P \<turnstile> \<langle>e\<^sub>2,s\<^sub>1__\<rangle> \<Rightarrow> \<langle>Val v__,(h\<^sub>2__, l\<^sub>2__, sh\<^sub>2__)\<rangle>" and "h\<^sub>2__ a__ = \<lfloor>(C__, fs__)\<rfloor>" and "P \<turnstile> C__ has F,NonStatic:t__ in D"   | s\<^sub>1 :: "heap \<times> sfields \<times> sheap" and v :: "val" where "e'a__ = THROW NullPointer" and "P \<turnstile> \<langle>e\<^sub>1,s\<rangle> \<Rightarrow> \<langle>null,s\<^sub>1'__\<rangle>" and "P \<turnstile> \<langle>e\<^sub>2,s\<^sub>1'__\<rangle> \<Rightarrow> \<langle>Val va__,s'\<rangle>"   | e' :: "char list exp" where "e'a__ = throw e'b__" and "P \<turnstile> \<langle>e\<^sub>1,s\<rangle> \<Rightarrow> \<langle>throw e'b__,s'\<rangle>"   | v :: "val" and s\<^sub>1 :: "heap \<times> sfields \<times> sheap" and e' :: "char list exp" where "e'a__ = throw e'" and "P \<turnstile> \<langle>e\<^sub>1,s\<rangle> \<Rightarrow> \<langle>Val vb__,s\<^sub>1''__\<rangle>" and "P \<turnstile> \<langle>e\<^sub>2,s\<^sub>1''__\<rangle> \<Rightarrow> \<langle>throw e',s'\<rangle>"   | a :: "nat" and s\<^sub>1 :: "heap \<times> sfields \<times> sheap" and v :: "val" and h\<^sub>2 :: "heap" and l\<^sub>2 :: "sfields" and sh\<^sub>2 :: "sheap" and C :: "char list" and fs :: "Objects.fields" where "e'a__ = THROW NoSuchFieldError" and "s' = (h\<^sub>2'__, l\<^sub>2'__, sh\<^sub>2'__)" and "P \<turnstile> \<langle>e\<^sub>1,s\<rangle> \<Rightarrow> \<langle>addr aa__,s\<^sub>1'''__\<rangle>" and "P \<turnstile> \<langle>e\<^sub>2,s\<^sub>1'''__\<rangle> \<Rightarrow> \<langle>Val vc__,(h\<^sub>2'__, l\<^sub>2'__, sh\<^sub>2'__)\<rangle>" and "h\<^sub>2'__ aa__ = \<lfloor>(Ca__, fsa__)\<rfloor>" and "\<forall>b t. \<not> P \<turnstile> Ca__ has F,b:t in D"   | a :: "nat" and s\<^sub>1 :: "heap \<times> sfields \<times> sheap" and v :: "val" and h\<^sub>2 :: "heap" and l\<^sub>2 :: "sfields" and sh\<^sub>2 :: "sheap" and C :: "char list" and fs :: "Objects.fields" and t :: "ty" where "e'a__ = THROW IncompatibleClassChangeError" and "s' = (h\<^sub>2, l\<^sub>2, sh\<^sub>2)" and "P \<turnstile> \<langle>e\<^sub>1,s\<rangle> \<Rightarrow> \<langle>addr a,s\<^sub>1\<rangle>" and "P \<turnstile> \<langle>e\<^sub>2,s\<^sub>1\<rangle> \<Rightarrow> \<langle>Val v,(h\<^sub>2, l\<^sub>2, sh\<^sub>2)\<rangle>" and "h\<^sub>2 a = \<lfloor>(C, fs)\<rfloor>" and "P \<turnstile> C has F,Static:t in D"