src/HOL/UNITY/Project.ML
changeset 11170 015af2fc7026
parent 10834 a7897aebbffc
--- a/src/HOL/UNITY/Project.ML	Tue Feb 20 18:47:34 2001 +0100
+++ b/src/HOL/UNITY/Project.ML	Tue Feb 20 18:48:34 2001 +0100
@@ -202,8 +202,9 @@
 by (force_tac (claset() addSIs [reachable.Init],
 	       simpset() addsimps [split_extended_all]) 1);
 by Auto_tac;
-by (force_tac (claset() addIs [project_act_I RSN (3,reachable.Acts)],
-	       simpset()) 2);
+by (force_tac (claset() delSWrapper "split_all_tac" addSbefore 
+   ("unsafe_split_all_tac", unsafe_split_all_tac) 
+   addIs [project_act_I RSN (3,reachable.Acts)], simpset()) 2);
 by (res_inst_tac [("act","x")] reachable.Acts 1);
 by Auto_tac;
 by (etac extend_act_D 1);
@@ -247,12 +248,10 @@
 \        x : reachable (F Join project h C G) |] \
 \     ==> EX y. h(x,y) : reachable (extend h F Join G)";
 by (etac reachable.induct 1);
-by (ALLGOALS Asm_full_simp_tac);
-by (force_tac (claset() delrules [Id_in_Acts]
-		        addIs [reachable.Acts, extend_act_D],
-	       simpset() addsimps [project_act_def]) 2);
-by (force_tac (claset() addIs [reachable.Init],
-	       simpset()) 1);
+by  (force_tac (claset() addIs [reachable.Init], simpset()) 1);
+by (auto_tac (claset(), simpset()addsimps [project_act_def]));
+by (ALLGOALS (force_tac (claset() delrules [Id_in_Acts]
+		        addIs [reachable.Acts, extend_act_D], simpset())));
 qed "reachable_project_imp_reachable";
 
 Goal "project_set h (reachable (extend h F Join G)) = \
@@ -595,18 +594,20 @@
 (*** Guarantees ***)
 
 Goal "project_act h (Restrict C act) <= project_act h act";
-by (auto_tac (claset(), simpset() addsimps [project_act_def]));  
+by (auto_tac (claset(), simpset() addsimps [project_act_def]));
 qed "project_act_Restrict_subset_project_act";
 					   
 							   
 Goal "[| extend h F ok G; subset_closed (AllowedActs F) |] \
 \     ==> F ok project h C G";
 by (auto_tac (claset(), simpset() addsimps [ok_def]));
-by (dtac subsetD 1);   
-by (Blast_tac 1); 
-by (force_tac (claset() addSIs [rev_image_eqI], simpset()) 1);
+by (dtac subsetD 1);
+by (Blast_tac 1);
+by (force_tac (claset() delSWrapper "split_all_tac" addSbefore 
+                    ("unsafe_split_all_tac", unsafe_split_all_tac) 
+                     addSIs [rev_image_eqI], simpset()) 1);
 by (cut_facts_tac [project_act_Restrict_subset_project_act] 1);
-by (auto_tac (claset(), simpset() addsimps [subset_closed_def]));  
+by (auto_tac (claset(), simpset() addsimps [subset_closed_def]));
 qed "subset_closed_ok_extend_imp_ok_project";