summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorDejan Jovanović <dejan.jovanovic@gmail.com>2011-08-24 21:03:19 +0000
committerDejan Jovanović <dejan.jovanovic@gmail.com>2011-08-24 21:03:19 +0000
commit278cdeb360322c7e9ae4b102abd740d101f37c6d (patch)
tree4c6c79e73b1c9cb60b21c8ffb743c4218f61094f /src/smt
parentad18245c092ea6e5b998b556aaec74ef9109bd8c (diff)
Simplification of the preregister and register throught a NodeVisitor class. The theoryOf is not all in one place, theory::theoryOf. The uninterpreted sorts belong to the builtin theory and are dispatched to the apropriate theory (QF_UF, QF_AX) through theoryOf based on the setting in the Theory class.
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/smt_engine.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index fe5628dd0..60030bbab 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -249,7 +249,12 @@ void SmtEngine::setLogic(const std::string& s) throw(ModalException) {
throw ModalException("logic already set");
}
d_logic = s;
- d_theoryEngine->d_logic = s;
+ d_theoryEngine->setLogic(s);
+
+ // If in arrays, set the UF handler to arrays
+ if (s == "QF_AX") {
+ theory::Theory::setUninterpretedSortOwner(theory::THEORY_ARRAY);
+ }
}
void SmtEngine::setInfo(const std::string& key, const SExpr& value)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback