src/HOL/UNITY/Union.ML
changeset 9403 aad13b59b8d9
parent 8314 463f63a9a7f2
child 9687 772ac061bd76
--- a/src/HOL/UNITY/Union.ML	Fri Jul 21 17:46:43 2000 +0200
+++ b/src/HOL/UNITY/Union.ML	Fri Jul 21 18:01:36 2000 +0200
@@ -188,6 +188,8 @@
 by (simp_tac (simpset() addsimps [Join_constrains, unless_def]) 1);
 qed "Join_unless";
 
+Addsimps [Join_constrains, Join_unless];
+
 (*Analogous weak versions FAIL; see Misra [1994] 5.4.1, Substitution Axiom.
   reachable (F Join G) could be much bigger than reachable F, reachable G
 *)
@@ -195,7 +197,7 @@
 
 Goal "[| F : A co A';  G : B co B' |] \
 \     ==> F Join G : (A Int B) co (A' Un B')";
-by (simp_tac (simpset() addsimps [Join_constrains]) 1);
+by (Simp_tac 1);
 by (blast_tac (claset() addIs [constrains_weaken]) 1);
 qed "Join_constrains_weaken";
 
@@ -219,7 +221,7 @@
 
 Goal "(F Join G : stable A) = \
 \     (F : stable A & G : stable A)";
-by (simp_tac (simpset() addsimps [stable_def, Join_constrains]) 1);
+by (simp_tac (simpset() addsimps [stable_def]) 1);
 qed "Join_stable";
 
 Goal "(F Join G : increasing f) = \
@@ -228,9 +230,11 @@
 by (Blast_tac 1);
 qed "Join_increasing";
 
+Addsimps [Join_stable, Join_increasing];
+
 Goal "[| F : invariant A; G : invariant A |]  \
 \     ==> F Join G : invariant A";
-by (full_simp_tac (simpset() addsimps [invariant_def, Join_stable]) 1);
+by (full_simp_tac (simpset() addsimps [invariant_def]) 1);
 by (Blast_tac 1);
 qed "invariant_JoinI";
 
@@ -254,6 +258,8 @@
 				  Join_def]));
 qed "Join_transient";
 
+Addsimps [Join_transient];
+
 Goal "F : transient A ==> F Join G : transient A";
 by (asm_simp_tac (simpset() addsimps [Join_transient]) 1);
 qed "Join_transient_I1";
@@ -274,8 +280,7 @@
      "F Join G : A ensures B =     \
 \     (F : (A-B) co (A Un B) & G : (A-B) co (A Un B) & \
 \      (F : transient (A-B) | G : transient (A-B)))";
-by (auto_tac (claset(),
-	      simpset() addsimps [Join_constrains, Join_transient]));
+by (auto_tac (claset(), simpset() addsimps [Join_transient]));
 qed "Join_ensures";
 
 Goalw [stable_def, constrains_def, Join_def]
@@ -289,7 +294,7 @@
   G : stable A *)
 Goal "[| F : stable A;  G : invariant A |] ==> F Join G : Always A";
 by (full_simp_tac (simpset() addsimps [Always_def, invariant_def, 
-				       Stable_eq_stable, Join_stable]) 1);
+				       Stable_eq_stable]) 1);
 by (force_tac(claset() addIs [stable_Int], simpset()) 1);
 qed "stable_Join_Always1";