summaryrefslogtreecommitdiff
path: root/test/regress/regress1/push-pop/bug326.smt2
diff options
context:
space:
mode:
Diffstat (limited to 'test/regress/regress1/push-pop/bug326.smt2')
-rw-r--r--test/regress/regress1/push-pop/bug326.smt241
1 files changed, 41 insertions, 0 deletions
diff --git a/test/regress/regress1/push-pop/bug326.smt2 b/test/regress/regress1/push-pop/bug326.smt2
new file mode 100644
index 000000000..f1506b3e8
--- /dev/null
+++ b/test/regress/regress1/push-pop/bug326.smt2
@@ -0,0 +1,41 @@
+; COMMAND-LINE: --incremental --rewrite-rules
+
+(set-logic AUFLIA)
+
+(declare-fun R (Int Int) Bool)
+
+;; reflexive
+(assert-rewrite ((x Int)) () () (R x x) true)
+
+;; anti-symmetric
+(assert-reduction ((x Int) (y Int)) () () ((R x y) (R y x)) (= x y))
+
+;; transitive
+(assert-propagation ((x Int) (y Int) (z Int)) () () ((R x y) (R y z)) (R x z))
+
+
+(declare-fun e1 () Int)
+(declare-fun e2 () Int)
+(declare-fun e3 () Int)
+(declare-fun e4 () Int)
+
+; EXPECT: unsat
+(push);;unsat
+(assert (not (=> (and (R e1 e2) (R e2 e4) (R e1 e3) (R e3 e4) (= e1 e4)) (= e2 e3))))
+(check-sat)
+(pop)
+
+; EXPECT: unsat
+(push);;unsat
+(assert (not (=> (and (R e1 e2) (R e1 e3) (or (R e2 e4) (R e3 e4)) ) (R e1 e4))))
+(check-sat)
+(pop)
+
+; EXPECT: sat
+(push);;sat
+(assert (and (not (R e1 e3)) (R e4 e1)))
+(check-sat)
+(pop)
+
+
+(exit)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback