diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-03-12 13:34:18 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-12 13:34:18 -0500 |
commit | f906530aa75e9c21e7877cac30cd3cb8245e3058 (patch) | |
tree | 2fadd039e8df8bccc7eba43a64d60df0136ea887 /src/theory | |
parent | 08431f8a51a62d02e3d3911db2e7754862953320 (diff) |
Ensure legal candidate equalities when using relational triggers (#4035)
Diffstat (limited to 'src/theory')
-rw-r--r-- | src/theory/quantifiers/ematching/candidate_generator.cpp | 4 |
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? |