2

Closed

expanding \inv2

description

A common idiom in writing object invariants is to write "soft approval" invariants of the form $p \/ \inv2(o)$, where o is of a known type. When the proof of such an invariant fails, there is no indication about which invariant of $o$ is failing, which makes debugging the proof difficult if o has a large number of invariants.

One possible approach to providing a more informative error message would be to expand \inv2(o) to its definition when it occurs in a proof obligation with positive polarity.

No files are attached

Closed Mar 27 at 6:33 AM by stobies

comments

stobies wrote Mar 23 at 1:50 PM

It is now possible to mark the occurrence of inv2 with {:split}, which will inline the invariant if the type of the object is known

stobies wrote Mar 23 at 1:50 PM

Fixed in changeset f4957c91cf27

stobies wrote Mar 21 at 8:35 AM

When the type is known at compile-time, we can expand \inv2 accordingly.