diff options
Diffstat (limited to 'src/parser/smt2/smt2.cpp')
-rw-r--r-- | src/parser/smt2/smt2.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/parser/smt2/smt2.cpp b/src/parser/smt2/smt2.cpp index 73be8910f..2df73d9e4 100644 --- a/src/parser/smt2/smt2.cpp +++ b/src/parser/smt2/smt2.cpp @@ -505,6 +505,20 @@ api::Term Smt2::getExpressionForNameAndType(const std::string& name, return Parser::getExpressionForNameAndType(name, t); } +bool Smt2::getTesterName(api::Term cons, std::string& name) +{ + if (v2_6() && strictModeEnabled()) + { + // 2.6 or above uses indexed tester symbols, if we are in strict mode, + // we do not automatically define is-cons for constructor cons. + return false; + } + std::stringstream ss; + ss << "is-" << cons; + name = ss.str(); + return true; +} + api::Term Smt2::mkIndexedConstant(const std::string& name, const std::vector<uint64_t>& numerals) { |