liquid-fixpoint-0.8.10.2: Predicate Abstraction-based Horn-Clause/Implication Constraint Solver

Safe HaskellNone
LanguageHaskell98

Language.Fixpoint.Solver.Monad

Contents

Description

This is a wrapper around IO that permits SMT queries

Synopsis

Type

type SolveM = StateT SolverState IO Source #

Solver Monadic API --------------------------------------------------------

Execution

Get Binds

SMT Query

filterRequired :: Cand a -> Expr -> SolveM [a] Source #

SMT Interface -------------------------------------------------------------

`filterRequired [(x1, p1),...,(xn, pn)] q` returns a minimal list [xi] s.t. / [pi] => q

filterValid :: SrcSpan -> Expr -> Cand a -> SolveM [a] Source #

`filterValid p [(x1, q1),...,(xn, qn)]` returns the list `[ xi | p => qi]`

filterValidGradual :: [Expr] -> Cand a -> SolveM [a] Source #

`filterValidGradual ps [(x1, q1),...,(xn, qn)]` returns the list `[ xi | p => qi]` | for some p in the list ps

Debug

data Stats Source #

Instances
Eq Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

Methods

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

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

Data Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Stats -> c Stats #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Stats #

toConstr :: Stats -> Constr #

dataTypeOf :: Stats -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Stats) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Stats) #

gmapT :: (forall b. Data b => b -> b) -> Stats -> Stats #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Stats -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Stats -> r #

gmapQ :: (forall d. Data d => d -> u) -> Stats -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Stats -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Stats -> m Stats #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Stats -> m Stats #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Stats -> m Stats #

Show Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

Methods

showsPrec :: Int -> Stats -> ShowS #

show :: Stats -> String #

showList :: [Stats] -> ShowS #

Generic Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

Associated Types

type Rep Stats :: Type -> Type #

Methods

from :: Stats -> Rep Stats x #

to :: Rep Stats x -> Stats #

Semigroup Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

Methods

(<>) :: Stats -> Stats -> Stats #

sconcat :: NonEmpty Stats -> Stats #

stimes :: Integral b => b -> Stats -> Stats #

Monoid Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

Methods

mempty :: Stats #

mappend :: Stats -> Stats -> Stats #

mconcat :: [Stats] -> Stats #

Binary Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

Methods

put :: Stats -> Put #

get :: Get Stats #

putList :: [Stats] -> Put #

Serialize Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

Methods

put :: Putter Stats #

get :: Get Stats #

NFData Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

Methods

rnf :: Stats -> () #

PTable Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

type Rep Stats Source # 
Instance details

Defined in Language.Fixpoint.Solver.Stats

numIter :: Stats -> Int Source #

# Refine Iterations