summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers_engine.h
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2015-09-25 17:58:56 +0200
committerajreynol <andrew.j.reynolds@gmail.com>2015-09-25 17:58:56 +0200
commit773963f4342bb860fe4deb1d3c65d801b6acd72f (patch)
treec5cf5b0685df6311226f7f823f61c7bb3ff14241 /src/theory/quantifiers_engine.h
parent30920046fd6992b6e2c12c33ba888df5c1caf8de (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.h16
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 */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback