-
Notifications
You must be signed in to change notification settings - Fork 3
Description
There are two separate issues with assertions and simulation:
-
Simulation should not halt after a failed assertion, at least simulation of subsequent assertions should continue (before hitting another solution declaration), maybe it should be an option from the user on how to behave when an assertion fails. One of the advantages of simulation is that you can find multiple/all problems in one go there is no reason to remove that.
-
The second problem is more challenging/research-oriented: tracking problems is more difficult now. With the old system, when an assertion failed we knew which node was associated with it. In the new system, if you use something like foldNodes you basically get a yes or no answer which makes it hard to track down the problem. We should find a way to attach more information to which part of an assertion failed.