src/HOL/UNITY/Union.ML
changeset 7537 875754b599df
parent 7523 3a716ebc2fc0
child 7594 8a188ef6545e
--- a/src/HOL/UNITY/Union.ML	Fri Sep 10 18:37:04 1999 +0200
+++ b/src/HOL/UNITY/Union.ML	Fri Sep 10 18:40:06 1999 +0200
@@ -58,7 +58,7 @@
 by (auto_tac (claset(), simpset() addsimps [Join_def]));
 qed "Acts_Join";
 
-Addsimps [Init_Join];
+Addsimps [Init_Join, Acts_Join];
 
 
 (** JN **)
@@ -82,7 +82,7 @@
 by (auto_tac (claset(), simpset() addsimps [JOIN_def]));
 qed "Acts_JN";
 
-Addsimps [Init_JN];
+Addsimps [Init_JN, Acts_JN];
 
 val prems = Goalw [JOIN_def]
     "[| I=J;  !!i. i:J ==> F i = G i |] ==> \
@@ -139,23 +139,19 @@
 
 (*Also follows by JN_insert and insert_absorb, but the proof is longer*)
 Goal "k:I ==> F k Join (JN i:I. F i) = (JN i:I. F i)";
-by (auto_tac (claset() addSIs [program_equalityI],
-	      simpset() addsimps [Acts_JN, Acts_Join]));
+by (auto_tac (claset() addSIs [program_equalityI], simpset()));
 qed "JN_absorb";
 
 Goal "(JN i: I Un J. F i) = ((JN i: I. F i) Join (JN i:J. F i))";
-by (auto_tac (claset() addSIs [program_equalityI],
-	      simpset() addsimps [Acts_JN, Acts_Join]));
+by (auto_tac (claset() addSIs [program_equalityI], simpset()));
 qed "JN_Un";
 
 Goal "(JN i:I. c) = (if I={} then SKIP else c)";
-by (auto_tac (claset() addSIs [program_equalityI],
-	      simpset() addsimps [Acts_JN]));
+by (auto_tac (claset() addSIs [program_equalityI], simpset()));
 qed "JN_constant";
 
 Goal "(JN i:I. F i Join G i) = (JN i:I. F i)  Join  (JN i:I. G i)";
-by (auto_tac (claset() addSIs [program_equalityI],
-	      simpset() addsimps [Acts_JN, Acts_Join]));
+by (auto_tac (claset() addSIs [program_equalityI], simpset()));
 qed "JN_Join_distrib";
 
 Goal "i : I ==> (JN i:I. F i Join G) = ((JN i:I. F i) Join G)";
@@ -268,7 +264,7 @@
 by (full_simp_tac (simpset() addsimps [Always_def, invariant_def, 
 				       Stable_eq_stable, Join_stable]) 1);
 by (force_tac(claset() addIs [stable_reachable, stable_Int],
-	      simpset() addsimps [Acts_Join]) 1);
+	      simpset()) 1);
 qed "stable_Join_Always";
 
 Goal "[| F : stable A;  G : A ensures B |] ==> F Join G : A ensures B";
@@ -300,7 +296,7 @@
 \     ==> G : (INT z. stable {s. v s = z})";
 by (asm_full_simp_tac 
     (simpset() addsimps [localTo_def, Diff_def, Disjoint_def,
-			 Acts_Join, stable_def, constrains_def]) 1);
+			 stable_def, constrains_def]) 1);
 by (Blast_tac 1);
 qed "localTo_imp_stable";
 
@@ -308,7 +304,7 @@
 \        act : Acts G;  Disjoint F G |] ==> v s' = v s";
 by (asm_full_simp_tac 
     (simpset() addsimps [localTo_def, Diff_def, Disjoint_def,
-			 Acts_Join, stable_def, constrains_def]) 1);
+			 stable_def, constrains_def]) 1);
 by (Blast_tac 1);
 qed "localTo_imp_equals";
 
@@ -326,7 +322,7 @@
 \        F Join G : w localTo F;       \
 \        Disjoint F G |]               \
 \     ==> F Join G : {s. P (v s) (w s)} co {s. P' (v s) (w s)}";
-by (auto_tac (claset(), simpset() addsimps [constrains_def, Acts_Join]));
+by (auto_tac (claset(), simpset() addsimps [constrains_def]));
 by (REPEAT_FIRST (dtac localTo_imp_equals THEN' REPEAT1 o atac));
 by Auto_tac;
 qed "constrains_localTo_constrains2";