Fixes #5515.
It is currently not possible to check-model with separation logic. Checking models requires either additional bookkeeping (heap per formula position) or otherwise is expensive to check.
This makes us give a recoverable exception.
throw RecoverableModalException(
"Cannot run check-model on a model with approximate values.");
}
+ Node sepHeap, sepNeq;
+ if (m->getHeapModel(sepHeap, sepNeq))
+ {
+ throw RecoverableModalException(
+ "Cannot run check-model on a model with a separation logic heap.");
+ }
theory::SubstitutionMap& sm = d_env.getTopLevelSubstitutions().get();
Trace("check-model") << "checkModel: Check assertions..." << std::endl;