src/HOL/Bali/WellForm.thy
changeset 13601 fd3e3d6b37b2
parent 12963 73fb6a200e36
child 13688 a0b16d42d489
equal deleted inserted replaced
13600:9702c8636a7b 13601:fd3e3d6b37b2
  1418   assume defC: "is_class G C"
  1418   assume defC: "is_class G C"
  1419   from defC ws 
  1419   from defC ws 
  1420   show "?Class C \<Longrightarrow> ?Method C \<Longrightarrow> ?MemberOf C"
  1420   show "?Class C \<Longrightarrow> ?Method C \<Longrightarrow> ?MemberOf C"
  1421   proof (induct rule: ws_class_induct')  
  1421   proof (induct rule: ws_class_induct')  
  1422     case Object
  1422     case Object
  1423     with wf have declC: "declclass m = Object"
  1423     with wf have declC: "Object = declclass m"
  1424       by (blast intro: declclass_methd_Object)
  1424       by (simp add: declclass_methd_Object)
  1425     with Object wf have "G\<turnstile>Methd sig m declared_in Object"
  1425     from Object wf have "G\<turnstile>Methd sig m declared_in Object"
  1426       by (auto dest: methd_declaredD simp del: methd_Object)
  1426       by (auto intro: methd_declaredD simp add: declC)
  1427     with declC 
  1427     with declC 
  1428     show "?MemberOf Object"
  1428     show "?MemberOf Object"
  1429       by (auto intro!: members.Immediate
  1429       by (auto intro!: members.Immediate
  1430                   simp del: methd_Object)
  1430                   simp del: methd_Object)
  1431   next
  1431   next
  2792 	by auto
  2792 	by auto
  2793       have not_static_emh: "\<not> is_static emh"
  2793       have not_static_emh: "\<not> is_static emh"
  2794       proof -
  2794       proof -
  2795 	from im statM statT isT_statT wf not_Private_statM 
  2795 	from im statM statT isT_statT wf not_Private_statM 
  2796 	have "is_static im = is_static statM"
  2796 	have "is_static im = is_static statM"
  2797 	  by (auto dest: wf_imethds_hiding_objmethdsD)
  2797 	  by (fastsimp dest: wf_imethds_hiding_objmethdsD)
  2798 	with wf isT_statT statT im 
  2798 	with wf isT_statT statT im 
  2799 	have "\<not> is_static statM"
  2799 	have "\<not> is_static statM"
  2800 	  by (auto dest: wf_prog_idecl imethds_wf_mhead)
  2800 	  by (auto dest: wf_prog_idecl imethds_wf_mhead)
  2801 	with eq_mhds
  2801 	with eq_mhds
  2802 	show ?thesis  
  2802 	show ?thesis