diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-09-26 03:50:57 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-09-26 03:50:57 +0000 |
commit | ed914e42041806538f57750c8391fa77053d8c79 (patch) | |
tree | d6da32187d9bab77bef2a5e483f2065c7adbdb98 /src/theory | |
parent | 7f84ff856af53047c2af2c1c1987340f9075ec7c (diff) |
Fix type checking for define-funs (resolves bug 398).
(this commit was certified error- and warning-free by the test-and-commit script.)
Diffstat (limited to 'src/theory')
-rw-r--r-- | src/theory/builtin/theory_builtin_type_rules.h | 2 | ||||
-rw-r--r-- | src/theory/uf/theory_uf_type_rules.h | 2 |
2 files changed, 2 insertions, 2 deletions
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" |