diff -r 4ccb7e6be929 -r 51a80e238b29 src/HOL/MicroJava/J/Example.thy --- 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) \ (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\Object\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) \ (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) \ (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\Ext\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