diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2015-09-25 17:58:56 +0200 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2015-09-25 17:58:56 +0200 |
commit | 773963f4342bb860fe4deb1d3c65d801b6acd72f (patch) | |
tree | c5cf5b0685df6311226f7f823f61c7bb3ff14241 /src/theory/quantifiers_engine.h | |
parent | 30920046fd6992b6e2c12c33ba888df5c1caf8de (diff) |
Clear term caches for quantifiers + incremental, fixes bug 674. Refactoring of term database, other refactoring. Bug fixes for cbqi+datatypes.
Diffstat (limited to 'src/theory/quantifiers_engine.h')
-rw-r--r-- | src/theory/quantifiers_engine.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/theory/quantifiers_engine.h b/src/theory/quantifiers_engine.h index 5e8db2561..3cdd5bae7 100644 --- a/src/theory/quantifiers_engine.h +++ b/src/theory/quantifiers_engine.h @@ -190,6 +190,12 @@ private: /** inst round counters */ int d_ierCounter; int d_ierCounter_lc; + /** has presolve been called */ + context::CDO< bool > d_presolve; + /** presolve cache */ + std::vector< Node > d_presolve_cache; + std::vector< bool > d_presolve_cache_wq; + std::vector< bool > d_presolve_cache_wic; private: KEEP_STATISTIC(TimerStat, d_time, "theory::QuantifiersEngine::time"); public: @@ -278,11 +284,11 @@ private: void flushLemmas(); public: /** get instantiation */ - Node getInstantiation( Node f, std::vector< Node >& vars, std::vector< Node >& terms ); + Node getInstantiation( Node q, std::vector< Node >& vars, std::vector< Node >& terms ); /** get instantiation */ - Node getInstantiation( Node f, InstMatch& m ); + Node getInstantiation( Node q, InstMatch& m ); /** get instantiation */ - Node getInstantiation( Node f, std::vector< Node >& terms ); + Node getInstantiation( Node q, std::vector< Node >& terms ); /** do substitution */ Node getSubstitute( Node n, std::vector< Node >& terms ); /** add lemma lem */ @@ -290,9 +296,9 @@ public: /** add require phase */ void addRequirePhase( Node lit, bool req ); /** do instantiation specified by m */ - bool addInstantiation( Node f, InstMatch& m, bool mkRep = true, bool modEq = false, bool modInst = false, bool doVts = false ); + bool addInstantiation( Node q, InstMatch& m, bool mkRep = true, bool modEq = false, bool modInst = false, bool doVts = false ); /** add instantiation */ - bool addInstantiation( Node f, std::vector< Node >& terms, bool mkRep = true, bool modEq = false, bool modInst = false, bool doVts = false ); + bool addInstantiation( Node q, std::vector< Node >& terms, bool mkRep = true, bool modEq = false, bool modInst = false, bool doVts = false ); /** split on node n */ bool addSplit( Node n, bool reqPhase = false, bool reqPhasePol = true ); /** add split equality */ |