src/HOL/MicroJava/J/WellType.thy
changeset 77645 7edbb16bc60f
parent 67443 3abf6a722518
equal deleted inserted replaced
77644:48b4e0cd94cd 77645:7edbb16bc60f
   192   distinct pns \<and>
   192   distinct pns \<and>
   193   unique lvars \<and>
   193   unique lvars \<and>
   194         This \<notin> set pns \<and> This \<notin> set (map fst lvars) \<and> 
   194         This \<notin> set pns \<and> This \<notin> set (map fst lvars) \<and> 
   195   (\<forall>pn\<in>set pns. map_of lvars pn = None) \<and>
   195   (\<forall>pn\<in>set pns. map_of lvars pn = None) \<and>
   196   (\<forall>(vn,T)\<in>set lvars. is_type G T) &
   196   (\<forall>(vn,T)\<in>set lvars. is_type G T) &
   197   (let E = (G,map_of lvars(pns[\<mapsto>]pTs)(This\<mapsto>Class C)) in
   197   (let E = (G,(map_of lvars)(pns[\<mapsto>]pTs, This\<mapsto>Class C)) in
   198    E\<turnstile>blk\<surd> \<and> (\<exists>T. E\<turnstile>res::T \<and> G\<turnstile>T\<preceq>rT))"
   198    E\<turnstile>blk\<surd> \<and> (\<exists>T. E\<turnstile>res::T \<and> G\<turnstile>T\<preceq>rT))"
   199 
   199 
   200 abbreviation "wf_java_prog == wf_prog wf_java_mdecl"
   200 abbreviation "wf_java_prog == wf_prog wf_java_mdecl"
   201 
   201 
   202 lemma wf_java_prog_wf_java_mdecl: "\<lbrakk> 
   202 lemma wf_java_prog_wf_java_mdecl: "\<lbrakk>