
I'm happy to announce a new release (v5.4) of SBV: SMT Based Verification. See: http://hackage.haskell.org/package/sbv New in this release is the 'sAssert' function, which allows boolean-assertions to be sprinkled in symbolic code, which can then be statically discharged (or shown violating assignments for) using the 'safe' function. See: http://hackage.haskell.org/package/sbv-5.4/docs/Data-SBV.html#g:39 A slightly larger example checks for lack-of-division-by-0 in a simple program: http://hackage.haskell.org/package/sbv-5.4/docs/Data-SBV-Examples-Misc-NoDiv... Further documentation on SBV is available at: http://leventerkok.github.io/sbv/ Calls to sAssert calls are also preserved in the SBV->C compilation path. This feature is rather experimental and , and I'd love to hear if you give it a try and see any gotchas.. Happy proving. -Levent. PS. Thanks to Brett Letner for suggesting this functionality.