Addition of one-point quantifier rewrite rules
authorpaulson
Tue, 08 Oct 1996 10:17:50 +0200
changeset 2065 b696f087f052
parent 2064 5a5e508e2a2b
child 2066 b9063086ef56
Addition of one-point quantifier rewrite rules
src/FOL/simpdata.ML
--- a/src/FOL/simpdata.ML	Mon Oct 07 10:55:51 1996 +0200
+++ b/src/FOL/simpdata.ML	Tue Oct 08 10:17:50 1996 +0200
@@ -138,7 +138,9 @@
 
 (*Miniscoping: pushing in existential quantifiers*)
 val ex_simps = map prove_fun 
-                ["(EX x. P(x) & Q) <-> (EX x.P(x)) & Q",
+                ["(EX x. x=t & P(x)) <-> P(t)",
+                 "(EX x. t=x & P(x)) <-> P(t)",
+                 "(EX x. P(x) & Q) <-> (EX x.P(x)) & Q",
                  "(EX x. P & Q(x)) <-> P & (EX x.Q(x))",
                  "(EX x. P(x) | Q) <-> (EX x.P(x)) | Q",
                  "(EX x. P | Q(x)) <-> P | (EX x.Q(x))",
@@ -147,7 +149,9 @@
 
 (*Miniscoping: pushing in universal quantifiers*)
 val all_simps = map prove_fun
-                ["(ALL x. P(x) & Q) <-> (ALL x.P(x)) & Q",
+                ["(ALL x. x=t --> P(x)) <-> P(t)",
+                 "(ALL x. t=x --> P(x)) <-> P(t)",
+                 "(ALL x. P(x) & Q) <-> (ALL x.P(x)) & Q",
                  "(ALL x. P & Q(x)) <-> P & (ALL x.Q(x))",
                  "(ALL x. P(x) | Q) <-> (ALL x.P(x)) | Q",
                  "(ALL x. P | Q(x)) <-> P | (ALL x.Q(x))",