Skip to content
This repository
Browse code

Mark new dev-release

Also simplify the cabal file
  • Loading branch information...
commit 4d904ff46820895b0b49de7a20a27f86bb52c5b5 1 parent 40d7b4d
Levent Erkok authored
5 CHANGES.md
Source Rendered
@@ -3,6 +3,11 @@
3 3
4 4 * Latest Hackage released version: 2.10
5 5
  6 +### Version 3.0, Not yet released
  7 +
  8 + * The goals for this release is to add support for IEEE-floating point
  9 + arithmetic. Currently in progress.
  10 +
6 11 ### Version 2.10, 2013-03-22
7 12
8 13 * Add support for the Boolector SMT solver
2  SBVUnitTest/SBVUnitTestBuildTime.hs
@@ -2,4 +2,4 @@
2 2 module SBVUnitTestBuildTime (buildTime) where
3 3
4 4 buildTime :: String
5   -buildTime = "Thu Mar 21 21:14:54 PDT 2013"
  5 +buildTime = "Sat Mar 23 18:18:19 PDT 2013"
91 sbv.cabal
... ... @@ -1,96 +1,13 @@
1 1 Name: sbv
2   -Version: 2.10
  2 +Version: 3.0
3 3 Category: Formal Methods, Theorem Provers, Bit vectors, Symbolic Computation, Math, SMT
4 4 Synopsis: SMT Based Verification: Symbolic Haskell theorem prover using SMT solving.
5 5 Description: Express properties about Haskell programs and automatically prove them using SMT
6   - (Satisfiability Modulo Theories) solvers. Automatically generate C programs from
7   - Haskell functions. The SBV library adds support for symbolic bit vectors and other
8   - symbolic types, allowing formal models of Haskell programs to be created.
  6 + (Satisfiability Modulo Theories) solvers.
9 7 .
10   - > $ ghci -XScopedTypeVariables
11   - > Prelude> :m Data.SBV
12   - > Prelude Data.SBV> prove $ \(x::SWord8) -> x `shiftL` 2 .== 4*x
13   - > Q.E.D.
14   - > Prelude Data.SBV> prove $ forAll ["x"] $ \(x::SWord8) -> x `shiftL` 2 .== x
15   - > Falsifiable. Counter-example:
16   - > x = 128 :: SWord8
  8 + For details, please see: <http://leventerkok.github.com/sbv/>
17 9 .
18   - You can pick the SMT solver you want to use by importing the appropriate module. The SBV library currently
19   - works with the the following SMT solvers:
20   - .
21   - [@import "Data.SBV"@]
22   - Picks the default solver, which is currently set to be Z3. (Might change in the future!)
23   - .
24   - [@import "Data.SBV.Bridge.Z3"@]
25   - Picks Z3 from Microsoft (<http://z3.codeplex.com/>).
26   - .
27   - [@import "Data.SBV.Bridge.Yices"@]
28   - Picks Yices from SRI (<http://yices.csl.sri.com/>)
29   - .
30   - [@import "Data.SBV.Bridge.CVC4"@]
31   - Picks CVC4 from New York University and the University of Iowa (<http://cvc4.cs.nyu.edu>)
32   - .
33   - [@import "Data.SBV.Bridge.Boolector"@]
34   - Picks Boolector from Johannes Kepler University at (<http://fmv.jku.at/boolector/>).
35   - .
36   - SBV introduces the following types and concepts:
37   - .
38   - * 'SBool': Symbolic Booleans (bits)
39   - .
40   - * 'SWord8', 'SWord16', 'SWord32', 'SWord64': Symbolic Words (unsigned)
41   - .
42   - * 'SInt8', 'SInt16', 'SInt32', 'SInt64': Symbolic Ints (signed)
43   - .
44   - * 'SInteger': Symbolic unbounded integers (signed)
45   - .
46   - * 'SReal': Symbolic algebraic reals (signed)
47   - .
48   - * 'SArray', 'SFunArray': Flat arrays of symbolic values
49   - .
50   - * 'STree': Full binary trees of symbolic values (for fast symbolic access)
51   - .
52   - * Symbolic polynomials over GF(2^n), and polynomial arithmetic
53   - .
54   - * Uninterpreted constants and functions over symbolic values, with user defined axioms.
55   - .
56   - * Uninterpreted sorts, and proofs over such sorts, potentially with axioms.
57   - .
58   - Functions built out of these types can be:
59   - .
60   - * proven correct via an external SMT solver (the 'prove' function)
61   - .
62   - * checked for satisfiability (the 'sat', and 'allSat' functions)
63   - .
64   - * used in synthesis (the 'sat' function with existential variables)
65   - .
66   - * optimized with respect to cost functions (the 'optimize', 'maximize',
67   - and 'minimize' functions)
68   - .
69   - * quick-checked
70   - .
71   - * used in concrete test case generation (the 'genTest' function), rendered as
72   - values in various languages, including Haskell and C.
73   - .
74   - Predicates can have both existential and universal variables. Use of
75   - alternating quantifiers provides considerable expressive power.
76   - Furthermore, existential variables allow synthesis via model generation.
77   - .
78   - The SBV library can also compile Haskell functions that manipulate symbolic
79   - values directly to C, rendering them as straight-line C programs.
80   - .
81   - In addition to the library, the installation will create the
82   - executable @SBVUnitTests@. You should run it once the installation is complete,
83   - to make sure the unit tests are run and all is well.
84   - .
85   - SBV is hosted at GitHub: <http://github.com/LeventErkok/sbv>. Comments,
86   - bug reports, and patches are always welcome.
87   - .
88   - The following people reported bugs, provided comments/feedback, or contributed to the
89   - development of SBV in various ways: Ian Blumenfeld, Ian Calvert, Iavor Diatchki, John
90   - Erickson, Tom Hawkins, Lee Pike, Austin Seipp, Don Stewart, Josef Svenningsson, and
91   - Nis Wegmann.
92   - .
93   - Release notes can be seen at: <http://github.com/LeventErkok/sbv/blob/master/RELEASENOTES>.
  10 + Release notes: <http://github.com/LeventErkok/sbv/blob/master/CHANGES.md>
94 11
95 12 Copyright: Levent Erkok, 2010-2013
96 13 License: BSD3

0 comments on commit 4d904ff

Please sign in to comment.
Something went wrong with that request. Please try again.