Updated simpsets and a few proofs.
authornipkow
Tue, 22 Mar 1994 08:31:58 +0100
changeset 57 194d088c1511
parent 56 385d51d74f71
child 58 1322cef1a4d8
Updated simpsets and a few proofs. Reomved junk file test.ML.
Nat.ML
equalities.ML
nat.ML
simpdata.ML
subset.ML
--- a/Nat.ML	Tue Mar 22 08:28:31 1994 +0100
+++ b/Nat.ML	Tue Mar 22 08:31:58 1994 +0100
@@ -425,3 +425,5 @@
 by (EVERY1[dtac le_imp_less_or_eq, dtac le_imp_less_or_eq,
           fast_tac (HOL_cs addEs [less_anti_refl,less_anti_sym])]);
 val le_anti_sym = result();
+
+val nat_ss = nat_ss addsimps [le_refl];
--- a/equalities.ML	Tue Mar 22 08:28:31 1994 +0100
+++ b/equalities.ML	Tue Mar 22 08:31:58 1994 +0100
@@ -26,6 +26,10 @@
 by (fast_tac eq_cs 1);
 val insert_absorb = result();
 
+goal Set.thy "(insert(x,A) <= B) = (x:B & A <= B)";
+by (fast_tac set_cs 1);
+val insert_subset = result();
+
 (** Image **)
 
 goal Set.thy "f``{} = {}";
@@ -273,7 +277,7 @@
 val Diff_Int = result();
 
 val set_ss = set_ss addsimps
-  [in_empty,in_insert,
+  [in_empty,in_insert,insert_subset,
    Int_absorb,Int_empty_left,Int_empty_right,
    Un_absorb,Un_empty_left,Un_empty_right,
    constant_UN,image_empty,
--- a/nat.ML	Tue Mar 22 08:28:31 1994 +0100
+++ b/nat.ML	Tue Mar 22 08:31:58 1994 +0100
@@ -425,3 +425,5 @@
 by (EVERY1[dtac le_imp_less_or_eq, dtac le_imp_less_or_eq,
           fast_tac (HOL_cs addEs [less_anti_refl,less_anti_sym])]);
 val le_anti_sym = result();
+
+val nat_ss = nat_ss addsimps [le_refl];
--- a/simpdata.ML	Tue Mar 22 08:28:31 1994 +0100
+++ b/simpdata.ML	Tue Mar 22 08:31:58 1994 +0100
@@ -69,6 +69,9 @@
 in
 
 val conj_assoc = prover "((P&Q)&R) = (P&(Q&R))";
+val conj_commute = prover "(P&Q) = (Q&P)";
+val conj_right_commute = prover "((P&Q)&R) = ((P&R)&Q)";
+val conj_ac = [conj_assoc RS sym, conj_commute, conj_right_commute];
 
 val if_True = prove_goal HOL.thy "if(True,x,y) = x"
  (fn _=>[stac if_def 1,  fast_tac (HOL_cs addIs [select_equality]) 1]);
--- a/subset.ML	Tue Mar 22 08:28:31 1994 +0100
+++ b/subset.ML	Tue Mar 22 08:31:58 1994 +0100
@@ -12,13 +12,6 @@
 val subset_insertI = prove_goal Set.thy "B <= insert(a,B)"
  (fn _=> [ (rtac subsetI 1), (etac insertI2 1) ]);
 
-(*Useful for rewriting!*)
-goalw Set.thy [subset_def,Ball_def] "insert(a,B)<=C = (a:C & B<=C)";
-(*by(SIMP_TAC (HOL_ss addsimps [insert_iff]) 1);*)
-by(simp_tac (HOL_ss addsimps [insert_iff]) 1);
-by(fast_tac HOL_cs 1);
-val insert_subset_iff = result();
-
 (*** Big Union -- least upper bound of a set  ***)
 
 val prems = goal Set.thy