sbv-6.1: SMT Based Verification: Symbolic Haskell theorem prover using SMT solving.

Copyright(c) Levent Erkok
LicenseBSD3
Maintainererkokl@gmail.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Data.SBV.Bridge.Yices

Contents

Description

Interface to the Yices SMT solver. Import this module if you want to use the Yices SMT prover as your backend solver. Also see:

Synopsis

Yices specific interface

sbvCurrentSolver :: SMTConfig Source #

Current solver instance, pointing to yices.

Proving, checking satisfiability, optimization

prove Source #

Arguments

:: Provable a 
=> a

Property to check

-> IO ThmResult

Response from the SMT solver, containing the counter-example if found

Prove theorems, using the Yices SMT solver

sat Source #

Arguments

:: Provable a 
=> a

Property to check

-> IO SatResult

Response of the SMT Solver, containing the model if found

Find satisfying solutions, using the Yices SMT solver

allSat Source #

Arguments

:: Provable a 
=> a

Property to check

-> IO AllSatResult

List of all satisfying models

Find all satisfying solutions, using the Yices SMT solver

safe Source #

Arguments

:: SExecutable a 
=> a

Program containing sAssert calls

-> IO [SafeResult] 

Check all sAssert calls are safe, using the Yices SMT solver

optimize Source #

Arguments

:: Provable a 
=> a

Program with objectives

-> IO OptimizeResult 

Optimize objectives, using Yices

isVacuous Source #

Arguments

:: Provable a 
=> a

Property to check

-> IO Bool

True if the constraints are unsatisifiable

Check vacuity of the explicit constraints introduced by calls to the constrain function, using the Yices SMT solver

isTheorem Source #

Arguments

:: Provable a 
=> Maybe Int

Optional time-out, specify in seconds

-> a

Property to check

-> IO (Maybe Bool)

Returns Nothing if time-out expires

Check if the statement is a theorem, with an optional time-out in seconds, using the Yices SMT solver

isSatisfiable Source #

Arguments

:: Provable a 
=> Maybe Int

Optional time-out, specify in seconds

-> a

Property to check

-> IO (Maybe Bool)

Returns Nothing if time-out expiers

Check if the statement is satisfiable, with an optional time-out in seconds, using the Yices SMT solver

Non-Yices specific SBV interface

The remainder of the SBV library that is common to all back-end SMT solvers, directly coming from the Data.SBV module.

module Data.SBV