summaryrefslogtreecommitdiff
path: root/test/regress/regress0/push-pop
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2015-09-25 17:58:56 +0200
committerajreynol <andrew.j.reynolds@gmail.com>2015-09-25 17:58:56 +0200
commit773963f4342bb860fe4deb1d3c65d801b6acd72f (patch)
treec5cf5b0685df6311226f7f823f61c7bb3ff14241 /test/regress/regress0/push-pop
parent30920046fd6992b6e2c12c33ba888df5c1caf8de (diff)
Clear term caches for quantifiers + incremental, fixes bug 674. Refactoring of term database, other refactoring. Bug fixes for cbqi+datatypes.
Diffstat (limited to 'test/regress/regress0/push-pop')
-rw-r--r--test/regress/regress0/push-pop/Makefile.am3
-rw-r--r--test/regress/regress0/push-pop/bug674.smt228
2 files changed, 30 insertions, 1 deletions
diff --git a/test/regress/regress0/push-pop/Makefile.am b/test/regress/regress0/push-pop/Makefile.am
index 501e7b2c6..649cbee90 100644
--- a/test/regress/regress0/push-pop/Makefile.am
+++ b/test/regress/regress0/push-pop/Makefile.am
@@ -41,7 +41,8 @@ BUG_TESTS = \
quant-fun-proc-unmacro.smt2 \
quant-fun-proc-unfd.smt2 \
bug654-dd.smt2 \
- bug-fmf-fun-skolem.smt2
+ bug-fmf-fun-skolem.smt2 \
+ bug674.smt2
TESTS = $(SMT_TESTS) $(SMT2_TESTS) $(CVC_TESTS) $(BUG_TESTS)
diff --git a/test/regress/regress0/push-pop/bug674.smt2 b/test/regress/regress0/push-pop/bug674.smt2
new file mode 100644
index 000000000..967681ec3
--- /dev/null
+++ b/test/regress/regress0/push-pop/bug674.smt2
@@ -0,0 +1,28 @@
+; COMMAND-LINE: --quant-ind --incremental --rewrite-divk
+(set-logic ALL_SUPPORTED)
+(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil))))
+(define-fun-rec app ((l1 Lst) (l2 Lst)) Lst (ite (is-nil l1) l2 (cons (head l1) (app (tail l1) l2))))
+(define-fun-rec rev ((l Lst)) Lst (ite (is-nil l) nil (app (rev (tail l)) (cons (head l) nil))))
+; EXPECT: unsat
+(push 1)
+(assert (not (=> true (and (forall (($l1$0 Lst) ($l2$0 Lst) ($l3$0 Lst)) (= (app $l1$0 (app $l2$0 $l3$0)) (app (app $l1$0 $l2$0) $l3$0)))))))
+(check-sat)
+(pop 1)
+
+(assert (forall (($l1$0 Lst) ($l2$0 Lst) ($l3$0 Lst)) (= (app $l1$0 (app $l2$0 $l3$0)) (app (app $l1$0 $l2$0) $l3$0))))
+
+; EXPECT: unsat
+(push 1)
+(assert (not (=> true (and (forall (($l1$0 Lst) ($l2$0 Lst)) (= (rev (app $l1$0 $l2$0)) (app (rev $l2$0) (rev $l1$0))))))))
+(check-sat)
+(pop 1)
+
+(assert (forall (($l1$0 Lst) ($l2$0 Lst)) (= (rev (app $l1$0 $l2$0)) (app (rev $l2$0) (rev $l1$0)))))
+
+; EXPECT: unsat
+(push 1)
+(assert (not (=> true (and (forall (($l1$0 Lst)) (= (rev (rev $l1$0)) $l1$0))))))
+(check-sat)
+(pop 1)
+
+
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback