summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/instantiate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/quantifiers/instantiate.h')
-rw-r--r--src/theory/quantifiers/instantiate.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/theory/quantifiers/instantiate.h b/src/theory/quantifiers/instantiate.h
index aa4f85cdc..630efe72c 100644
--- a/src/theory/quantifiers/instantiate.h
+++ b/src/theory/quantifiers/instantiate.h
@@ -81,6 +81,8 @@ class InstantiationRewriter
*/
class Instantiate : public QuantifiersUtil
{
+ typedef context::CDHashMap<Node, uint32_t, NodeHashFunction> NodeUIntMap;
+
public:
Instantiate(QuantifiersEngine* qe, context::UserContext* u);
~Instantiate();
@@ -209,7 +211,8 @@ class Instantiate : public QuantifiersUtil
/** print instantiations
*
* Print all instantiations for all quantified formulas on out,
- * returns true if at least one instantiation was printed.
+ * returns true if at least one instantiation was printed. The type of output
+ * (list, num, etc.) is determined by printInstMode.
*/
bool printInstantiations(std::ostream& out);
/** get instantiated quantified formulas
@@ -323,6 +326,16 @@ class Instantiate : public QuantifiersUtil
* if possible.
*/
static Node ensureType(Node n, TypeNode tn);
+ /** print instantiations in list format */
+ bool printInstantiationsList(std::ostream& out);
+ /** print instantiations in num format */
+ bool printInstantiationsNum(std::ostream& out);
+ /**
+ * Print quantified formula q on output out. If isFull is false, then we print
+ * the identifier of the quantified formula if it has one, or print
+ * nothing and return false otherwise.
+ */
+ bool printQuant(Node q, std::ostream& out, bool isFull);
/** pointer to the quantifiers engine */
QuantifiersEngine* d_qe;
@@ -333,12 +346,10 @@ class Instantiate : public QuantifiersUtil
/** instantiation rewriter classes */
std::vector<InstantiationRewriter*> d_instRewrite;
- /** statistics for debugging total instantiation */
- int d_total_inst_count_debug;
/** statistics for debugging total instantiations per quantifier */
- std::map<Node, int> d_total_inst_debug;
+ NodeUIntMap d_total_inst_debug;
/** statistics for debugging total instantiations per quantifier per round */
- std::map<Node, int> d_temp_inst_debug;
+ std::map<Node, uint32_t> d_temp_inst_debug;
/** list of all instantiations produced for each quantifier
*
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback