diff options
Diffstat (limited to 'src/theory/quantifiers/theory_quantifiers.h')
-rw-r--r-- | src/theory/quantifiers/theory_quantifiers.h | 52 |
1 files changed, 31 insertions, 21 deletions
diff --git a/src/theory/quantifiers/theory_quantifiers.h b/src/theory/quantifiers/theory_quantifiers.h index 295a39464..4f87f6aae 100644 --- a/src/theory/quantifiers/theory_quantifiers.h +++ b/src/theory/quantifiers/theory_quantifiers.h @@ -33,37 +33,47 @@ namespace theory { namespace quantifiers { class TheoryQuantifiers : public Theory { -private: - typedef context::CDHashMap< Node, bool, NodeHashFunction > BoolMap; - /** number of instantiations */ - int d_numInstantiations; - int d_baseDecLevel; -private: - void computeCareGraph(); - -public: + public: TheoryQuantifiers(context::Context* c, context::UserContext* u, OutputChannel& out, Valuation valuation, const LogicInfo& logicInfo); ~TheoryQuantifiers(); - void setMasterEqualityEngine(eq::EqualityEngine* eq); - void addSharedTerm(TNode t); + void setMasterEqualityEngine(eq::EqualityEngine* eq) override; + void addSharedTerm(TNode t) override; void notifyEq(TNode lhs, TNode rhs); - void preRegisterTerm(TNode n); - void presolve(); - void ppNotifyAssertions(const std::vector<Node>& assertions); - void check(Effort e); - Node getNextDecisionRequest( unsigned& priority ); + void preRegisterTerm(TNode n) override; + void presolve() override; + void ppNotifyAssertions(const std::vector<Node>& assertions) override; + void check(Effort e) override; + Node getNextDecisionRequest(unsigned& priority) override; Node getValue(TNode n); bool collectModelInfo(TheoryModel* m) override; - void shutdown() { } - std::string identify() const { return std::string("TheoryQuantifiers"); } - void setUserAttribute(const std::string& attr, Node n, std::vector<Node> node_values, std::string str_value); - bool ppDontRewriteSubterm(TNode atom) { return atom.getKind() == kind::FORALL || atom.getKind() == kind::EXISTS; } -private: + void shutdown() override {} + std::string identify() const override + { + return std::string("TheoryQuantifiers"); + } + void setUserAttribute(const std::string& attr, + Node n, + std::vector<Node> node_values, + std::string str_value) override; + bool ppDontRewriteSubterm(TNode atom) override + { + return atom.getKind() == kind::FORALL || atom.getKind() == kind::EXISTS; + } + + private: void assertUniversal( Node n ); void assertExistential( Node n ); + void computeCareGraph() override; + + using BoolMap = context::CDHashMap<Node, bool, NodeHashFunction>; + + /** number of instantiations */ + int d_numInstantiations; + int d_baseDecLevel; + };/* class TheoryQuantifiers */ }/* CVC4::theory::quantifiers namespace */ |