summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/smt/smt_engine.cpp4
-rw-r--r--src/theory/builtin/theory_builtin_type_rules.h2
-rw-r--r--src/theory/uf/theory_uf_type_rules.h2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index cedd866f9..ad72e0737 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -888,7 +888,7 @@ void SmtEngine::defineFunction(Expr func,
// doesn't match the SMT-LIBv2 standard...
if(formals.size() > 0) {
Type rangeType = FunctionType(funcType).getRangeType();
- if(formulaType != rangeType) {
+ if(! formulaType.isComparableTo(rangeType)) {
stringstream ss;
ss << "Type of defined function does not match its declaration\n"
<< "The function : " << func << "\n"
@@ -898,7 +898,7 @@ void SmtEngine::defineFunction(Expr func,
throw TypeCheckingException(func, ss.str());
}
} else {
- if(formulaType != funcType) {
+ if(! formulaType.isComparableTo(funcType)) {
stringstream ss;
ss << "Declared type of defined constant does not match its definition\n"
<< "The constant : " << func << "\n"
diff --git a/src/theory/builtin/theory_builtin_type_rules.h b/src/theory/builtin/theory_builtin_type_rules.h
index 939c52f31..a2e8e8179 100644
--- a/src/theory/builtin/theory_builtin_type_rules.h
+++ b/src/theory/builtin/theory_builtin_type_rules.h
@@ -50,7 +50,7 @@ class ApplyTypeRule {
TNode::iterator argument_it_end = n.end();
TypeNode::iterator argument_type_it = fType.begin();
for(; argument_it != argument_it_end; ++argument_it, ++argument_type_it) {
- if((*argument_it).getType() != *argument_type_it) {
+ if(!(*argument_it).getType().isComparableTo(*argument_type_it)) {
std::stringstream ss;
ss << "argument types do not match the function type:\n"
<< "argument: " << *argument_it << "\n"
diff --git a/src/theory/uf/theory_uf_type_rules.h b/src/theory/uf/theory_uf_type_rules.h
index 09f287884..2c28d41e3 100644
--- a/src/theory/uf/theory_uf_type_rules.h
+++ b/src/theory/uf/theory_uf_type_rules.h
@@ -44,7 +44,7 @@ public:
for(; argument_it != argument_it_end; ++argument_it, ++argument_type_it) {
TypeNode currentArgument = (*argument_it).getType();
TypeNode currentArgumentType = *argument_type_it;
- if(!currentArgument.isSubtypeOf(currentArgumentType)) {
+ if(!currentArgument.isComparableTo(currentArgumentType)) {
std::stringstream ss;
ss << "argument type is not a subtype of the function's argument type:\n"
<< "argument: " << *argument_it << "\n"
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback