equal
deleted
inserted
replaced
15 objects on the heap are indeed existing classes. Yet this can be |
15 objects on the heap are indeed existing classes. Yet this can be |
16 inferred for all referenced objs. |
16 inferred for all referenced objs. |
17 \end{itemize} |
17 \end{itemize} |
18 *} |
18 *} |
19 |
19 |
20 types env_ = "prog \<times> (lname, ty) table" (* same as env of WellType.thy *) |
20 types env' = "prog \<times> (lname, ty) table" (* same as env of WellType.thy *) |
21 |
21 |
22 |
22 |
23 section "extension of global store" |
23 section "extension of global store" |
24 |
24 |
25 |
25 |
386 |
386 |
387 section "state conformance" |
387 section "state conformance" |
388 |
388 |
389 constdefs |
389 constdefs |
390 |
390 |
391 conforms :: "state \<Rightarrow> env_ \<Rightarrow> bool" ( "_\<Colon>\<preceq>_" [71,71] 70) |
391 conforms :: "state \<Rightarrow> env' \<Rightarrow> bool" ( "_\<Colon>\<preceq>_" [71,71] 70) |
392 "xs\<Colon>\<preceq>E \<equiv> let (G, L) = E; s = snd xs; l = locals s in |
392 "xs\<Colon>\<preceq>E \<equiv> let (G, L) = E; s = snd xs; l = locals s in |
393 (\<forall>r. \<forall>obj\<in>globs s r: G,s\<turnstile>obj \<Colon>\<preceq>\<surd>r) \<and> |
393 (\<forall>r. \<forall>obj\<in>globs s r: G,s\<turnstile>obj \<Colon>\<preceq>\<surd>r) \<and> |
394 \<spacespace> G,s\<turnstile>l [\<sim>\<Colon>\<preceq>]L\<spacespace> \<and> |
394 \<spacespace> G,s\<turnstile>l [\<sim>\<Colon>\<preceq>]L\<spacespace> \<and> |
395 (\<forall>a. fst xs=Some(Xcpt (Loc a)) \<longrightarrow> G,s\<turnstile>Addr a\<Colon>\<preceq> Class (SXcpt Throwable)) \<and> |
395 (\<forall>a. fst xs=Some(Xcpt (Loc a)) \<longrightarrow> G,s\<turnstile>Addr a\<Colon>\<preceq> Class (SXcpt Throwable)) \<and> |
396 (fst xs=Some(Jump Ret) \<longrightarrow> l Result \<noteq> None)" |
396 (fst xs=Some(Jump Ret) \<longrightarrow> l Result \<noteq> None)" |