equal
deleted
inserted
replaced
598 statM: "max_spec G accC statT \<lparr>name=mn,parTs=pTs\<rparr> |
598 statM: "max_spec G accC statT \<lparr>name=mn,parTs=pTs\<rparr> |
599 = {((statDeclT,statM),pTs')}" and |
599 = {((statDeclT,statM),pTs')}" and |
600 mode: "mode = invmode statM e" and |
600 mode: "mode = invmode statM e" and |
601 T: "T =Inl (resTy statM)" and |
601 T: "T =Inl (resTy statM)" and |
602 eq_accC_accC': "accC=accC'" |
602 eq_accC_accC': "accC=accC'" |
603 by (rule wt_elim_cases) auto |
603 by (rule wt_elim_cases) fastsimp+ |
604 from conf_s0 wt_e hyp_e |
604 from conf_s0 wt_e hyp_e |
605 have eval_e: "G\<turnstile>Norm s0 \<midarrow>e-\<succ>a'\<rightarrow> s1" |
605 have eval_e: "G\<turnstile>Norm s0 \<midarrow>e-\<succ>a'\<rightarrow> s1" |
606 by blast |
606 by blast |
607 with wf conf_s0 wt_e |
607 with wf conf_s0 wt_e |
608 obtain conf_s1: "s1\<Colon>\<preceq>(G, L)" and |
608 obtain conf_s1: "s1\<Colon>\<preceq>(G, L)" and |
1556 statM: "max_spec G accC statT \<lparr>name=mn,parTs=pTs\<rparr> |
1556 statM: "max_spec G accC statT \<lparr>name=mn,parTs=pTs\<rparr> |
1557 = {((statDeclT,statM),pTs')}" and |
1557 = {((statDeclT,statM),pTs')}" and |
1558 mode: "mode = invmode statM e" and |
1558 mode: "mode = invmode statM e" and |
1559 T: "T =Inl (resTy statM)" and |
1559 T: "T =Inl (resTy statM)" and |
1560 eq_accC_accC': "accC=accC'" |
1560 eq_accC_accC': "accC=accC'" |
1561 by (rule wt_elim_cases) auto |
1561 by (rule wt_elim_cases) fastsimp+ |
1562 from conf_s0 wt_e |
1562 from conf_s0 wt_e |
1563 obtain n1 where |
1563 obtain n1 where |
1564 evaln_e: "G\<turnstile>Norm s0 \<midarrow>e-\<succ>a'\<midarrow>n1\<rightarrow> s1" |
1564 evaln_e: "G\<turnstile>Norm s0 \<midarrow>e-\<succ>a'\<midarrow>n1\<rightarrow> s1" |
1565 by (rules dest: hyp_e) |
1565 by (rules dest: hyp_e) |
1566 from wf eval_e conf_s0 wt_e |
1566 from wf eval_e conf_s0 wt_e |
1791 wt_e: "\<lparr>prg=G, cls=accC, lcl=L\<rparr>\<turnstile>e\<Colon>-Class statC" and |
1791 wt_e: "\<lparr>prg=G, cls=accC, lcl=L\<rparr>\<turnstile>e\<Colon>-Class statC" and |
1792 accfield: "accfield G accC statC fn = Some (statDeclC,f)" and |
1792 accfield: "accfield G accC statC fn = Some (statDeclC,f)" and |
1793 stat: "stat=is_static f" and |
1793 stat: "stat=is_static f" and |
1794 accC': "accC'=accC" and |
1794 accC': "accC'=accC" and |
1795 T: "T=(Inl (type f))" |
1795 T: "T=(Inl (type f))" |
1796 by (rule wt_elim_cases) (auto simp add: member_is_static_simp) |
1796 by (rule wt_elim_cases) (fastsimp simp add: member_is_static_simp) |
1797 from wf wt_e |
1797 from wf wt_e |
1798 have iscls_statC: "is_class G statC" |
1798 have iscls_statC: "is_class G statC" |
1799 by (auto dest: ty_expr_is_type type_is_class) |
1799 by (auto dest: ty_expr_is_type type_is_class) |
1800 with wf accfield |
1800 with wf accfield |
1801 have iscls_statDeclC: "is_class G statDeclC" |
1801 have iscls_statDeclC: "is_class G statDeclC" |