diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-03-01 14:48:04 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-03-01 14:48:04 +0000 |
commit | 45a138c326da72890bf889a3670aad503ef4aa1e (patch) | |
tree | fa0c9a8497d0b33f78a9f19212152a61392825cc /src/theory/theory.h | |
parent | 8c0b2d6db32103268f84d89c0d0545c7eb504069 (diff) |
Partial merge from kind-backend branch, including Minisat and CNF work to
support incrementality.
Some clean-up work will likely follow, but the CNF/Minisat stuff should be
left pretty much untouched.
Expected performance change negligible; slightly better on memory:
http://church.cims.nyu.edu/regress-results/compare_jobs.php?job_id=3705&reference_id=3697&mode=&category=&p=5
Note that there are crashes, but that these are exhibited in the nightly
regression run too!
Diffstat (limited to 'src/theory/theory.h')
-rw-r--r-- | src/theory/theory.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/theory/theory.h b/src/theory/theory.h index b0f5e4e53..35c81239f 100644 --- a/src/theory/theory.h +++ b/src/theory/theory.h @@ -142,7 +142,7 @@ private: protected: - /** + /** * A list of shared terms that the theory has. */ context::CDList<TNode> d_sharedTerms; @@ -210,6 +210,9 @@ protected: */ static TheoryId s_uninterpretedSortOwner; + void printFacts(std::ostream& os) const; + + public: /** @@ -218,6 +221,9 @@ public: static inline TheoryId theoryOf(TypeNode typeNode) { Trace("theory") << "theoryOf(" << typeNode << ")" << std::endl; TheoryId id; + while (typeNode.isPredicateSubtype()) { + typeNode = typeNode.getSubtypeBaseType(); + } if (typeNode.getKind() == kind::TYPE_CONSTANT) { id = typeConstantToTheoryId(typeNode.getConst<TypeConstant>()); } else { |