diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/smt/smt_engine.cpp | 4 | ||||
-rw-r--r-- | src/theory/builtin/theory_builtin_type_rules.h | 2 | ||||
-rw-r--r-- | src/theory/uf/theory_uf_type_rules.h | 2 |
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" |