summaryrefslogtreecommitdiff
path: root/test/regress/regress1
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-11-19 16:53:48 -0600
committerGitHub <noreply@github.com>2020-11-19 16:53:48 -0600
commitf2ed7b1aebc175b971e3cebf4c0b2fff6e4e895f (patch)
tree9d67467344399282909475f3cf891639f8abbaf8 /test/regress/regress1
parent7191e58e5561a159c0cd3b81fddbe311ba70a45b (diff)
Enable new implementation of CEGQI based on nested quantifier elimination (#5477)
This replaces the old implementation of CEGQI based on nested quantifier elimination (--cegqi-nested-qe) with the new implementation. The previous implementation used some convoluted internal attributes to manage dependencies between quantified formulas, the new implementation is much simpler: it simply eliminates nested quantification eagerly. Fixes #5365, fixes #5279, fixes #4849, fixes #4433. This PR also required fixes related to how quantifier elimination is computed.
Diffstat (limited to 'test/regress/regress1')
-rw-r--r--test/regress/regress1/quantifiers/issue4433-nqe.smt29
-rw-r--r--test/regress/regress1/quantifiers/issue4849-nqe.smt27
-rw-r--r--test/regress/regress1/quantifiers/issue5279-nqe.smt25
-rw-r--r--test/regress/regress1/quantifiers/issue5365-nqe.smt214
4 files changed, 35 insertions, 0 deletions
diff --git a/test/regress/regress1/quantifiers/issue4433-nqe.smt2 b/test/regress/regress1/quantifiers/issue4433-nqe.smt2
new file mode 100644
index 000000000..1ab35a43f
--- /dev/null
+++ b/test/regress/regress1/quantifiers/issue4433-nqe.smt2
@@ -0,0 +1,9 @@
+(set-logic LIA)
+(set-option :cegqi-nested-qe true)
+(set-info :status unsat)
+(assert
+ (forall ((a Int) (b Int))
+ (xor (xor (= a 0) (= b 0))
+ (forall ((c Int))
+ (= (ite (= a 0) 0 1) (ite (= c 0) 0 1))))))
+(check-sat)
diff --git a/test/regress/regress1/quantifiers/issue4849-nqe.smt2 b/test/regress/regress1/quantifiers/issue4849-nqe.smt2
new file mode 100644
index 000000000..dd7a22e39
--- /dev/null
+++ b/test/regress/regress1/quantifiers/issue4849-nqe.smt2
@@ -0,0 +1,7 @@
+; COMMAND-LINE: --cegqi-nested-qe -q
+; EXPECT: sat
+(set-logic LIA)
+(set-option :cegqi-nested-qe true)
+(set-info :status sat)
+(assert (forall ((a Int)) (exists ((b Int)) (= (ite (= a 0) 0 1) (ite (= b 0) 0 1)))))
+(check-sat)
diff --git a/test/regress/regress1/quantifiers/issue5279-nqe.smt2 b/test/regress/regress1/quantifiers/issue5279-nqe.smt2
new file mode 100644
index 000000000..b87f36ebe
--- /dev/null
+++ b/test/regress/regress1/quantifiers/issue5279-nqe.smt2
@@ -0,0 +1,5 @@
+(set-logic LIA)
+(set-option :cegqi-nested-qe true)
+(set-info :status unsat)
+(assert (forall ((a Int) (b Bool)) (= a (ite b 0 1))))
+(check-sat)
diff --git a/test/regress/regress1/quantifiers/issue5365-nqe.smt2 b/test/regress/regress1/quantifiers/issue5365-nqe.smt2
new file mode 100644
index 000000000..c19cb6a3f
--- /dev/null
+++ b/test/regress/regress1/quantifiers/issue5365-nqe.smt2
@@ -0,0 +1,14 @@
+; COMMAND-LINE: --cegqi-nested-qe -q
+; EXPECT: sat
+(set-logic BV)
+(set-option :cegqi-nested-qe true)
+(set-info :status sat)
+(assert
+ (exists ((a (_ BitVec 32)))
+ (forall ((b (_ BitVec 32)) (c (_ BitVec 32)))
+ (exists ((d (_ BitVec 32)) (e (_ BitVec 32)))
+ (forall ((g (_ BitVec 32)))
+ (exists ((f (_ BitVec 32)))
+ (=> (= (_ bv0 32) a)
+ (= (bvadd e g) (bvand d f) b c))))))))
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback