summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/ceg_instantiator.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2017-10-27 13:58:12 -0500
committerGitHub <noreply@github.com>2017-10-27 13:58:12 -0500
commit0891ff3d00975ee9697855dcb2b6cbb232ec5523 (patch)
tree450d84b5cd932274d687e8ab4a2eff1a4777c45f /src/theory/quantifiers/ceg_instantiator.h
parent079ed9540d498bcbb58f2f0fbe87bdae28101d1e (diff)
Cbqi multiple instantiation (#1289)
* Multi-instantiation heuristic for cbqi bv. * New clang format. * Minor * Minor. * Minor
Diffstat (limited to 'src/theory/quantifiers/ceg_instantiator.h')
-rw-r--r--src/theory/quantifiers/ceg_instantiator.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/theory/quantifiers/ceg_instantiator.h b/src/theory/quantifiers/ceg_instantiator.h
index 8d7a9b5c3..0808b5ed0 100644
--- a/src/theory/quantifiers/ceg_instantiator.h
+++ b/src/theory/quantifiers/ceg_instantiator.h
@@ -119,6 +119,8 @@ public:
d_theta.pop_back();
}
}
+ // is this solved form empty?
+ bool empty() { return d_vars.empty(); }
public:
// theta values (for LIA, see Section 4 of Reynolds/King/Kuncak FMSD 2017)
std::vector< Node > d_theta;
@@ -227,7 +229,25 @@ public:
public:
void pushStackVariable( Node v );
void popStackVariable();
- bool doAddInstantiationInc( Node pv, Node n, TermProperties& pv_prop, SolvedForm& sf, unsigned effort );
+ /** do add instantiation increment
+ *
+ * Adds the substitution { pv_prop.getModifiedTerm(pv) -> n } to the current
+ * instantiation, specified by sf.
+ *
+ * This function returns true if a call to
+ * QuantifiersEngine::addInstantiation(...)
+ * was successfully made in a recursive call.
+ *
+ * The solved form sf is reverted to its original state if
+ * this function returns false, or
+ * revertOnSuccess is true and this function returns true.
+ */
+ bool doAddInstantiationInc(Node pv,
+ Node n,
+ TermProperties& pv_prop,
+ SolvedForm& sf,
+ unsigned effort,
+ bool revertOnSuccess = false);
Node getModelValue( Node n );
public:
unsigned getNumCEAtoms() { return d_ce_atoms.size(); }
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback