tid = Theory::theoryOf(node.getType());
}
}
- else if (node.isConst())
- {
- tid = Theory::theoryOf(node.getType());
- }
else if (node.getKind() == kind::EQUAL)
{
// Equality is owned by the theory that owns the domain
}
else
{
- // Regular nodes are owned by the kind
+ // Regular nodes are owned by the kind. Notice that constants are a
+ // special case here, where the theory of the kind of a constant
+ // always coincides with the type of that constant.
tid = kindToTheoryId(node.getKind());
}
break;
}
}
}
- else if (node.isConst())
- {
- // Constants go to the theory of the type
- tid = Theory::theoryOf(node.getType());
- }
else if (node.getKind() == kind::EQUAL)
{ // Equality
// If one of them is an ITE, it's irelevant, since they will get
}
else
{
- // Regular nodes are owned by the kind
+ // Regular nodes are owned by the kind, which includes constants as a
+ // special case.
tid = kindToTheoryId(node.getKind());
}
break;