equal
deleted
inserted
replaced
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 |