# HG changeset patch # User wenzelm # Date 968353811 -7200 # Node ID 5c027cca6262e6121c89260d3a0e8d4dccb72bc8 # Parent 14a71104a4980384608c28c327d984be6ddc626b updated attribute names; diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Induct/Acc.thy --- a/src/HOL/Induct/Acc.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Induct/Acc.thy Thu Sep 07 21:10:11 2000 +0200 @@ -18,7 +18,7 @@ inductive "acc r" intros - accI [rulify_prems]: + accI [rulified]: "\y. (y, x) \ r --> y \ acc r ==> x \ acc r" syntax diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Isar_examples/MutilatedCheckerboard.thy --- a/src/HOL/Isar_examples/MutilatedCheckerboard.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Isar_examples/MutilatedCheckerboard.thy Thu Sep 07 21:10:11 2000 +0200 @@ -154,7 +154,7 @@ have "?B (Suc m) = ?t Un ?B m"; by (simp add: Sigma_Suc); also; have "... : ?T"; - proof (rule tiling_Un [rulify]); + proof (rule tiling_Un [rulified]); show "?t : ?T"; by (rule dominoes_tile_row); from hyp; show "?B m : ?T"; .; show "?t Int ?B m = {}"; by blast; diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Isar_examples/Puzzle.thy --- a/src/HOL/Isar_examples/Puzzle.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Isar_examples/Puzzle.thy Thu Sep 07 21:10:11 2000 +0200 @@ -118,7 +118,7 @@ proof; assume "n < f n"; hence "Suc n <= f n"; by (rule Suc_leI); - hence "f (Suc n) <= f (f n)"; by (rule mono [rulify]); + hence "f (Suc n) <= f (f n)"; by (rule mono [rulified]); also; have "... < f (Suc n)"; by (rule f_ax); finally; have "... < ..."; .; thus False; ..; qed; diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Lambda/Eta.thy --- a/src/HOL/Lambda/Eta.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Lambda/Eta.thy Thu Sep 07 21:10:11 2000 +0200 @@ -45,7 +45,7 @@ subsection "Properties of eta, subst and free" -lemma subst_not_free [rulify, simp]: +lemma subst_not_free [rulified, simp]: "\i t u. \ free s i --> s[t/i] = s[u/i]" apply (induct_tac s) apply (simp_all add: subst_Var) @@ -74,7 +74,7 @@ apply simp_all done -lemma free_eta [rulify]: +lemma free_eta [rulified]: "s -e> t ==> \i. free t i = free s i" apply (erule eta.induct) apply (simp_all cong: conj_cong) @@ -85,7 +85,7 @@ apply (simp add: free_eta) done -lemma eta_subst [rulify, simp]: +lemma eta_subst [rulified, simp]: "s -e> t ==> \u i. s[u/i] -e> t[u/i]" apply (erule eta.induct) apply (simp_all add: subst_subst [symmetric]) @@ -136,13 +136,13 @@ subsection "Commutation of beta and eta" -lemma free_beta [rulify]: +lemma free_beta [rulified]: "s -> t ==> \i. free t i --> free s i" apply (erule beta.induct) apply simp_all done -lemma beta_subst [rulify, intro]: +lemma beta_subst [rulified, intro]: "s -> t ==> \u i. s[u/i] -> t[u/i]" apply (erule beta.induct) apply (simp_all add: subst_subst [symmetric]) @@ -153,13 +153,13 @@ apply (auto elim!: linorder_neqE simp: subst_Var) done -lemma eta_lift [rulify, simp]: +lemma eta_lift [rulified, simp]: "s -e> t ==> \i. lift s i -e> lift t i" apply (erule eta.induct) apply simp_all done -lemma rtrancl_eta_subst [rulify]: +lemma rtrancl_eta_subst [rulified]: "\s t i. s -e> t --> u[s/i] -e>> u[t/i]" apply (induct_tac u) apply (simp_all add: subst_Var) @@ -190,7 +190,7 @@ text {* @{term "Abs (lift s 0 $ Var 0) -e> s"} *} -lemma not_free_iff_lifted [rulify]: +lemma not_free_iff_lifted [rulified]: "\i. (\ free s i) = (\t. s = lift t i)" apply (induct_tac s) apply simp diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Lambda/InductTermi.thy --- a/src/HOL/Lambda/InductTermi.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Lambda/InductTermi.thy Thu Sep 07 21:10:11 2000 +0200 @@ -26,7 +26,7 @@ subsection {* Every term in IT terminates *} -lemma double_induction_lemma [rulify]: +lemma double_induction_lemma [rulified]: "s : termi beta ==> \t. t : termi beta --> (\r ss. t = r[s/0] $$ ss --> Abs r $ s $$ ss : termi beta)" apply (erule acc_induct) diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Lambda/Lambda.thy --- a/src/HOL/Lambda/Lambda.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Lambda/Lambda.thy Thu Sep 07 21:10:11 2000 +0200 @@ -120,7 +120,7 @@ apply (simp add: subst_Var) done -lemma lift_lift [rulify]: +lemma lift_lift [rulified]: "\i k. i < k + 1 --> lift (lift t i) (Suc k) = lift (lift t k) i" apply (induct_tac t) apply auto @@ -144,7 +144,7 @@ apply simp_all done -lemma subst_subst [rulify]: +lemma subst_subst [rulified]: "\i j u v. i < j + 1 --> t[lift v i / Suc j][u[v/j]/i] = t[u/i][v/j]" apply (induct_tac t) apply (simp_all @@ -183,19 +183,19 @@ text {* Not used in Church-Rosser proof, but in Strong Normalization. \medskip *} -theorem subst_preserves_beta [rulify, simp]: +theorem subst_preserves_beta [rulified, simp]: "r -> s ==> \t i. r[t/i] -> s[t/i]" apply (erule beta.induct) apply (simp_all add: subst_subst [symmetric]) done -theorem lift_preserves_beta [rulify, simp]: +theorem lift_preserves_beta [rulified, simp]: "r -> s ==> \i. lift r i -> lift s i" apply (erule beta.induct) apply auto done -theorem subst_preserves_beta2 [rulify, simp]: +theorem subst_preserves_beta2 [rulified, simp]: "\r s i. r -> s --> t[r/i] ->> t[s/i]" apply (induct_tac t) apply (simp add: subst_Var r_into_rtrancl) diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Lambda/ListApplication.thy --- a/src/HOL/Lambda/ListApplication.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Lambda/ListApplication.thy Thu Sep 07 21:10:11 2000 +0200 @@ -18,13 +18,13 @@ apply auto done -lemma Var_eq_apps_conv [rulify, iff]: +lemma Var_eq_apps_conv [rulified, iff]: "\s. (Var m = s $$ ss) = (Var m = s \ ss = [])" apply (induct_tac ss) apply auto done -lemma Var_apps_eq_Var_apps_conv [rulify, iff]: +lemma Var_apps_eq_Var_apps_conv [rulified, iff]: "\ss. (Var m $$ rs = Var n $$ ss) = (m = n \ rs = ss)" apply (induct_tac rs rule: rev_induct) apply simp @@ -69,7 +69,7 @@ apply auto done -lemma Var_apps_neq_Abs_apps [rulify, iff]: +lemma Var_apps_neq_Abs_apps [rulified, iff]: "\ts. Var n $$ ts ~= Abs r $$ ss" apply (induct_tac ss rule: rev_induct) apply simp @@ -103,7 +103,7 @@ text {* \medskip A customized induction schema for @{text "$$"}. *} -lemma lem [rulify]: +lemma lem [rulified (no_asm)]: "[| !!n ts. \t \ set ts. P t ==> P (Var n $$ ts); !!u ts. [| P u; \t \ set ts. P t |] ==> P (Abs u $$ ts) |] ==> \t. size t = n --> P t" diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Lambda/ListBeta.thy --- a/src/HOL/Lambda/ListBeta.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Lambda/ListBeta.thy Thu Sep 07 21:10:11 2000 +0200 @@ -96,7 +96,7 @@ apply (blast intro: apps_preserves_beta rtrancl_into_rtrancl) done -lemma apps_preserves_betas [rulify, simp]: +lemma apps_preserves_betas [rulified, simp]: "\ss. rs => ss --> r $$ rs -> r $$ ss" apply (induct_tac rs rule: rev_induct) apply simp diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Lambda/ListOrder.thy --- a/src/HOL/Lambda/ListOrder.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Lambda/ListOrder.thy Thu Sep 07 21:10:11 2000 +0200 @@ -64,7 +64,7 @@ apply (blast intro: append_eq_appendI) done -lemma Cons_step1E [rulify_prems, elim!]: +lemma Cons_step1E [rulified, elim!]: "[| (ys, x # xs) \ step1 r; \y. ys = y # xs --> (y, x) \ r --> R; \zs. ys = x # zs --> (zs, xs) \ step1 r --> R @@ -87,7 +87,7 @@ apply blast done -lemma Cons_acc_step1I [rulify, intro!]: +lemma Cons_acc_step1I [rulified, intro!]: "x \ acc r ==> \xs. xs \ acc (step1 r) --> x # xs \ acc (step1 r)" apply (erule acc_induct) apply (erule thin_rl) diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Lambda/ParRed.thy --- a/src/HOL/Lambda/ParRed.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Lambda/ParRed.thy Thu Sep 07 21:10:11 2000 +0200 @@ -70,13 +70,13 @@ subsection {* Misc properties of par-beta *} -lemma par_beta_lift [rulify, simp]: +lemma par_beta_lift [rulified, simp]: "\t' n. t => t' --> lift t n => lift t' n" apply (induct_tac t) apply fastsimp+ done -lemma par_beta_subst [rulify]: +lemma par_beta_subst [rulified]: "\s s' t' n. s => s' --> t => t' --> t[s/n] => t'[s'/n]" apply (induct_tac t) apply (simp add: subst_Var) @@ -110,7 +110,7 @@ "cd (Abs u $ t) = (cd u)[cd t/0]" "cd (Abs s) = Abs (cd s)" -lemma par_beta_cd [rulify]: +lemma par_beta_cd [rulified]: "\t. s => t --> t => cd s" apply (induct_tac s rule: cd.induct) apply auto diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Lambda/Type.thy --- a/src/HOL/Lambda/Type.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Lambda/Type.thy Thu Sep 07 21:10:11 2000 +0200 @@ -74,7 +74,7 @@ text {* Iterated function types *} -lemma list_app_typeD [rulify]: +lemma list_app_typeD [rulified]: "\t T. e |- t $$ ts : T --> (\Ts. e |- t : Ts =>> T \ types e ts Ts)" apply (induct_tac ts) apply simp @@ -90,7 +90,7 @@ apply simp done -lemma list_app_typeI [rulify]: +lemma list_app_typeI [rulified]: "\t T Ts. e |- t : Ts =>> T --> types e ts Ts --> e |- t $$ ts : T" apply (induct_tac ts) apply (intro strip) @@ -109,7 +109,7 @@ apply blast done -lemma lists_types [rulify]: +lemma lists_types [rulified]: "\Ts. types e ts Ts --> ts \ lists {t. \T. e |- t : T}" apply (induct_tac ts) apply (intro strip) @@ -129,19 +129,19 @@ subsection {* Lifting preserves termination and well-typedness *} -lemma lift_map [rulify, simp]: +lemma lift_map [rulified, simp]: "\t. lift (t $$ ts) i = lift t i $$ map (\t. lift t i) ts" apply (induct_tac ts) apply simp_all done -lemma subst_map [rulify, simp]: +lemma subst_map [rulified, simp]: "\t. subst (t $$ ts) u i = subst t u i $$ map (\t. subst t u i) ts" apply (induct_tac ts) apply simp_all done -lemma lift_IT [rulify, intro!]: +lemma lift_IT [rulified, intro!]: "t \ IT ==> \i. lift t i \ IT" apply (erule IT.induct) apply (rule allI) @@ -161,7 +161,7 @@ apply auto done -lemma lifts_IT [rulify]: +lemma lifts_IT [rulified]: "ts \ lists IT --> map (\t. lift t 0) ts \ lists IT" apply (induct_tac ts) apply auto @@ -180,7 +180,7 @@ apply simp_all done -lemma lift_type' [rulify]: +lemma lift_type' [rulified]: "e |- t : T ==> \i U. (\j. if j < i then e j else if j = i then U @@ -202,7 +202,7 @@ apply simp_all done -lemma lift_types [rulify]: +lemma lift_types [rulified]: "\Ts. types e ts Ts --> types (\j. if j < i then e j else if j = i then U @@ -219,7 +219,7 @@ subsection {* Substitution lemmas *} -lemma subst_lemma [rulify]: +lemma subst_lemma [rulified]: "e |- t : T ==> \e' i U u. e = (\j. if j < i then e' j else if j = i then U @@ -242,7 +242,7 @@ apply fastsimp done -lemma substs_lemma [rulify]: +lemma substs_lemma [rulified]: "e |- u : T ==> \Ts. types (\j. if j < i then e j else if j = i then T else e (j - 1)) ts Ts --> @@ -265,7 +265,7 @@ subsection {* Subject reduction *} -lemma subject_reduction [rulify]: +lemma subject_reduction [rulified]: "e |- t : T ==> \t'. t -> t' --> e |- t' : T" apply (erule typing.induct) apply blast @@ -290,7 +290,7 @@ apply simp done -lemma subst_Var_IT [rulify]: "r \ IT ==> \i j. r[Var i/j] \ IT" +lemma subst_Var_IT [rulified]: "r \ IT ==> \i j. r[Var i/j] \ IT" apply (erule IT.induct) txt {* Case @{term Var}: *} apply (intro strip) @@ -334,7 +334,7 @@ apply (rule lists.Cons) apply (rule Var_IT) apply (rule lists.Nil) - apply (rule IT.Beta [where ?ss = "[]", unfold foldl_Nil [THEN eq_reflection]]) + apply (rule IT.Beta [where ?ss = "[]", unfolded foldl_Nil [THEN eq_reflection]]) apply (erule subst_Var_IT) apply (rule Var_IT) apply (subst app_last) @@ -347,7 +347,7 @@ subsection {* Well-typed substitution preserves termination *} -lemma subst_type_IT [rulify]: +lemma subst_type_IT [rulified]: "\t. t \ IT --> (\e T u i. (\j. if j < i then e j else if j = i then U @@ -454,7 +454,7 @@ apply simp apply (rule subst_type_IT) apply (rule lists.Nil - [THEN 2 lists.Cons [THEN IT.Var], unfold foldl_Nil [THEN eq_reflection] + [THEN 2 lists.Cons [THEN IT.Var], unfolded foldl_Nil [THEN eq_reflection] foldl_Cons [THEN eq_reflection]]) apply (erule lift_IT) apply (rule typing.App) diff -r 14a71104a498 -r 5c027cca6262 src/HOL/MicroJava/BV/BVSpecTypeSafe.thy --- a/src/HOL/MicroJava/BV/BVSpecTypeSafe.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/MicroJava/BV/BVSpecTypeSafe.thy Thu Sep 07 21:10:11 2000 +0200 @@ -587,7 +587,7 @@ by (auto simp add: correct_state_def Let_def) -lemma BV_correct_1 [rulify]: +lemma BV_correct_1 [rulified]: "\state. \ wt_jvm_prog G phi; G,phi \JVM state\\ \ exec (G,state) = Some state' \ G,phi \JVM state'\" apply (simp only: split_tupled_all) @@ -617,7 +617,7 @@ done -theorem BV_correct [rulify]: +theorem BV_correct [rulified]: "\ wt_jvm_prog G phi; G \ s -jvm\ t \ \ G,phi \JVM s\ \ G,phi \JVM t\" apply (unfold exec_all_def) apply (erule rtrancl_induct) diff -r 14a71104a498 -r 5c027cca6262 src/HOL/MicroJava/BV/Convert.thy --- a/src/HOL/MicroJava/BV/Convert.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/MicroJava/BV/Convert.thy Thu Sep 07 21:10:11 2000 +0200 @@ -383,7 +383,7 @@ qed -theorem sup_loc_update [rulify]: +theorem sup_loc_update [rulified]: "\ n y. (G \ a <=o b) \ n < length y \ (G \ x <=l y) \ (G \ x[n := a] <=l y[n := b])" (is "?P x") proof (induct x) @@ -485,7 +485,7 @@ with G show ?thesis - by (auto intro!: all_nth_sup_loc [rulify] dest!: sup_loc_length) + by (auto intro!: all_nth_sup_loc [rulified] dest!: sup_loc_length) qed diff -r 14a71104a498 -r 5c027cca6262 src/HOL/MicroJava/BV/Correct.thy --- a/src/HOL/MicroJava/BV/Correct.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/MicroJava/BV/Correct.thy Thu Sep 07 21:10:11 2000 +0200 @@ -92,11 +92,11 @@ "approx_val G hp Null (Ok (RefT x))" by (auto intro: null simp add: approx_val_def) -lemma approx_val_imp_approx_val_assConvertible [rulify]: +lemma approx_val_imp_approx_val_assConvertible [rulified]: "wf_prog wt G \ approx_val G hp v (Ok T) \ G\ T\T' \ approx_val G hp v (Ok T')" by (cases T) (auto intro: conf_widen simp add: approx_val_def) -lemma approx_val_imp_approx_val_sup_heap [rulify]: +lemma approx_val_imp_approx_val_sup_heap [rulified]: "approx_val G hp v at \ hp \| hp' \ approx_val G hp' v at" apply (simp add: approx_val_def split: err.split) apply (blast intro: conf_hext) @@ -107,7 +107,7 @@ \ G,hp(a\obj)\ v\\T" by (cases v, auto simp add: obj_ty_def conf_def) -lemma approx_val_imp_approx_val_sup [rulify]: +lemma approx_val_imp_approx_val_sup [rulified]: "wf_prog wt G \ (approx_val G h v us) \ (G \ us <=o us') \ (approx_val G h v us')" apply (simp add: sup_PTS_eq approx_val_def split: err.split) apply (blast intro: conf_widen) @@ -128,7 +128,7 @@ "approx_loc G hp (s#xs) (l#ls) = (approx_val G hp s l \ approx_loc G hp xs ls)" by (simp add: approx_loc_def) -lemma assConv_approx_stk_imp_approx_loc [rulify]: +lemma assConv_approx_stk_imp_approx_loc [rulified]: "wf_prog wt G \ (\tt'\set (zip tys_n ts). tt' \ widen G) \ length tys_n = length ts \ approx_stk G hp s tys_n \ approx_loc G hp s (map Ok ts)" @@ -139,7 +139,7 @@ . -lemma approx_loc_imp_approx_loc_sup_heap [rulify]: +lemma approx_loc_imp_approx_loc_sup_heap [rulified]: "\lvars. approx_loc G hp lvars lt \ hp \| hp' \ approx_loc G hp' lvars lt" apply (unfold approx_loc_def list_all2_def) apply (cases lt) @@ -149,7 +149,7 @@ apply auto . -lemma approx_loc_imp_approx_loc_sup [rulify]: +lemma approx_loc_imp_approx_loc_sup [rulified]: "wf_prog wt G \ approx_loc G hp lvars lt \ G \ lt <=l lt' \ approx_loc G hp lvars lt'" apply (unfold sup_loc_def approx_loc_def list_all2_def) apply (auto simp add: all_set_conv_all_nth) @@ -157,7 +157,7 @@ . -lemma approx_loc_imp_approx_loc_subst [rulify]: +lemma approx_loc_imp_approx_loc_subst [rulified]: "\loc idx x X. (approx_loc G hp loc LT) \ (approx_val G hp x X) \ (approx_loc G hp (loc[idx:=x]) (LT[idx:=X]))" apply (unfold approx_loc_def list_all2_def) @@ -167,7 +167,7 @@ lemmas [cong] = conj_cong -lemma approx_loc_append [rulify]: +lemma approx_loc_append [rulified]: "\L1 l2 L2. length l1=length L1 \ approx_loc G hp (l1@l2) (L1@L2) = (approx_loc G hp l1 L1 \ approx_loc G hp l2 L2)" apply (unfold approx_loc_def list_all2_def) @@ -191,11 +191,11 @@ by (auto intro: subst [OF approx_stk_rev_lem]) -lemma approx_stk_imp_approx_stk_sup_heap [rulify]: +lemma approx_stk_imp_approx_stk_sup_heap [rulified]: "\lvars. approx_stk G hp lvars lt \ hp \| hp' \ approx_stk G hp' lvars lt" by (auto intro: approx_loc_imp_approx_loc_sup_heap simp add: approx_stk_def) -lemma approx_stk_imp_approx_stk_sup [rulify]: +lemma approx_stk_imp_approx_stk_sup [rulified]: "wf_prog wt G \ approx_stk G hp lvars st \ (G \ map Ok st <=l (map Ok st')) \ approx_stk G hp lvars st'" by (auto intro: approx_loc_imp_approx_loc_sup simp add: approx_stk_def) @@ -232,13 +232,13 @@ . -lemma oconf_imp_oconf_field_update [rulify]: +lemma oconf_imp_oconf_field_update [rulified]: "\map_of (fields (G, oT)) FD = Some T; G,hp\v\\T; G,hp\(oT,fs)\ \ \ G,hp\(oT, fs(FD\v))\" by (simp add: oconf_def lconf_def) -lemma oconf_imp_oconf_heap_newref [rulify]: +lemma oconf_imp_oconf_heap_newref [rulified]: "hp x = None \ G,hp\obj\ \ G,hp\obj'\ \ G,(hp(newref hp\obj'))\obj\" apply (unfold oconf_def lconf_def) apply simp @@ -246,7 +246,7 @@ . -lemma oconf_imp_oconf_heap_update [rulify]: +lemma oconf_imp_oconf_heap_update [rulified]: "hp a = Some obj' \ obj_ty obj' = obj_ty obj'' \ G,hp\obj\ \ G,hp(a\obj'')\obj\" apply (unfold oconf_def lconf_def) @@ -258,13 +258,13 @@ (** hconf **) -lemma hconf_imp_hconf_newref [rulify]: +lemma hconf_imp_hconf_newref [rulified]: "hp x = None \ G\h hp\ \ G,hp\obj\ \ G\h hp(newref hp\obj)\" apply (simp add: hconf_def) apply (fast intro: oconf_imp_oconf_heap_newref) . -lemma hconf_imp_hconf_field_update [rulify]: +lemma hconf_imp_hconf_field_update [rulified]: "map_of (fields (G, oT)) (F, D) = Some T \ hp oloc = Some(oT,fs) \ G,hp\v\\T \ G\h hp\ \ G\h hp(oloc \ (oT, fs((F,D)\v)))\" apply (simp add: hconf_def) @@ -276,7 +276,7 @@ lemmas [simp del] = fun_upd_apply -lemma correct_frames_imp_correct_frames_field_update [rulify]: +lemma correct_frames_imp_correct_frames_field_update [rulified]: "\rT C sig. correct_frames G hp phi rT sig frs \ hp a = Some (C,od) \ map_of (fields (G, C)) fl = Some fd \ G,hp\v\\fd @@ -299,7 +299,7 @@ apply simp . -lemma correct_frames_imp_correct_frames_newref [rulify]: +lemma correct_frames_imp_correct_frames_newref [rulified]: "\rT C sig. hp x = None \ correct_frames G hp phi rT sig frs \ oconf G hp obj \ correct_frames G (hp(newref hp \ obj)) phi rT sig frs" apply (induct frs) diff -r 14a71104a498 -r 5c027cca6262 src/HOL/MicroJava/BV/LBVComplete.thy --- a/src/HOL/MicroJava/BV/LBVComplete.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/MicroJava/BV/LBVComplete.thy Thu Sep 07 21:10:11 2000 +0200 @@ -161,7 +161,7 @@ case None with wtl fits show ?thesis - by - (rule wtl_inst_mono [elimify], (simp add: wtl_cert_def)+) + by - (rule wtl_inst_mono [elimified], (simp add: wtl_cert_def)+) next case Some with wtl fits @@ -406,7 +406,7 @@ "[| wt_method G C pTs rT mxl ins phi; fits ins cert phi |] ==> wtl_method G C pTs rT mxl ins cert" by (simp add: wt_method_def wtl_method_def) - (rule wt_imp_wtl_inst_list [rulify, elimify], auto simp add: wt_start_def) + (rule wt_imp_wtl_inst_list [rulified, elimified], auto simp add: wt_start_def) lemma wtl_method_complete: @@ -462,17 +462,17 @@ from 1 show "wtl_method G a ba ad ae bb (make_Cert G Phi a (ac, ba))" - proof (rule bspec [elimify], clarsimp) + proof (rule bspec [elimified], clarsimp) assume ub : "unique b" assume m: "\(sig,rT,mb)\set b. wf_mhead G sig rT \ (\(maxl,b). wt_method G a (snd sig) rT maxl b (Phi a sig)) mb" from m b show ?thesis - proof (rule bspec [elimify], clarsimp) + proof (rule bspec [elimified], clarsimp) assume "wt_method G a ba ad ae bb (Phi a (ac, ba))" with wfprog uG ub b 1 show ?thesis - by - (rule wtl_method_complete [elimify], assumption+, + by - (rule wtl_method_complete [elimified], assumption+, simp add: make_Cert_def unique_epsilon) qed qed diff -r 14a71104a498 -r 5c027cca6262 src/HOL/MicroJava/BV/LBVCorrect.thy --- a/src/HOL/MicroJava/BV/LBVCorrect.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/MicroJava/BV/LBVCorrect.thy Thu Sep 07 21:10:11 2000 +0200 @@ -264,7 +264,7 @@ assume wtl: "wtl_inst_list ins G rT cert (length ins) 0 ?s0 \ Err" obtain phi where fits: "fits phi ins G rT ?s0 cert" - by (rule exists_phi [elimify]) blast + by (rule exists_phi [elimified]) blast with wtl have allpc: diff -r 14a71104a498 -r 5c027cca6262 src/HOL/MicroJava/BV/StepMono.thy --- a/src/HOL/MicroJava/BV/StepMono.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/MicroJava/BV/StepMono.thy Thu Sep 07 21:10:11 2000 +0200 @@ -13,7 +13,7 @@ by (auto elim: widen.elims) -lemma sup_loc_some [rulify]: +lemma sup_loc_some [rulified]: "\ y n. (G \ b <=l y) \ n < length y \ y!n = Ok t \ (\t. b!n = Ok t \ (G \ (b!n) <=o (y!n)))" (is "?P b") proof (induct (open) ?P b) @@ -59,7 +59,7 @@ qed -lemma append_length_n [rulify]: +lemma append_length_n [rulified]: "\n. n \ length x \ (\a b. x = a@b \ length a = n)" (is "?P x") proof (induct (open) ?P x) show "?P []" by simp @@ -78,7 +78,7 @@ fix "n'" assume s: "n = Suc n'" with l have "n' \ length ls" by simp - hence "\a b. ls = a @ b \ length a = n'" by (rule Cons [rulify]) + hence "\a b. ls = a @ b \ length a = n'" by (rule Cons [rulified]) thus ?thesis proof elim fix a b @@ -254,7 +254,7 @@ have "length list < length (fst s2)" by (simp add: sup_state_length) hence "\a b c. (fst s2) = rev a @ b # c \ length a = length list" - by (rule rev_append_cons [rulify]) + by (rule rev_append_cons [rulified]) thus ?thesis by - (cases s2, elim exE conjE, simp, rule that) qed diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Real/HahnBanach/Aux.thy --- a/src/HOL/Real/HahnBanach/Aux.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Real/HahnBanach/Aux.thy Thu Sep 07 21:10:11 2000 +0200 @@ -12,7 +12,7 @@ lemmas [intro?] = isLub_isUb lemmas [intro?] = chainD -lemmas chainE2 = chainD2 [elimify] +lemmas chainE2 = chainD2 [elimified] text_raw {* \medskip *} text{* Lemmas about sets. *} diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Real/HahnBanach/HahnBanachExtLemmas.thy --- a/src/HOL/Real/HahnBanach/HahnBanachExtLemmas.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Real/HahnBanach/HahnBanachExtLemmas.thy Thu Sep 07 21:10:11 2000 +0200 @@ -273,7 +273,7 @@ by case analysis on $a$. *}; also; have "... <= p (y + a \ x0)"; - proof (rule linorder_less_split); + proof (rule linorder_cases); assume z: "a = #0"; with vs y a; show ?thesis; by simp; diff -r 14a71104a498 -r 5c027cca6262 src/HOL/Real/HahnBanach/Subspace.thy --- a/src/HOL/Real/HahnBanach/Subspace.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/Real/HahnBanach/Subspace.thy Thu Sep 07 21:10:11 2000 +0200 @@ -227,7 +227,7 @@ "x \ U + V = (\u \ U. \v \ V. x = u + v)" by (unfold vs_sum_def) fast -lemmas vs_sumE = vs_sumD [THEN iffD1, elimify, standard] +lemmas vs_sumE = vs_sumD [THEN iffD1, elimified, standard] lemma vs_sumI [intro?]: "[| x \ U; y \ V; t= x + y |] ==> t \ U + V" diff -r 14a71104a498 -r 5c027cca6262 src/HOL/ex/Primes.thy --- a/src/HOL/ex/Primes.thy Thu Sep 07 21:06:55 2000 +0200 +++ b/src/HOL/ex/Primes.thy Thu Sep 07 21:10:11 2000 +0200 @@ -71,7 +71,7 @@ (*Maximality: for all m,n,f naturals, if f divides m and f divides n then f divides gcd(m,n)*) -lemma gcd_greatest [rulify]: "(f dvd m) --> (f dvd n) --> f dvd gcd(m,n)" +lemma gcd_greatest [rulified]: "(f dvd m) --> (f dvd n) --> f dvd gcd(m,n)" apply (induct_tac m n rule: gcd_induct) apply (simp_all add: gcd_non_0 dvd_mod); done;