src/HOL/Bali/TypeSafe.thy
changeset 28524 644b62cf678f
parent 24783 5a3e336a2e37
child 32693 6c6b1ba5e71e
equal deleted inserted replaced
28523:5818d9cfb2e7 28524:644b62cf678f
  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;