diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2015-09-25 17:58:56 +0200 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2015-09-25 17:58:56 +0200 |
commit | 773963f4342bb860fe4deb1d3c65d801b6acd72f (patch) | |
tree | c5cf5b0685df6311226f7f823f61c7bb3ff14241 /test | |
parent | 30920046fd6992b6e2c12c33ba888df5c1caf8de (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')
-rw-r--r-- | test/regress/regress0/push-pop/Makefile.am | 3 | ||||
-rw-r--r-- | test/regress/regress0/push-pop/bug674.smt2 | 28 |
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) + + |