sbv 0.9.6 → 0.9.7
raw patch · 1 files changed
+43/−6 lines, 1 files
Files
- sbv.cabal +43/−6
sbv.cabal view
@@ -1,12 +1,49 @@ Name: sbv-Version: 0.9.6+Version: 0.9.7 Category: Formal Methods, Theorem Provers, Bit vectors, Symbolic Computation, Math Synopsis: Symbolic Bit Vectors: Prove bit-precise program properties using SMT solvers.-Description: Adds support for symbolic bit vectors, allowing formal models of bit-precise- programs to be created. Supports symbolic arrays and polynomials over GF(2^n).- Supports uninterpreted constants and functions. Aims to provide seamless integration- with SMT solvers to produce formal property proofs of theoremhood and- satisfiability, with counter-examples.+Description: Express properties about bit-precise Haskell programs and automatically prove+ them using SMT solvers. The SBV library adds support for symbolic bit vectors,+ allowing formal models of bit-precise programs to be created.+ .+ > $ ghci -XScopedTypeVariables+ > Prelude> :m Data.SBV+ > Prelude Data.SBV> prove $ \(x::SWord8) -> x `shiftL` 2 .== 4*x+ > Q.E.D.+ > Prelude Data.SBV> prove $ forAll ["x"] $ \(x::SWord8) -> x `shiftL` 2 .== x+ > Falsifiable. Counter-example:+ > x = 128 :: SWord8+ .+ The library introduces the following types and concepts:+ .+ * 'SBool': Symbolic Booleans (bits)+ .+ * 'SWord8', 'SWord16', 'SWord32', 'SWord64': Symbolic Words (unsigned)+ .+ * 'SInt8', 'SInt16', 'SInt32', 'SInt64': Symbolic Ints (signed)+ .+ * 'SArray', 'SFunArray': Flat arrays of symbolic values+ .+ * Symbolic polynomials over GF(2^n), and polynomial arithmetic+ .+ * Uninterpreted constants and functions over symbolic values+ .+ Predicates (i.e., functions that return 'SBool') built out of+ these types can be:+ .+ * proven correct via an external SMT solver (the 'prove' function)+ .+ * checked for satisfiability (the 'sat' and 'allSat' functions)+ .+ * quick-checked+ .+ In addition to the library, the installation will create the+ executable @SBVUnitTests@. You should run it once the installation is complete,+ to make sure the unit tests are run and all is well.+ .+ SBV is hosted at GitHub: <http://github.com/LeventErkok/sbv>. Comments,+ bug reports, and patches are always welcome.+ Copyright: Levent Erkok, 2011 License: BSD3 License-file: LICENSE