src/HOL/Bali/WellForm.thy
changeset 59897 d1e7f56bcd79
parent 58887 38db8ddc0f57
child 62042 6c6ccf573479
equal deleted inserted replaced
59896:e563b0ee0331 59897:d1e7f56bcd79
  1977   qed
  1977   qed
  1978 qed
  1978 qed
  1979 
  1979 
  1980 lemma dynmethd_Object:
  1980 lemma dynmethd_Object:
  1981   assumes statM: "methd G Object sig = Some statM" and
  1981   assumes statM: "methd G Object sig = Some statM" and
  1982         private: "accmodi statM = Private" and 
  1982         "private": "accmodi statM = Private" and 
  1983        is_cls_C: "is_class G C" and
  1983        is_cls_C: "is_class G C" and
  1984              wf: "wf_prog G"
  1984              wf: "wf_prog G"
  1985   shows "dynmethd G Object C sig = Some statM"
  1985   shows "dynmethd G Object C sig = Some statM"
  1986 proof -
  1986 proof -
  1987   from is_cls_C wf 
  1987   from is_cls_C wf 
  1990   from wf have ws: "ws_prog G" 
  1990   from wf have ws: "ws_prog G" 
  1991     by simp
  1991     by simp
  1992   from wf 
  1992   from wf 
  1993   have is_cls_Obj: "is_class G Object" 
  1993   have is_cls_Obj: "is_class G Object" 
  1994     by simp
  1994     by simp
  1995   from statM subclseq is_cls_Obj ws private
  1995   from statM subclseq is_cls_Obj ws "private"
  1996   show ?thesis
  1996   show ?thesis
  1997   proof (cases rule: dynmethd_cases)
  1997   proof (cases rule: dynmethd_cases)
  1998     case Static then show ?thesis .
  1998     case Static then show ?thesis .
  1999   next
  1999   next
  2000     case Overrides 
  2000     case Overrides 
  2001     with private show ?thesis 
  2001     with "private" show ?thesis 
  2002       by (auto dest: no_Private_override)
  2002       by (auto dest: no_Private_override)
  2003   qed
  2003   qed
  2004 qed
  2004 qed
  2005 
  2005 
  2006 lemma wf_imethds_hiding_objmethdsD: 
  2006 lemma wf_imethds_hiding_objmethdsD: