src/HOL/MicroJava/J/WellForm.thy
changeset 8034 6fc37b5c5e98
parent 8011 d14c4e9e9c8e
child 8082 381716a86fcb
equal deleted inserted replaced
8033:325b8e754523 8034:6fc37b5c5e98
    36 	(\\<forall>m\\<in>set ms. wf_mdecl wtm G C m) \\<and>  unique ms \\<and>
    36 	(\\<forall>m\\<in>set ms. wf_mdecl wtm G C m) \\<and>  unique ms \\<and>
    37 	(case sc of None \\<Rightarrow> C = Object
    37 	(case sc of None \\<Rightarrow> C = Object
    38          | Some D \\<Rightarrow>
    38          | Some D \\<Rightarrow>
    39              is_class G D \\<and>  \\<not>  G\\<turnstile>D\\<prec>C C \\<and>
    39              is_class G D \\<and>  \\<not>  G\\<turnstile>D\\<prec>C C \\<and>
    40              (\\<forall>(sig,rT,b)\\<in>set ms. \\<forall>D' rT' b'.
    40              (\\<forall>(sig,rT,b)\\<in>set ms. \\<forall>D' rT' b'.
    41                  cmethd(G,D) sig = Some(D',rT',b') \\<longrightarrow> G\\<turnstile>rT\\<preceq>rT'))"
    41                  method(G,D) sig = Some(D',rT',b') \\<longrightarrow> G\\<turnstile>rT\\<preceq>rT'))"
    42 
    42 
    43  wf_prog	:: "'c wtm \\<Rightarrow> 'c prog \\<Rightarrow> bool"
    43  wf_prog	:: "'c wtm \\<Rightarrow> 'c prog \\<Rightarrow> bool"
    44 "wf_prog wtm G \\<equiv>
    44 "wf_prog wtm G \\<equiv>
    45    let cs = set G in ObjectC \\<in> cs \\<and> (\\<forall>c\\<in>cs. wf_cdecl wtm G c) \\<and> unique G"
    45    let cs = set G in ObjectC \\<in> cs \\<and> (\\<forall>c\\<in>cs. wf_cdecl wtm G c) \\<and> unique G"
    46 
    46