diff options
author | Morgan Deters <mdeters@gmail.com> | 2011-09-02 20:41:08 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2011-09-02 20:41:08 +0000 |
commit | 1d18e5ebed9a5b20ed6a8fe21d11842acf6fa7ea (patch) | |
tree | 7074f04453914bc377ff6aeb307dd17b82b76ff3 /src/theory/theory.h | |
parent | 74770f1071e6102795393cf65dd0c651038db6b4 (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.h | 12 |
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; } |