hasmtlib-2.3.2: A monad for interfacing with external SMT solvers
Safe HaskellSafe-Inferred
LanguageGHC2021

Language.Hasmtlib.Type.Solution

Synopsis

Documentation

type Solver s m = s -> m (Result, Solution) Source #

Function that turns a state into a result and a solution.

data Result Source #

Results of check-sat commands.

Constructors

Unsat 
Unknown 
Sat 

Instances

Instances details
Show Result Source # 
Instance details

Defined in Language.Hasmtlib.Type.Solution

Eq Result Source # 
Instance details

Defined in Language.Hasmtlib.Type.Solution

Methods

(==) :: Result -> Result -> Bool #

(/=) :: Result -> Result -> Bool #

Ord Result Source # 
Instance details

Defined in Language.Hasmtlib.Type.Solution

type Solution = DMap SSMTSort IntValueMap Source #

A Solution is a dependent map DMap from SSMTSorts t to IntMap t.

newtype IntValueMap t Source #

Newtype for IntMap Value so we can use it as right-hand-side of DMap.

Constructors

IntValueMap (IntMap (Value t)) 

Instances

Instances details
Monoid (IntValueMap t) Source # 
Instance details

Defined in Language.Hasmtlib.Type.Solution

Semigroup (IntValueMap t) Source # 
Instance details

Defined in Language.Hasmtlib.Type.Solution

Show (IntValueMap t) Source # 
Instance details

Defined in Language.Hasmtlib.Type.Solution

data SMTVarSol (t :: SMTSort) Source #

A solution for a single variable.

Constructors

SMTVarSol 

Fields

Instances

Instances details
Show (SMTVarSol t) Source # 
Instance details

Defined in Language.Hasmtlib.Type.Solution

solVar :: forall t. Lens' (SMTVarSol t) (SMTVar t) Source #

solVal :: forall t. Lens' (SMTVarSol t) (Value t) Source #

class Ord (HaskellType t) => OrdHaskellType t Source #

Alias class for constraint Ord (HaskellType t)

Instances

Instances details
Ord (HaskellType t) => OrdHaskellType t Source # 
Instance details

Defined in Language.Hasmtlib.Type.Solution

type SomeKnownOrdSMTSort f = SomeSMTSort '[KnownSMTSort, OrdHaskellType] f Source #

An existential wrapper that hides some known SMTSort with an Ord HaskellType