Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
Copilot.Theorem.Prover.SMT
Description
Connections to various SMT solvers and theorem provers.
Synopsis
- data Backend a
- class Show a => SmtFormat a
- data SmtLib
- data Tptp
- yices :: Backend SmtLib
- dReal :: Backend SmtLib
- altErgo :: Backend SmtLib
- metit :: String -> Backend Tptp
- z3 :: Backend SmtLib
- cvc4 :: Backend SmtLib
- mathsat :: Backend SmtLib
- data Options = Options {}
- induction :: SmtFormat a => Options -> Backend a -> Proof Universal
- kInduction :: SmtFormat a => Options -> Backend a -> Proof Universal
- onlySat :: SmtFormat a => Options -> Backend a -> Proof Existential
- onlyValidity :: SmtFormat a => Options -> Backend a -> Proof Universal
- class Default a where
- def :: a
Backends
class Show a => SmtFormat a Source #
Format of SMT-Lib commands.
Minimal complete definition
push, pop, checkSat, setLogic, declFun, assert
Type used to represent SMT-lib commands.
Use the interface in SmtFormat
to create such commands.
Type used to represent TPTP expressions.
Although this type implements the SmtFormat
interface, only assert
is
actually used.
yices :: Backend SmtLib Source #
Backend to the Yices 2 SMT solver.
It enables non-linear arithmetic (QF_NRA
), which means MCSat will be used.
The command yices-smt2
must be in the user's PATH
.
dReal :: Backend SmtLib Source #
Backend to the dReal SMT solver.
It enables non-linear arithmetic (QF_NRA
).
The libraries for dReal must be installed and perl
must be in the user's
PATH
.
altErgo :: Backend SmtLib Source #
Backend to the Alt-Ergo SMT solver.
It enables support for uninterpreted functions and mixed nonlinear
arithmetic (QF_NIRA
).
The command alt-ergo.opt
must be in the user's PATH
.
metit :: String -> Backend Tptp Source #
Backend to the MetiTaski theorem prover.
The command metit
must be in the user's PATH
.
The argument string is the path to the tptp
subdirectory of the metitarski
install location.
Backend to the Z3 theorem prover.
The command z3
must be in the user's PATH
.
cvc4 :: Backend SmtLib Source #
Backend to the cvc4 SMT solver.
It enables support for uninterpreted functions and mixed nonlinear
arithmetic (QF_NIRA
).
The command cvc4
must be in the user's PATH
.
mathsat :: Backend SmtLib Source #
Backend to the Mathsat SMT solver.
It enables non-linear arithmetic (QF_NRA
).
The command mathsat
must be in the user's PATH
.
Tactics
Options to configure the provers.
Constructors
Options | |
induction :: SmtFormat a => Options -> Backend a -> Proof Universal Source #
Tactic to find a proof by standard 1-induction.
The values for startK
and maxK
in the options are ignored.
kInduction :: SmtFormat a => Options -> Backend a -> Proof Universal Source #
Tactic to find a proof by k-induction.
onlySat :: SmtFormat a => Options -> Backend a -> Proof Existential Source #
Tactic to find only a proof of satisfiability.
onlyValidity :: SmtFormat a => Options -> Backend a -> Proof Universal Source #
Tactic to find only a proof of validity.
Auxiliary
A class for types with a default value.
Minimal complete definition
Nothing
Instances
Default All | |
Defined in Data.Default.Internal | |
Default Any | |
Defined in Data.Default.Internal | |
Default CBool | |
Defined in Data.Default.Internal | |
Default CClock | |
Defined in Data.Default.Internal | |
Default CDouble | |
Defined in Data.Default.Internal | |
Default CFloat | |
Defined in Data.Default.Internal | |
Default CInt | |
Defined in Data.Default.Internal | |
Default CIntMax | |
Defined in Data.Default.Internal | |
Default CIntPtr | |
Defined in Data.Default.Internal | |
Default CLLong | |
Defined in Data.Default.Internal | |
Default CLong | |
Defined in Data.Default.Internal | |
Default CPtrdiff | |
Defined in Data.Default.Internal | |
Default CSUSeconds | |
Defined in Data.Default.Internal Methods def :: CSUSeconds # | |
Default CShort | |
Defined in Data.Default.Internal | |
Default CSigAtomic | |
Defined in Data.Default.Internal Methods def :: CSigAtomic # | |
Default CSize | |
Defined in Data.Default.Internal | |
Default CTime | |
Defined in Data.Default.Internal | |
Default CUInt | |
Defined in Data.Default.Internal | |
Default CUIntMax | |
Defined in Data.Default.Internal | |
Default CUIntPtr | |
Defined in Data.Default.Internal | |
Default CULLong | |
Defined in Data.Default.Internal | |
Default CULong | |
Defined in Data.Default.Internal | |
Default CUSeconds | |
Defined in Data.Default.Internal | |
Default CUShort | |
Defined in Data.Default.Internal | |
Default IntPtr | |
Defined in Data.Default.Internal | |
Default WordPtr | |
Defined in Data.Default.Internal | |
Default Int16 | |
Defined in Data.Default.Internal | |
Default Int32 | |
Defined in Data.Default.Internal | |
Default Int64 | |
Defined in Data.Default.Internal | |
Default Int8 | |
Defined in Data.Default.Internal | |
Default Word16 | |
Defined in Data.Default.Internal | |
Default Word32 | |
Defined in Data.Default.Internal | |
Default Word64 | |
Defined in Data.Default.Internal | |
Default Word8 | |
Defined in Data.Default.Internal | |
Default IntSet | |
Defined in Data.Default.Internal | |
Default Options Source # | Default options with unlimited unrolling for base and step. |
Defined in Copilot.Theorem.Kind2.Prover | |
Default Options Source # | Default |
Defined in Copilot.Theorem.Prover.SMT | |
Default Ordering | |
Defined in Data.Default.Internal | |
Default Integer | |
Defined in Data.Default.Internal | |
Default () | |
Defined in Data.Default.Internal | |
Default Bool | |
Defined in Data.Default.Internal | |
Default Double | |
Defined in Data.Default.Internal | |
Default Float | |
Defined in Data.Default.Internal | |
Default Int | |
Defined in Data.Default.Internal | |
Default Word | |
Defined in Data.Default.Internal | |
(Default a, RealFloat a) => Default (Complex a) | |
Defined in Data.Default.Internal | |
Default a => Default (Identity a) | |
Defined in Data.Default.Internal | |
Default (First a) | |
Defined in Data.Default.Internal | |
Default (Last a) | |
Defined in Data.Default.Internal | |
Default a => Default (Dual a) | |
Defined in Data.Default.Internal | |
Default (Endo a) | |
Defined in Data.Default.Internal | |
Num a => Default (Product a) | |
Defined in Data.Default.Internal | |
Num a => Default (Sum a) | |
Defined in Data.Default.Internal | |
Default (ConstPtr a) | |
Defined in Data.Default.Internal | |
Default (FunPtr a) | |
Defined in Data.Default.Internal | |
Default (Ptr a) | |
Defined in Data.Default.Internal | |
Integral a => Default (Ratio a) | |
Defined in Data.Default.Internal | |
Default (IntMap v) | |
Defined in Data.Default.Internal | |
Default (Seq a) | |
Defined in Data.Default.Internal | |
Default (Set v) | |
Defined in Data.Default.Internal | |
Default a => Default (Tree a) | |
Defined in Data.Default.Internal | |
Default (Maybe a) | |
Defined in Data.Default.Internal | |
Default a => Default (a) | |
Defined in Data.Default.Internal | |
Default [a] | |
Defined in Data.Default.Internal | |
HasResolution a => Default (Fixed a) | |
Defined in Data.Default.Internal | |
Default (Proxy a) | |
Defined in Data.Default.Internal | |
Default (Map k v) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2) => Default (a1, a2) | |
Defined in Data.Default.Internal | |
Default a => Default (Const a b) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3) => Default (a1, a2, a3) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4) => Default (a1, a2, a3, a4) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5) => Default (a1, a2, a3, a4, a5) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6) => Default (a1, a2, a3, a4, a5, a6) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7) => Default (a1, a2, a3, a4, a5, a6, a7) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8) => Default (a1, a2, a3, a4, a5, a6, a7, a8) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27, Default a28) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27, Default a28, Default a29) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27, Default a28, Default a29, Default a30) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27, Default a28, Default a29, Default a30, Default a31) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31) | |
Defined in Data.Default.Internal |