diff options
author | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2012-11-26 17:07:46 +0000 |
---|---|---|
committer | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2012-11-26 17:07:46 +0000 |
commit | 2a731b9164bb178f1232a9af0babc7dd84450cea (patch) | |
tree | 57d14d55f1bae93737dbee34c737771858572fad /src/theory/quantifiers/theory_quantifiers.cpp | |
parent | 164163c9c8fd255947cf3e8d236a5b9da1a1fdab (diff) |
Adding support for a master equality engine. Each theory gets the master equality engine through the setMasterEqualityEngine method. This is a read-only equality engine, so nothing should be added to it directly. Instead each equality engine that is of interest should have the master equality engine attached to it. To set when to use the master equality engine see TheoryEngine::finishInit().
Diffstat (limited to 'src/theory/quantifiers/theory_quantifiers.cpp')
-rw-r--r-- | src/theory/quantifiers/theory_quantifiers.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/theory/quantifiers/theory_quantifiers.cpp b/src/theory/quantifiers/theory_quantifiers.cpp index 6e704ba1c..446c9285e 100644 --- a/src/theory/quantifiers/theory_quantifiers.cpp +++ b/src/theory/quantifiers/theory_quantifiers.cpp @@ -36,17 +36,22 @@ using namespace CVC4::theory::quantifiers; TheoryQuantifiers::TheoryQuantifiers(Context* c, context::UserContext* u, OutputChannel& out, Valuation valuation, const LogicInfo& logicInfo, QuantifiersEngine* qe) : Theory(THEORY_QUANTIFIERS, c, u, out, valuation, logicInfo, qe), - d_numRestarts(0){ + d_numRestarts(0), + d_masterEqualityEngine(0) +{ d_numInstantiations = 0; d_baseDecLevel = -1; out.handleUserAttribute( "axiom", this ); out.handleUserAttribute( "conjecture", this ); } - TheoryQuantifiers::~TheoryQuantifiers() { } +void TheoryQuantifiers::setMasterEqualityEngine(eq::EqualityEngine* eq) { + d_masterEqualityEngine = eq; +} + void TheoryQuantifiers::addSharedTerm(TNode t) { Debug("quantifiers-other") << "TheoryQuantifiers::addSharedTerm(): " << t << endl; |