summaryrefslogtreecommitdiff
path: root/src/theory/theory.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2011-09-02 20:41:08 +0000
committerMorgan Deters <mdeters@gmail.com>2011-09-02 20:41:08 +0000
commit1d18e5ebed9a5b20ed6a8fe21d11842acf6fa7ea (patch)
tree7074f04453914bc377ff6aeb307dd17b82b76ff3 /src/theory/theory.h
parent74770f1071e6102795393cf65dd0c651038db6b4 (diff)
Merge from my post-smtcomp branch. Includes:
Dumping infrastructure. Can dump preprocessed queries and clauses. Can also dump queries (for testing with another solver) to see if any conflicts are missed, T-propagations are missed, all lemmas are T-valid, etc. For a full list of options see --dump=help. CUDD building much cleaner. Documentation and assertion fixes. Printer improvements, printing of commands in language-defined way, etc. Typechecker stuff in expr package now autogenerated, no need to manually edit the expr package when adding a new theory. CVC3 compatibility layer (builds as libcompat). SWIG detection and language binding support (infrastructure). Support for some Z3 extended commands (like datatypes) in SMT-LIBv2 mode (when not in compliance mode). Copyright and file headers regenerated.
Diffstat (limited to 'src/theory/theory.h')
-rw-r--r--src/theory/theory.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/theory/theory.h b/src/theory/theory.h
index 62a8cb4d6..a1d62ca04 100644
--- a/src/theory/theory.h
+++ b/src/theory/theory.h
@@ -23,6 +23,7 @@
#include "expr/node.h"
#include "expr/attribute.h"
+#include "expr/command.h"
#include "theory/valuation.h"
#include "theory/substitutions.h"
#include "theory/output_channel.h"
@@ -125,10 +126,9 @@ protected:
Valuation d_valuation;
/**
- * Returns the next atom in the assertFact() queue. Guarantees that
- * registerTerm() has been called on the theory specific subterms.
+ * Returns the next atom in the assertFact() queue.
*
- * @return the next atom in the assertFact() queue.
+ * @return the next atom in the assertFact() queue
*/
TNode get() {
Assert( !done(), "Theory::get() called with assertion queue empty!" );
@@ -136,7 +136,11 @@ protected:
d_wasSharedTermFact = false;
d_factsHead = d_factsHead + 1;
Trace("theory") << "Theory::get() => " << fact
- << " (" << d_facts.size() - d_factsHead << " left)" << std::endl;
+ << " (" << d_facts.size() - d_factsHead << " left)"
+ << std::endl;
+ if(Dump.isOn("state")) {
+ Dump("state") << AssertCommand(fact.toExpr()) << std::endl;
+ }
return fact;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback