--- a/src/HOL/MicroJava/J/Example.thy Wed Feb 07 17:41:11 2007 +0100
+++ b/src/HOL/MicroJava/J/Example.thy Wed Feb 07 17:44:07 2007 +0100
@@ -172,19 +172,19 @@
apply (simp (no_asm))
done
-lemma not_Object_subcls [elim!]: "(Object,C) \<in> (subcls1 tprg)^+ ==> R"
-apply (auto dest!: tranclD subcls1D)
+lemma not_Object_subcls [elim!]: "(subcls1 tprg)^++ Object C ==> R"
+apply (auto dest!: tranclD' subcls1D)
done
lemma subcls_ObjectD [dest!]: "tprg\<turnstile>Object\<preceq>C C ==> C = Object"
-apply (erule rtrancl_induct)
+apply (erule rtrancl_induct')
apply auto
apply (drule subcls1D)
apply auto
done
-lemma not_Base_subcls_Ext [elim!]: "(Base, Ext) \<in> (subcls1 tprg)^+ ==> R"
-apply (auto dest!: tranclD subcls1D)
+lemma not_Base_subcls_Ext [elim!]: "(subcls1 tprg)^++ Base Ext ==> R"
+apply (auto dest!: tranclD' subcls1D)
done
lemma class_tprgD:
@@ -193,11 +193,11 @@
apply (auto split add: split_if_asm simp add: map_of_Cons)
done
-lemma not_class_subcls_class [elim!]: "(C,C) \<in> (subcls1 tprg)^+ ==> R"
-apply (auto dest!: tranclD subcls1D)
+lemma not_class_subcls_class [elim!]: "(subcls1 tprg)^++ C C ==> R"
+apply (auto dest!: tranclD' subcls1D)
apply (frule class_tprgD)
apply (auto dest!:)
-apply (drule rtranclD)
+apply (drule rtranclD')
apply auto
done
@@ -205,7 +205,7 @@
apply (simp (no_asm) add: ObjectC_def BaseC_def ExtC_def NullPointerC_def ClassCastC_def OutOfMemoryC_def)
done
-lemmas subcls_direct = subcls1I [THEN r_into_rtrancl]
+lemmas subcls_direct = subcls1I [THEN r_into_rtrancl' [where r="subcls1 G"], standard]
lemma Ext_subcls_Base [simp]: "tprg\<turnstile>Ext\<preceq>C Base"
apply (rule subcls_direct)
@@ -219,12 +219,12 @@
declare ty_expr_ty_exprs_wt_stmt.intros [intro!]
-lemma acyclic_subcls1_: "acyclic (subcls1 tprg)"
-apply (rule acyclicI)
+lemma acyclic_subcls1_: "acyclicP (subcls1 tprg)"
+apply (rule acyclicI [to_pred])
apply safe
done
-lemmas wf_subcls1_ = acyclic_subcls1_ [THEN finite_subcls1 [THEN finite_acyclic_wf_converse]]
+lemmas wf_subcls1_ = acyclic_subcls1_ [THEN finite_subcls1 [THEN finite_acyclic_wf_converse [to_pred]]]
lemmas fields_rec_ = wf_subcls1_ [THEN [2] fields_rec_lemma]
@@ -345,7 +345,7 @@
apply (fold ExtC_def)
apply (rule mp) defer apply (rule wf_foo_Ext)
apply (auto simp add: wf_mdecl_def)
-apply (drule rtranclD)
+apply (drule rtranclD')
apply auto
done