conj_cong2: new congruence rule
authorlcp
Fri, 16 Dec 1994 13:30:34 +0100
changeset 793 0b5c5f568d74
parent 792 5d2a7634da46
child 794 349d41ffa378
conj_cong2: new congruence rule
src/FOL/IFOL.ML
--- a/src/FOL/IFOL.ML	Thu Dec 15 11:50:53 1994 +0100
+++ b/src/FOL/IFOL.ML	Fri Dec 16 13:30:34 1994 +0100
@@ -150,6 +150,15 @@
       ORELSE  eresolve_tac [iffE,conjE,mp] 1
       ORELSE  iff_tac prems 1)) ]);
 
+(*Reversed congruence rule!   Used in ZF/Order*)
+qed_goal "conj_cong2" IFOL.thy 
+    "[| P <-> P';  P' ==> Q <-> Q' |] ==> (Q&P) <-> (Q'&P')"
+ (fn prems =>
+  [ (cut_facts_tac prems 1),
+    (REPEAT  (ares_tac [iffI,conjI] 1
+      ORELSE  eresolve_tac [iffE,conjE,mp] 1
+      ORELSE  iff_tac prems 1)) ]);
+
 qed_goal "disj_cong" IFOL.thy 
     "[| P <-> P';  Q <-> Q' |] ==> (P|Q) <-> (P'|Q')"
  (fn prems =>