summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-05-07 14:09:58 -0500
committerGitHub <noreply@github.com>2021-05-07 19:09:58 +0000
commit89641ef6aae22610cf544f1e7545178ee6418597 (patch)
tree672e7991bbc1b7d2e1e5abf0a9b4a38c08b5baa2 /src/theory/quantifiers
parent50ff9213e6e6d36cea5a745e5c85ecbf1ca1ab62 (diff)
Simplifications to expand definitions (#6487)
This removes the expandOnly flag from expandDefinitions. The use of expandOnly = true is equivalent to applying top-level substitutions only, which should be done explicitly via Env::getTopLevelSubstitutions. It updates the trust substitutions utility to distinguish apply vs applyTrusted for convenience for this purpose. This also breaks several dependencies in e.g. expand definitions module.
Diffstat (limited to 'src/theory/quantifiers')
-rw-r--r--src/theory/quantifiers/ematching/candidate_generator.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/theory/quantifiers/ematching/candidate_generator.cpp b/src/theory/quantifiers/ematching/candidate_generator.cpp
index 93ef072fa..5295302c4 100644
--- a/src/theory/quantifiers/ematching/candidate_generator.cpp
+++ b/src/theory/quantifiers/ematching/candidate_generator.cpp
@@ -289,7 +289,10 @@ CandidateGeneratorSelector::CandidateGeneratorSelector(QuantifiersState& qs,
{
Trace("sel-trigger") << "Selector trigger: " << mpat << std::endl;
Assert(mpat.getKind() == APPLY_SELECTOR);
- Node mpatExp = smt::currentSmtEngine()->expandDefinitions(mpat, false);
+ // NOTE: could use qs.getValuation().getPreprocessedTerm(mpat); when
+ // expand definitions is eliminated, however, this also requires avoiding
+ // term formula removal.
+ Node mpatExp = smt::currentSmtEngine()->expandDefinitions(mpat);
Trace("sel-trigger") << "Expands to: " << mpatExp << std::endl;
if (mpatExp.getKind() == ITE)
{
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback