src/HOL/UNITY/Lift.ML
changeset 5424 771a68a468cc
parent 5410 5ed7547a7f74
child 5426 566f47250bd0
--- a/src/HOL/UNITY/Lift.ML	Wed Sep 02 10:36:49 1998 +0200
+++ b/src/HOL/UNITY/Lift.ML	Wed Sep 02 10:37:13 1998 +0200
@@ -97,18 +97,19 @@
 by (rtac InvariantI 1);
 by (Force_tac 1);
 by (constrains_tac (cmd_defs@always_defs) 1);
+by Safe_tac;
 by (dres_inst_tac [("m","f")] le_imp_less_or_eq 3);
 by (auto_tac (claset(),
 	      simpset() addsimps [gr_implies_gr0 RS le_pred_eq]));
 qed "moving_down";
 
-
 Goal "Invariant Lprg bounded";
 by (rtac InvariantI 1);
 br (Invariant_Int_rule [moving_up, moving_down] RS Invariant_StableI) 2;
 bw Lprg_def;
 by (Force_tac 1);
 by (constrains_tac (cmd_defs@always_defs) 1);
+by Safe_tac;
 by (TRYALL (resolve_tac [nat_exhaust_le_pred, nat_exhaust_pred_le]));
 by (auto_tac (claset(), simpset() addsimps [less_Suc_eq]));
 by (auto_tac (claset(), simpset() addsimps [less_Suc_eq, le_eq_less_or_eq]));
@@ -133,6 +134,7 @@
 Goal "LeadsTo Lprg (stopped Int atFloor n) (opened Int atFloor n)";
 by (cut_facts_tac [stop_floor] 1);
 by (ensures_tac defs "open_act" 1);
+by Auto_tac;
 qed "E_thm01";
 
 (*lem_lift_1_1*)
@@ -140,12 +142,14 @@
 \                  (Req n Int opened - atFloor n)";
 by (cut_facts_tac [stop_floor] 1);
 by (ensures_tac defs "open_act" 1);
+by Auto_tac;
 qed "E_thm02";
 
 (*lem_lift_1_2*)
 Goal "LeadsTo Lprg (Req n Int opened - atFloor n) \
 \                  (Req n Int closed - (atFloor n - queueing))";
 by (ensures_tac defs "close_act" 1);
+by Auto_tac;
 qed "E_thm03";
 
 
@@ -153,6 +157,7 @@
 Goal "LeadsTo Lprg (Req n Int closed Int (atFloor n - queueing)) \
 \                  (opened Int atFloor n)";
 by (ensures_tac defs "open_act" 1);
+by Auto_tac;
 qed "E_thm04";
 
 
@@ -187,6 +192,7 @@
 br ([E_thm05c, LeadsTo_Un] MRS LeadsTo_Trans) 1;
 by (ensures_tac defs "req_down" 2);
 by (ensures_tac defs "req_up" 1);
+by Auto_tac;
 qed "lift_2";
 
 
@@ -210,6 +216,7 @@
 \       (moving Int Req n Int (metric n -`` lessThan N))";
 by (cut_facts_tac [moving_up] 1);
 by (ensures_tac defs "move_up" 1);
+by Auto_tac;
 (*this step consolidates two formulae to the goal  metric n s' <= metric n s*)
 be (leI RS le_anti_sym RS sym) 1;
 by (eres_inst_tac [("P", "?x < metric n s")] notE 2);
@@ -236,6 +243,7 @@
 \       (moving Int Req n Int (metric n -`` lessThan N))";
 by (cut_facts_tac [moving_down] 1);
 by (ensures_tac defs "move_down" 1);
+by Auto_tac;
 by (ALLGOALS distinct_tac);
 by (ALLGOALS (etac less_floor_imp THEN' Clarify_tac THEN' Asm_full_simp_tac));
 (*this step consolidates two formulae to the goal  metric n s' <= metric n s*)
@@ -271,6 +279,8 @@
 \                      (moving Int Req n Int (metric n -`` lessThan N))";
 by (cut_facts_tac [bounded] 1);
 by (ensures_tac defs "req_up" 1);
+by Auto_tac;
+by (ALLGOALS (eres_inst_tac [("P", "?x < metric n s")] notE));
 by (REPEAT_FIRST (etac rev_mp'));
 by (ALLGOALS (asm_simp_tac (simpset() addsimps metric_simps)));
 by (auto_tac (claset() addIs [diff_Suc_less_diff], 
@@ -302,6 +312,8 @@
 \                  (moving Int Req n Int (metric n -`` lessThan N))";
 by (cut_facts_tac [bounded] 1);
 by (ensures_tac defs "req_down" 1);
+by Auto_tac;
+by (ALLGOALS (eres_inst_tac [("P", "?x < metric n s")] notE));
 by (ALLGOALS (etac less_floor_imp THEN' Clarify_tac THEN' Asm_full_simp_tac));
 by (REPEAT_FIRST (etac rev_mp'));
 by (ALLGOALS (asm_simp_tac (simpset() addsimps metric_simps)));
@@ -357,7 +369,7 @@
 Goal "[| metric n s = 0;  Min <= floor s;  floor s <= Max |] ==> floor s = n";
 be rev_mp 1;
 by (asm_simp_tac (simpset() addsimps metric_simps) 1);
-auto();
+by Auto_tac;
 qed "metric_eq_0D";
 
 AddDs [metric_eq_0D];
@@ -368,6 +380,7 @@
 \                  (stopped Int atFloor n)";
 by (cut_facts_tac [bounded] 1);
 by (ensures_tac defs "request_act" 1);
+by Auto_tac;
 qed "E_thm11";
 
 (*lem_lift_3_5*)
@@ -375,7 +388,7 @@
 \       (moving Int Req n Int (metric n -`` {N}) Int {s. floor s : req s})   \
 \       (stopped Int Req n Int (metric n -`` {N}) Int {s. floor s : req s})";
 by (ensures_tac defs "request_act" 1);
-by (asm_simp_tac (simpset() addsimps metric_simps) 1);
+by (auto_tac (claset(), simpset() addsimps metric_simps));
 qed "E_thm13";
 
 (*lem_lift_3_6*)
@@ -385,7 +398,7 @@
 \       (opened Int Req n Int (metric n -`` {N}))";
 by (ensures_tac defs "open_act" 1);
 by (REPEAT_FIRST (etac rev_mp'));
-by (ALLGOALS (asm_simp_tac (simpset() addsimps metric_simps)));
+by (auto_tac (claset(), simpset() addsimps metric_simps));
 qed "E_thm14";
 
 (*lem_lift_3_7*)
@@ -393,7 +406,7 @@
 \       (opened Int Req n Int (metric n -`` {N}))  \
 \       (closed Int Req n Int (metric n -`` {N}))";
 by (ensures_tac defs "close_act" 1);
-by (asm_simp_tac (simpset() addsimps metric_simps) 1);
+by (auto_tac (claset(), simpset() addsimps metric_simps));
 qed "E_thm15";