Closed edenfrenkel closed 1 year ago
I don't think the snapshot tests of qalpha make sense, because they require the invariants in the output to be printed in a specific way, which isn't necessarily the case. The only algorithmic guarantee is that the same invariants will be found, but ordering and variable names may change. Previously, I tried using --gradual-advance
to make it more deterministic, but it seems there's still some indeterminism that makes this work only most of the time. @tchajed what do you think?
I agree that snapshotting the invariant isn't worth the trouble. One thing we can (and probably should) do is to omit the entire invariant in the output that we snapshot.
@tchajed I agree with your snapshotting suggestion. Would you like to implement this as a part of the snapshotting, or to add some command-line argument to avoid printing the invariant? If you want to change the snapshotting, can you implement that? I tried to take a look and I'm not completely sure how you'd want to go about this.
I'll work on changing the snapshotting, I'd prefer to redact there if possible.
I changed my mind and made it a flag, it was a little easier to implement. Is this branch ready for a review now?
I changed my mind and made it a flag, it was a little easier to implement. Is this branch ready for a review now?
Yes, looks ready.
Add several improvements and modifications to qAlpha, including:
--gradual-advance
. (The gradual SMT option, previously--gradual
, is now--gradual-smt
.) When using the gradual option, only weaken lemmas which appear in some UNSAT-core, or which have no weakenings.