summaryrefslogtreecommitdiff
path: root/src/theory
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-03-12 13:34:18 -0500
committerGitHub <noreply@github.com>2020-03-12 13:34:18 -0500
commitf906530aa75e9c21e7877cac30cd3cb8245e3058 (patch)
tree2fadd039e8df8bccc7eba43a64d60df0136ea887 /src/theory
parent08431f8a51a62d02e3d3911db2e7754862953320 (diff)
Ensure legal candidate equalities when using relational triggers (#4035)
Diffstat (limited to 'src/theory')
-rw-r--r--src/theory/quantifiers/ematching/candidate_generator.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/theory/quantifiers/ematching/candidate_generator.cpp b/src/theory/quantifiers/ematching/candidate_generator.cpp
index 8e09ef6a2..2a123e59c 100644
--- a/src/theory/quantifiers/ematching/candidate_generator.cpp
+++ b/src/theory/quantifiers/ematching/candidate_generator.cpp
@@ -146,7 +146,9 @@ Node CandidateGeneratorQELitDeq::getNextCandidate(){
Node n = (*d_eqc_false);
++d_eqc_false;
if( n.getKind()==d_match_pattern.getKind() ){
- if( n[0].getType().isComparableTo( d_match_pattern_type ) ){
+ if (n[0].getType().isComparableTo(d_match_pattern_type)
+ && isLegalCandidate(n))
+ {
//found an iff or equality, try to match it
//DO_THIS: cache to avoid redundancies?
//DO_THIS: do we need to try the symmetric equality for n? or will it also exist in the eq class of false?
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback