diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-01-26 15:03:23 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-26 15:03:23 -0600 |
commit | c34722f830b63bc45a38217943f061912990086d (patch) | |
tree | 41f5d335973c675cc2f5d6e08df0b350ba10bae9 /src/theory/quantifiers/fmf | |
parent | 06e367c39bf080b9a82dea82ebdf8b9fb79409d5 (diff) |
Introduce quantifiers inference manager (#5821)
This is the second prerequisite for eliminating dependencies on quantifiers engine. This PR threads a quantifiers inference manager through all modules in quantifiers that add lemmas.
The code for adding lemmas in quantifiers engine will be migrated to this class.
Diffstat (limited to 'src/theory/quantifiers/fmf')
-rw-r--r-- | src/theory/quantifiers/fmf/bounded_integers.cpp | 6 | ||||
-rw-r--r-- | src/theory/quantifiers/fmf/bounded_integers.h | 4 | ||||
-rw-r--r-- | src/theory/quantifiers/fmf/model_engine.cpp | 6 | ||||
-rw-r--r-- | src/theory/quantifiers/fmf/model_engine.h | 4 |
4 files changed, 14 insertions, 6 deletions
diff --git a/src/theory/quantifiers/fmf/bounded_integers.cpp b/src/theory/quantifiers/fmf/bounded_integers.cpp index 51f88ad44..0f17bb04a 100644 --- a/src/theory/quantifiers/fmf/bounded_integers.cpp +++ b/src/theory/quantifiers/fmf/bounded_integers.cpp @@ -84,8 +84,10 @@ Node BoundedIntegers::IntRangeDecisionHeuristic::proxyCurrentRangeLemma() return lem; } -BoundedIntegers::BoundedIntegers(QuantifiersEngine* qe, QuantifiersState& qs) - : QuantifiersModule(qs, qe) +BoundedIntegers::BoundedIntegers(QuantifiersEngine* qe, + QuantifiersState& qs, + QuantifiersInferenceManager& qim) + : QuantifiersModule(qs, qim, qe) { } diff --git a/src/theory/quantifiers/fmf/bounded_integers.h b/src/theory/quantifiers/fmf/bounded_integers.h index ff971bc12..685c07d82 100644 --- a/src/theory/quantifiers/fmf/bounded_integers.h +++ b/src/theory/quantifiers/fmf/bounded_integers.h @@ -161,7 +161,9 @@ private: std::map< Node, std::map< Node, BoundInstTrie > > d_bnd_it; public: - BoundedIntegers(QuantifiersEngine* qe, QuantifiersState& qs); + BoundedIntegers(QuantifiersEngine* qe, + QuantifiersState& qs, + QuantifiersInferenceManager& qim); virtual ~BoundedIntegers(); void presolve() override; diff --git a/src/theory/quantifiers/fmf/model_engine.cpp b/src/theory/quantifiers/fmf/model_engine.cpp index 8803fdb2c..3849dc2c6 100644 --- a/src/theory/quantifiers/fmf/model_engine.cpp +++ b/src/theory/quantifiers/fmf/model_engine.cpp @@ -35,8 +35,10 @@ using namespace CVC4::theory::quantifiers; using namespace CVC4::theory::inst; //Model Engine constructor -ModelEngine::ModelEngine(QuantifiersEngine* qe, QuantifiersState& qs) - : QuantifiersModule(qs, qe), +ModelEngine::ModelEngine(QuantifiersEngine* qe, + QuantifiersState& qs, + QuantifiersInferenceManager& qim) + : QuantifiersModule(qs, qim, qe), d_incomplete_check(true), d_addedLemmas(0), d_triedLemmas(0), diff --git a/src/theory/quantifiers/fmf/model_engine.h b/src/theory/quantifiers/fmf/model_engine.h index 5616eaf5e..3e212b319 100644 --- a/src/theory/quantifiers/fmf/model_engine.h +++ b/src/theory/quantifiers/fmf/model_engine.h @@ -43,7 +43,9 @@ private: int d_triedLemmas; int d_totalLemmas; public: - ModelEngine(QuantifiersEngine* qe, QuantifiersState& qs); + ModelEngine(QuantifiersEngine* qe, + QuantifiersState& qs, + QuantifiersInferenceManager& qim); virtual ~ModelEngine(); public: |