diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-01-28 13:27:27 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-28 13:27:27 -0600 |
commit | 3234db430074e278258e6d687c07146a59769a92 (patch) | |
tree | 17db55e1ff335c3998e1c4e172d174dc9f6e3b21 /src/theory/quantifiers/theory_quantifiers.cpp | |
parent | 4cd2d73366aba081a38900ddc2f4f172ce9ed2f8 (diff) |
Use standard equality engine information in quantifiers state (#5824)
This refactors quantifiers so that it uses the standard interfaces for setting up an equality engine and using it via TheoryState.
This eliminates the need for several special interfaces including getMasterEqualityEngine, CombinationEngine::getCoreEqualityEngine, and most uses of EqualityQuery.
Diffstat (limited to 'src/theory/quantifiers/theory_quantifiers.cpp')
-rw-r--r-- | src/theory/quantifiers/theory_quantifiers.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/theory/quantifiers/theory_quantifiers.cpp b/src/theory/quantifiers/theory_quantifiers.cpp index 4dd59d12f..1cbb2ce40 100644 --- a/src/theory/quantifiers/theory_quantifiers.cpp +++ b/src/theory/quantifiers/theory_quantifiers.cpp @@ -83,6 +83,13 @@ void TheoryQuantifiers::finishInit() d_valuation.setUnevaluatedKind(WITNESS); } +bool TheoryQuantifiers::needsEqualityEngine(EeSetupInfo& esi) +{ + // use the master equality engine + esi.d_useMaster = true; + return true; +} + void TheoryQuantifiers::preRegisterTerm(TNode n) { if (n.getKind() != FORALL) @@ -164,7 +171,7 @@ bool TheoryQuantifiers::preNotifyFact( getQuantifiersEngine()->addTermToDatabase(atom[0], false, true); if (!options::lteRestrictInstClosure()) { - getQuantifiersEngine()->getMasterEqualityEngine()->addTerm(atom[0]); + d_qstate.getEqualityEngine()->addTerm(atom[0]); } } else |