updated for is_class changes
authorkleing
Thu, 07 Dec 2000 18:22:17 +0100
changeset 10630 f89c3fc4fde1
parent 10629 d790faef9c07
child 10631 591ea23d27a0
updated for is_class changes
src/HOL/MicroJava/BV/JType.thy
src/HOL/MicroJava/BV/JVM.thy
--- a/src/HOL/MicroJava/BV/JType.thy	Thu Dec 07 17:59:24 2000 +0100
+++ b/src/HOL/MicroJava/BV/JType.thy	Thu Dec 07 18:22:17 2000 +0100
@@ -44,7 +44,7 @@
 
 lemma is_tyI:
   "[| is_type G T; wf_prog wf_mb G |] ==> is_ty G T"
-  by (auto simp add: is_ty_def dest: subcls_C_Object 
+  by (auto simp add: is_ty_def intro: subcls_C_Object 
            split: ty.splits ref_ty.splits)
 
 lemma is_type_conv: 
--- a/src/HOL/MicroJava/BV/JVM.thy	Thu Dec 07 17:59:24 2000 +0100
+++ b/src/HOL/MicroJava/BV/JVM.thy	Thu Dec 07 18:22:17 2000 +0100
@@ -143,6 +143,8 @@
   "(? X. (? n. X = A n & P n) & Q X) = (? n. Q(A n) & P n)"
   by blast
 
+lemmas [iff del] = not_None_eq
+
 theorem exec_pres_type:
   "[| wf_prog wf_mb S |] ==> 
       pres_type (exec S maxs rT bs) (size bs) (states S maxs maxr)"
@@ -176,18 +178,22 @@
  defer
 
  apply (simp add: Un_subset_iff)
- apply (drule method_wf_mdecl, assumption)
+ apply (drule method_wf_mdecl, assumption+)
  apply (simp add: wf_mdecl_def wf_mhead_def)
 
- apply (drule fields_is_type)
- apply assumption
- apply (subgoal_tac "((vname, cname), vT) \<in> set (fields (S, cname))")
- apply assumption
-  apply (simp add: field_def)
-  apply (drule map_of_SomeD)
-  apply auto
+ apply (rule_tac fn = "(vname,cname)" in fields_is_type)
+ defer
+ apply assumption+
+ apply (simp add: field_def)
+ apply (drule map_of_SomeD)
+ apply (rule map_of_SomeI)
+ apply (auto simp add: unique_fields)
  done
 
+
+lemmas [iff] = not_None_eq
+
+
 theorem exec_mono:
   "wf_prog wf_mb G ==>
   mono (JVM.le G maxs maxr) (exec G maxs rT bs) (size bs) (states G maxs maxr)"