summaryrefslogtreecommitdiff
path: root/test/regress/regress0/proofs
diff options
context:
space:
mode:
authorGereon Kremer <nafur42@gmail.com>2021-06-02 13:55:40 +0200
committerGitHub <noreply@github.com>2021-06-02 11:55:40 +0000
commit61b2694ac72d41aeff9c67e3631278e5a3bea5cb (patch)
tree1188888a726c908963fa55ffd332fe234b6eb8fd /test/regress/regress0/proofs
parenta158366e1e7fdc76e00926393b9d091870e30bad (diff)
Fix issues with double negation in circuit propagator (#6669)
This PR fixes a subtle issue with double negations when producing proofs in the circuit propagator. Adds the test case as a new regression, as well as some similar instances. Fixes cvc5/cvc5-projects#277.
Diffstat (limited to 'test/regress/regress0/proofs')
-rw-r--r--test/regress/regress0/proofs/issue277-circuit-propagator.smt247
1 files changed, 47 insertions, 0 deletions
diff --git a/test/regress/regress0/proofs/issue277-circuit-propagator.smt2 b/test/regress/regress0/proofs/issue277-circuit-propagator.smt2
new file mode 100644
index 000000000..f0815e8f2
--- /dev/null
+++ b/test/regress/regress0/proofs/issue277-circuit-propagator.smt2
@@ -0,0 +1,47 @@
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+(set-logic QF_UF)
+(set-option :produce-proofs true)
+(set-option :incremental true)
+(declare-fun p () Bool)
+(declare-fun q () Bool)
+
+(push)
+(assert (not (= p (not q))))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not q) p)))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not p) (not (not q)))))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not (not q)) (not p))))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not (not p)) (not (not (not q))))))
+(assert p)
+(check-sat)
+(pop)
+
+(push)
+(assert (not (= (not (not (not q))) (not (not p)))))
+(assert p)
+(check-sat)
+(pop) \ No newline at end of file
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback