// should not rewrite term to two different things
if (!getRewriteStepInternal(thash).isNull())
{
- Assert(getRewriteStepInternal(thash) == s);
+ Assert(getRewriteStepInternal(thash) == s)
+ << identify() << " rewriting " << t << " to both " << s << " and "
+ << getRewriteStepInternal(thash);
return Node::null();
}
d_rewriteMap[thash] = s;
case kind::SEQUENCE_TYPE:
case kind::SET_TYPE:
case kind::BAG_TYPE:
+ case kind::SEXPR_TYPE:
{
// we don't support subtyping except for built in types Int and Real.
return TypeNode(); // return null type
}
- case kind::SEXPR_TYPE:
- Unimplemented()
- << "haven't implemented leastCommonType for symbolic expressions yet";
default:
Unimplemented() << "don't have a commonType for types `" << t0
<< "' and `" << t1 << "'";
{
Assert(pppg != nullptr);
d_pnm = pppg->getManager();
+ d_propagator.setProof(d_pnm, d_context, pppg);
d_rtf.setProofNodeManager(d_pnm);
}