definition fits :: "java_mb prog \ state \ val \ ty \ bool" (\_,_\_ fits _\[61,61,61,61]60) where "G,s\a' fits T \ case T of PrimT T' \ False | RefT T' \ a'=Null \ G\obj_ty(lookup_obj s a')\T"
definition catch :: "java_mb prog \ xstate \ cname \ bool" (\_,_\catch _\[61,61,61]60) where "G,s\catch C\ case abrupt s of None \ False | Some a \ G,store s\ a fits Class C"
definition lupd :: "vname \ val \ state \ state" (\lupd'(_\_')\[10,10]1000) where "lupd vn v \ \ (hp,loc). (hp, (loc(vn\v)))"
lemma eval_LAcc_code: "G\Norm (h, l) -LAcc v\the (l v)-> Norm (h, l)" using LAcc[of G "(h, l)" v] by simp
lemma eval_Call_code: "[| G\Norm s0 -e\a'-> s1; a = the_Addr a';
G\<turnstile>s1 -ps[\<succ>]pvs-> (x,(h,l)); dynT = fst (the (h a));
(md,rT,pns,lvars,blk,res) = the (method (G,dynT) (mn,pTs));
G\<turnstile>(np a' x,(h,(init_vars lvars)(pns[\<mapsto>]pvs, This\<mapsto>a'))) -blk-> s3;
G\<turnstile> s3 -res\<succ>v -> (x4,(h4, l4)) |] ==>
G\<turnstile>Norm s0 -{C}e..mn({pTs}ps)\<succ>v-> (x4,(h4,l))" using Call[of G s0 e a' s1 a ps pvs x h l dynT md rT pns lvars blk res mn pTs s3 v x4 "(h4, l4)" C] by simp
code_pred
(modes:
eval: i \<Rightarrow> i \<Rightarrow> i \<Rightarrow> o \<Rightarrow> o \<Rightarrow> bool and
evals: i \<Rightarrow> i \<Rightarrow> i \<Rightarrow> o \<Rightarrow> o \<Rightarrow> bool and
exec: i \<Rightarrow> i \<Rightarrow> i \<Rightarrow> o \<Rightarrow> bool)
eval proof - case eval from eval.prems show thesis proof(cases (no_simp)) case LAcc with eval.LAcc_code show ?thesis by auto next case (Call a b c d e f g h i j k l m n o p q r s t u v s4) with eval.Call_code show ?thesis by(cases "s4") auto qed(erule (3) eval.that[OF refl]|assumption)+ next case evals from evals.prems show thesis by(cases (no_simp))(erule (3) evals.that[OF refl]|assumption)+ next case exec from exec.prems show thesis proof(cases (no_simp)) case LoopT thus ?thesis by(rule exec.LoopT_code[OF refl]) qed(erule (2) exec.that[OF refl]|assumption)+ qed
end
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.12Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.