1736 proof (induct) |
1736 proof (induct) |
1737 case (Abrupt xc s t L accC T A) |
1737 case (Abrupt xc s t L accC T A) |
1738 from `(Some xc, s)\<Colon>\<preceq>(G,L)` |
1738 from `(Some xc, s)\<Colon>\<preceq>(G,L)` |
1739 show "(Some xc, s)\<Colon>\<preceq>(G,L) \<and> |
1739 show "(Some xc, s)\<Colon>\<preceq>(G,L) \<and> |
1740 (normal (Some xc, s) |
1740 (normal (Some xc, s) |
1741 \<longrightarrow> G,L,store (Some xc,s)\<turnstile>t\<succ>arbitrary3 t\<Colon>\<preceq>T) \<and> |
1741 \<longrightarrow> G,L,store (Some xc,s)\<turnstile>t\<succ>undefined3 t\<Colon>\<preceq>T) \<and> |
1742 (error_free (Some xc, s) = error_free (Some xc, s))" |
1742 (error_free (Some xc, s) = error_free (Some xc, s))" |
1743 by simp |
1743 by simp |
1744 next |
1744 next |
1745 case (Skip s L accC T A) |
1745 case (Skip s L accC T A) |
1746 from `Norm s\<Colon>\<preceq>(G, L)` and |
1746 from `Norm s\<Colon>\<preceq>(G, L)` and |
3848 and da: "\<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile>dom (locals (store s0))\<guillemotright>t\<guillemotright>A" |
3848 and da: "\<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile>dom (locals (store s0))\<guillemotright>t\<guillemotright>A" |
3849 and wf: "wf_prog G" |
3849 and wf: "wf_prog G" |
3850 and abrupt: "\<And> s t abr L accC T A. |
3850 and abrupt: "\<And> s t abr L accC T A. |
3851 \<lbrakk>\<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile>t\<Colon>T; |
3851 \<lbrakk>\<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile>t\<Colon>T; |
3852 \<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile>dom (locals (store (Some abr,s)))\<guillemotright>t\<guillemotright>A |
3852 \<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile>dom (locals (store (Some abr,s)))\<guillemotright>t\<guillemotright>A |
3853 \<rbrakk> \<Longrightarrow> P L accC (Some abr, s) t (arbitrary3 t) (Some abr, s)" |
3853 \<rbrakk> \<Longrightarrow> P L accC (Some abr, s) t (undefined3 t) (Some abr, s)" |
3854 and skip: "\<And> s L accC. P L accC (Norm s) \<langle>Skip\<rangle>\<^sub>s \<diamondsuit> (Norm s)" |
3854 and skip: "\<And> s L accC. P L accC (Norm s) \<langle>Skip\<rangle>\<^sub>s \<diamondsuit> (Norm s)" |
3855 and expr: "\<And> e s0 s1 v L accC eT E. |
3855 and expr: "\<And> e s0 s1 v L accC eT E. |
3856 \<lbrakk>\<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile>e\<Colon>-eT; |
3856 \<lbrakk>\<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile>e\<Colon>-eT; |
3857 \<lparr>prg=G,cls=accC,lcl=L\<rparr> |
3857 \<lparr>prg=G,cls=accC,lcl=L\<rparr> |
3858 \<turnstile>dom (locals (store ((Norm s0)::state)))\<guillemotright>\<langle>e\<rangle>\<^sub>e\<guillemotright>E; |
3858 \<turnstile>dom (locals (store ((Norm s0)::state)))\<guillemotright>\<langle>e\<rangle>\<^sub>e\<guillemotright>E; |