Valuation valuation,
const LogicInfo& logicInfo,
ProofNodeManager* pnm)
- : Theory(
- theory::THEORY_BUILTIN, ctxt, uctxt, out, valuation, logicInfo, pnm)
- {}
+ : Theory(theory::THEORY_BUILTIN,
+ ctxt,
+ uctxt,
+ out,
+ valuation,
+ logicInfo,
+ pnm),
+ d_state(ctxt, uctxt, valuation)
+ {
+ // use a default theory state object
+ d_theoryState = &d_state;
+ }
TheoryRewriter* getTheoryRewriter() { return nullptr; }
return done();
}
- void check(Effort e) override
- {
- while(!done()) {
- getWrapper();
- }
- }
-
void presolve() override { Unimplemented(); }
void preRegisterTerm(TNode n) override {}
void propagate(Effort level) override {}
+ bool preNotifyFact(
+ TNode atom, bool pol, TNode fact, bool isPrereg, bool isInternal) override
+ {
+ // do not assert to equality engine, since this theory does not use one
+ return true;
+ }
TrustNode explain(TNode n) override { return TrustNode::null(); }
Node getValue(TNode n) { return Node::null(); }
string identify() const override { return "DummyTheory"; }
+ /** Default theory state object */
+ TheoryState d_state;
};/* class DummyTheory */
class TheoryBlack : public CxxTest::TestSuite {