liquid-fixpoint-0.9.6.3.2: Predicate Abstraction-based Horn-Clause/Implication Constraint Solver
Safe HaskellSafe-Inferred
LanguageHaskell98

Language.Fixpoint.Types.Constraints

Description

This module contains the top-level QUERY data types and elements, including (Horn) implication & well-formedness constraints and sets.

Synopsis

Top-level Queries

type FInfo a = GInfo SubC a Source #

type SInfo a = GInfo SimpC a Source #

data GInfo c a Source #

Constructors

FI 

Fields

Instances

Instances details
Functor c => Functor (GInfo c) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

fmap :: (a -> b) -> GInfo c a -> GInfo c b #

(<$) :: a -> GInfo c b -> GInfo c a #

Inputable (FInfo ()) Source # 
Instance details

Defined in Language.Fixpoint.Parse

Methods

rr :: String -> FInfo () Source #

rr' :: String -> String -> FInfo () Source #

Loc a => Elaborate (SInfo a) Source # 
Instance details

Defined in Language.Fixpoint.SortCheck

Methods

elaborate :: ElabParam -> SInfo a -> SInfo a Source #

Gradual (SInfo a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Graduals

Methods

gsubst :: ElabFlags -> GSol -> SInfo a -> SInfo a Source #

PTable (SInfo a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

ptable :: SInfo a -> DocTable Source #

Monoid (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

mempty :: GInfo c a #

mappend :: GInfo c a -> GInfo c a -> GInfo c a #

mconcat :: [GInfo c a] -> GInfo c a #

Semigroup (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

(<>) :: GInfo c a -> GInfo c a -> GInfo c a #

sconcat :: NonEmpty (GInfo c a) -> GInfo c a #

stimes :: Integral b => b -> GInfo c a -> GInfo c a #

Generic (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep (GInfo c a) :: Type -> Type #

Methods

from :: GInfo c a -> Rep (GInfo c a) x #

to :: Rep (GInfo c a) x -> GInfo c a #

(Fixpoint a, Show a, Show (c a)) => Show (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

showsPrec :: Int -> GInfo c a -> ShowS #

show :: GInfo c a -> String #

showList :: [GInfo c a] -> ShowS #

(NFData (c a), NFData a) => NFData (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: GInfo c a -> () #

(Eq a, Eq (c a)) => Eq (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

(==) :: GInfo c a -> GInfo c a -> Bool #

(/=) :: GInfo c a -> GInfo c a -> Bool #

(Defunc (c a), TaggedC c a) => Defunc (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Defunctionalize

Methods

defunc :: GInfo c a -> DF (GInfo c a) Source #

HasGradual (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

isGradual :: GInfo c a -> Bool Source #

gVars :: GInfo c a -> [KVar] Source #

ungrad :: GInfo c a -> GInfo c a Source #

Foldable (c a) => Foldable (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

foldE :: Monoid a0 => Folder a0 c0 -> c0 -> GInfo c a -> FoldM a0 (GInfo c a) Source #

SymConsts (c a) => SymConsts (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

symConsts :: GInfo c a -> [SymConst] Source #

Visitable (c a) => Visitable (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

transE :: (Expr -> Expr) -> GInfo c a -> GInfo c a Source #

(Store (c a), Store a) => Store (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

size :: Size (GInfo c a) #

poke :: GInfo c a -> Poke () #

peek :: Peek (GInfo c a) #

type Rep (GInfo c a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep (GInfo c a) = D1 ('MetaData "GInfo" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "FI" 'PrefixI 'True) (((S1 ('MetaSel ('Just "cm") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HashMap SubcId (c a))) :*: (S1 ('MetaSel ('Just "ws") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HashMap KVar (WfC a))) :*: S1 ('MetaSel ('Just "bs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BindEnv a)))) :*: ((S1 ('MetaSel ('Just "ebinds") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [BindId]) :*: S1 ('MetaSel ('Just "gLits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SEnv Sort))) :*: (S1 ('MetaSel ('Just "dLits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SEnv Sort)) :*: S1 ('MetaSel ('Just "kuts") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Kuts)))) :*: ((S1 ('MetaSel ('Just "quals") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Qualifier]) :*: (S1 ('MetaSel ('Just "bindInfo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HashMap BindId a)) :*: S1 ('MetaSel ('Just "ddecls") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [DataDecl]))) :*: ((S1 ('MetaSel ('Just "hoInfo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HOInfo) :*: S1 ('MetaSel ('Just "asserts") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Triggered Expr])) :*: (S1 ('MetaSel ('Just "ae") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AxiomEnv) :*: S1 ('MetaSel ('Just "lrws") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocalRewritesEnv))))))

data FInfoWithOpts a Source #

Top-level Queries

Constructors

FIO 

Fields

Instances

Instances details
Inputable (FInfoWithOpts ()) Source # 
Instance details

Defined in Language.Fixpoint.Parse

convertFormat :: Fixpoint a => FInfo a -> SInfo a Source #

Query Conversions: FInfo to SInfo

type Solver a = Config -> FInfo a -> IO (Result (Integer, a)) Source #

Top level Solvers ----------------------------------------------------

Serializing

toFixpoint :: (Fixpoint a, Fixpoint (c a)) => Config -> GInfo c a -> Doc Source #

Rendering Queries

writeFInfo :: (Fixpoint a, Fixpoint (c a)) => Config -> GInfo c a -> FilePath -> IO () Source #

saveQuery :: Fixpoint a => Config -> FInfo a -> IO () Source #

Constructing Queries

fi :: [SubC a] -> [WfC a] -> BindEnv a -> SEnv Sort -> SEnv Sort -> Kuts -> [Qualifier] -> HashMap BindId a -> Bool -> Bool -> [Triggered Expr] -> AxiomEnv -> [DataDecl] -> [BindId] -> GInfo SubC a Source #

Constructing Queries

Constraints

data WfC a Source #

Constructors

WfC 

Fields

GWfC 

Fields

Instances

Instances details
Functor WfC Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

fmap :: (a -> b) -> WfC a -> WfC b #

(<$) :: a -> WfC b -> WfC a #

Generic (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep (WfC a) :: Type -> Type #

Methods

from :: WfC a -> Rep (WfC a) x #

to :: Rep (WfC a) x -> WfC a #

Fixpoint a => Show (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

showsPrec :: Int -> WfC a -> ShowS #

show :: WfC a -> String #

showList :: [WfC a] -> ShowS #

NFData a => NFData (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: WfC a -> () #

Eq a => Eq (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

(==) :: WfC a -> WfC a -> Bool #

(/=) :: WfC a -> WfC a -> Bool #

Defunc (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Defunctionalize

Methods

defunc :: WfC a -> DF (WfC a) Source #

Fixpoint a => Fixpoint (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

toFix :: WfC a -> Doc Source #

simplify :: WfC a -> WfC a Source #

Fixpoint a => PPrint (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

pprintTidy :: Tidy -> WfC a -> Doc Source #

pprintPrec :: Int -> Tidy -> WfC a -> Doc Source #

HasGradual (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

isGradual :: WfC a -> Bool Source #

gVars :: WfC a -> [KVar] Source #

ungrad :: WfC a -> WfC a Source #

Store a => Store (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

size :: Size (WfC a) #

poke :: WfC a -> Poke () #

peek :: Peek (WfC a) #

type Rep (WfC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

updateWfCExpr :: (Expr -> Expr) -> WfC a -> WfC a Source #

data SubC a Source #

Instances

Instances details
Functor SubC Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

fmap :: (a -> b) -> SubC a -> SubC b #

(<$) :: a -> SubC b -> SubC a #

TaggedC SubC a Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Generic (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep (SubC a) :: Type -> Type #

Methods

from :: SubC a -> Rep (SubC a) x #

to :: Rep (SubC a) x -> SubC a #

Fixpoint a => Show (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

showsPrec :: Int -> SubC a -> ShowS #

show :: SubC a -> String #

showList :: [SubC a] -> ShowS #

NFData a => NFData (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: SubC a -> () #

Eq a => Eq (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

(==) :: SubC a -> SubC a -> Bool #

(/=) :: SubC a -> SubC a -> Bool #

Inputable (FInfo ()) Source # 
Instance details

Defined in Language.Fixpoint.Parse

Methods

rr :: String -> FInfo () Source #

rr' :: String -> String -> FInfo () Source #

Fixpoint a => Fixpoint (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

toFix :: SubC a -> Doc Source #

simplify :: SubC a -> SubC a Source #

(Ord a, Fixpoint a) => Fixpoint (FixResult (SubC a)) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Fixpoint a => PPrint (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

pprintTidy :: Tidy -> SubC a -> Doc Source #

pprintPrec :: Int -> Tidy -> SubC a -> Doc Source #

Foldable (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

foldE :: Monoid a0 => Folder a0 c -> c -> SubC a -> FoldM a0 (SubC a) Source #

SymConsts (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

symConsts :: SubC a -> [SymConst] Source #

Visitable (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

transE :: (Expr -> Expr) -> SubC a -> SubC a Source #

Store a => Store (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

size :: Size (SubC a) #

poke :: SubC a -> Poke () #

peek :: Peek (SubC a) #

type Rep (SubC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

subcId :: TaggedC c a => c a -> SubcId Source #

sid :: TaggedC c a => c a -> Maybe Integer Source #

senv :: TaggedC c a => c a -> IBindEnv Source #

updateSEnv :: TaggedC c a => c a -> (IBindEnv -> IBindEnv) -> c a Source #

stag :: TaggedC c a => c a -> Tag Source #

wfC :: Fixpoint a => IBindEnv -> SortedReft -> a -> [WfC a] Source #

"Smart Constructors" for Constraints ---------------------------------

data SimpC a Source #

Constructors

SimpC 

Fields

Instances

Instances details
Functor SimpC Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

fmap :: (a -> b) -> SimpC a -> SimpC b #

(<$) :: a -> SimpC b -> SimpC a #

TaggedC SimpC a Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Generic (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep (SimpC a) :: Type -> Type #

Methods

from :: SimpC a -> Rep (SimpC a) x #

to :: Rep (SimpC a) x -> SimpC a #

Fixpoint a => Show (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

showsPrec :: Int -> SimpC a -> ShowS #

show :: SimpC a -> String #

showList :: [SimpC a] -> ShowS #

NFData a => NFData (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: SimpC a -> () #

Defunc (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Defunctionalize

Methods

defunc :: SimpC a -> DF (SimpC a) Source #

Loc a => Elaborate (SInfo a) Source # 
Instance details

Defined in Language.Fixpoint.SortCheck

Methods

elaborate :: ElabParam -> SInfo a -> SInfo a Source #

Loc a => Elaborate (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.SortCheck

Methods

elaborate :: ElabParam -> SimpC a -> SimpC a Source #

Gradual (SInfo a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Graduals

Methods

gsubst :: ElabFlags -> GSol -> SInfo a -> SInfo a Source #

Gradual (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Graduals

Methods

gsubst :: ElabFlags -> GSol -> SimpC a -> SimpC a Source #

Fixpoint a => Fixpoint (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

toFix :: SimpC a -> Doc Source #

simplify :: SimpC a -> SimpC a Source #

Fixpoint a => PPrint (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

pprintTidy :: Tidy -> SimpC a -> Doc Source #

pprintPrec :: Int -> Tidy -> SimpC a -> Doc Source #

PTable (SInfo a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

ptable :: SInfo a -> DocTable Source #

Loc a => Loc (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

srcSpan :: SimpC a -> SrcSpan Source #

Foldable (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

foldE :: Monoid a0 => Folder a0 c -> c -> SimpC a -> FoldM a0 (SimpC a) Source #

SymConsts (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

symConsts :: SimpC a -> [SymConst] Source #

Visitable (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

transE :: (Expr -> Expr) -> SimpC a -> SimpC a Source #

Store a => Store (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

size :: Size (SimpC a) #

poke :: SimpC a -> Poke () #

peek :: Peek (SimpC a) #

type Rep (SimpC a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep (SimpC a) = D1 ('MetaData "SimpC" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "SimpC" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_cenv") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 IBindEnv) :*: (S1 ('MetaSel ('Just "_crhs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Expr) :*: S1 ('MetaSel ('Just "_cid") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Integer)))) :*: (S1 ('MetaSel ('Just "cbind") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BindId) :*: (S1 ('MetaSel ('Just "_ctag") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Tag) :*: S1 ('MetaSel ('Just "_cinfo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))))

type Tag = [Int] Source #

Constraints ---------------------------------------------------------------

class TaggedC c a Source #

Minimal complete definition

senv, updateSEnv, sid, stag, sinfo, clhs, crhs

Instances

Instances details
TaggedC SimpC a Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

TaggedC SubC a Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

clhs :: TaggedC c a => BindEnv a -> c a -> [(Symbol, SortedReft)] Source #

crhs :: TaggedC c a => c a -> Expr Source #

Accessing Constraints

addIds :: [SubC a] -> [(Integer, SubC a)] Source #

sinfo :: TaggedC c a => c a -> a Source #

data GWInfo Source #

Constructors

GWInfo 

Fields

Instances

Instances details
Generic GWInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep GWInfo :: Type -> Type #

Methods

from :: GWInfo -> Rep GWInfo x #

to :: Rep GWInfo x -> GWInfo #

NFData GWInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: GWInfo -> () #

Eq GWInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

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

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

Store GWInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

size :: Size GWInfo #

poke :: GWInfo -> Poke () #

peek :: Peek GWInfo #

type Rep GWInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep GWInfo = D1 ('MetaData "GWInfo" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "GWInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "gsym") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Symbol) :*: S1 ('MetaSel ('Just "gsort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Sort)) :*: (S1 ('MetaSel ('Just "gexpr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Just "ginfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GradInfo))))

Qualifiers

type Qualifier = QualifierV Symbol Source #

Qualifiers ----------------------------------------------------------------

data QualifierV v Source #

Constructors

Q 

Fields

Instances

Instances details
FromJSON Qualifier Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

ToJSON Qualifier Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Foldable QualifierV Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

fold :: Monoid m => QualifierV m -> m #

foldMap :: Monoid m => (a -> m) -> QualifierV a -> m #

foldMap' :: Monoid m => (a -> m) -> QualifierV a -> m #

foldr :: (a -> b -> b) -> b -> QualifierV a -> b #

foldr' :: (a -> b -> b) -> b -> QualifierV a -> b #

foldl :: (b -> a -> b) -> b -> QualifierV a -> b #

foldl' :: (b -> a -> b) -> b -> QualifierV a -> b #

foldr1 :: (a -> a -> a) -> QualifierV a -> a #

foldl1 :: (a -> a -> a) -> QualifierV a -> a #

toList :: QualifierV a -> [a] #

null :: QualifierV a -> Bool #

length :: QualifierV a -> Int #

elem :: Eq a => a -> QualifierV a -> Bool #

maximum :: Ord a => QualifierV a -> a #

minimum :: Ord a => QualifierV a -> a #

sum :: Num a => QualifierV a -> a #

product :: Num a => QualifierV a -> a #

Traversable QualifierV Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

traverse :: Applicative f => (a -> f b) -> QualifierV a -> f (QualifierV b) #

sequenceA :: Applicative f => QualifierV (f a) -> f (QualifierV a) #

mapM :: Monad m => (a -> m b) -> QualifierV a -> m (QualifierV b) #

sequence :: Monad m => QualifierV (m a) -> m (QualifierV a) #

Functor QualifierV Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

fmap :: (a -> b) -> QualifierV a -> QualifierV b #

(<$) :: a -> QualifierV b -> QualifierV a #

ToHornSMT Qualifier Source # 
Instance details

Defined in Language.Fixpoint.Horn.Types

Fixpoint Qualifier Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Subable Qualifier Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Loc Qualifier Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Store Qualifier Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Data v => Data (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

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

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

toConstr :: QualifierV v -> Constr #

dataTypeOf :: QualifierV v -> DataType #

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

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

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

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

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

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

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

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

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

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

Generic (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep (QualifierV v) :: Type -> Type #

Methods

from :: QualifierV v -> Rep (QualifierV v) x #

to :: Rep (QualifierV v) x -> QualifierV v #

(Show v, Fixpoint v, Ord v) => Show (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Binary v => Binary (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

put :: QualifierV v -> Put #

get :: Get (QualifierV v) #

putList :: [QualifierV v] -> Put #

NFData v => NFData (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: QualifierV v -> () #

Eq v => Eq (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

(==) :: QualifierV v -> QualifierV v -> Bool #

(/=) :: QualifierV v -> QualifierV v -> Bool #

Ord v => Ord (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Hashable v => Hashable (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

hashWithSalt :: Int -> QualifierV v -> Int #

hash :: QualifierV v -> Int #

PPrint (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep (QualifierV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep (QualifierV v) = D1 ('MetaData "QualifierV" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "Q" 'PrefixI 'True) ((S1 ('MetaSel ('Just "qName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Symbol) :*: S1 ('MetaSel ('Just "qParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QualParam])) :*: (S1 ('MetaSel ('Just "qBody") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ExprV v)) :*: S1 ('MetaSel ('Just "qPos") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SourcePos))))

data QualParam Source #

Constructors

QP 

Fields

Instances

Instances details
FromJSON QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

ToJSON QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Data QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

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

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

toConstr :: QualParam -> Constr #

dataTypeOf :: QualParam -> DataType #

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

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

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

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

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

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

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

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

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

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

Generic QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep QualParam :: Type -> Type #

Show QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Binary QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

NFData QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: QualParam -> () #

Eq QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Ord QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Hashable QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

ToHornSMT QualParam Source # 
Instance details

Defined in Language.Fixpoint.Horn.Types

Fixpoint QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

PPrint QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Store QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep QualParam Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep QualParam = D1 ('MetaData "QualParam" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "QP" 'PrefixI 'True) (S1 ('MetaSel ('Just "qpSym") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Symbol) :*: (S1 ('MetaSel ('Just "qpPat") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 QualPattern) :*: S1 ('MetaSel ('Just "qpSort") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Sort))))

data QualPattern Source #

Constructors

PatNone

match everything

PatPrefix !Symbol !Int

str . $i i.e. match prefix str with suffix bound to $i

PatSuffix !Int !Symbol

$i . str i.e. match suffix str with prefix bound to $i

PatExact !Symbol

str i.e. exactly match str

Instances

Instances details
FromJSON QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

ToJSON QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Data QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

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

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

toConstr :: QualPattern -> Constr #

dataTypeOf :: QualPattern -> DataType #

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

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

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

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

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

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

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

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

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

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

Generic QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep QualPattern :: Type -> Type #

Show QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Binary QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

NFData QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: QualPattern -> () #

Eq QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Ord QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Hashable QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

PPrint QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Store QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep QualPattern Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

mkQual :: Symbol -> [QualParam] -> ExprV v -> SourcePos -> QualifierV v Source #

constructing qualifiers

Results

type GFixSolution = GFixSol Expr Source #

Solutions and Results

toGFixSol :: HashMap KVar (e, [e]) -> GFixSol e Source #

data Result a Source #

Instances

Instances details
Functor Result Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

fmap :: (a -> b) -> Result a -> Result b #

(<$) :: a -> Result b -> Result a #

ToJSON a => ToJSON (Result a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Monoid (Result a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

mempty :: Result a #

mappend :: Result a -> Result a -> Result a #

mconcat :: [Result a] -> Result a #

Semigroup (Result a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

(<>) :: Result a -> Result a -> Result a #

sconcat :: NonEmpty (Result a) -> Result a #

stimes :: Integral b => b -> Result a -> Result a #

Generic (Result a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep (Result a) :: Type -> Type #

Methods

from :: Result a -> Rep (Result a) x #

to :: Rep (Result a) x -> Result a #

Show a => Show (Result a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

showsPrec :: Int -> Result a -> ShowS #

show :: Result a -> String #

showList :: [Result a] -> ShowS #

NFData a => NFData (Result a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: Result a -> () #

type Rep (Result a) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep (Result a) = D1 ('MetaData "Result" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "Result" 'PrefixI 'True) ((S1 ('MetaSel ('Just "resStatus") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (FixResult a)) :*: S1 ('MetaSel ('Just "resSolution") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FixSolution)) :*: (S1 ('MetaSel ('Just "resNonCutsSolution") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FixSolution) :*: S1 ('MetaSel ('Just "gresSolution") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GFixSolution))))

Cut KVars

newtype Kuts Source #

Constraint Cut Sets -------------------------------------------------------

Constructors

KS 

Fields

Instances

Instances details
Monoid Kuts Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

mempty :: Kuts #

mappend :: Kuts -> Kuts -> Kuts #

mconcat :: [Kuts] -> Kuts #

Semigroup Kuts Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

(<>) :: Kuts -> Kuts -> Kuts #

sconcat :: NonEmpty Kuts -> Kuts #

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

Generic Kuts Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep Kuts :: Type -> Type #

Methods

from :: Kuts -> Rep Kuts x #

to :: Rep Kuts x -> Kuts #

Show Kuts Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

showsPrec :: Int -> Kuts -> ShowS #

show :: Kuts -> String #

showList :: [Kuts] -> ShowS #

NFData Kuts Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: Kuts -> () #

Eq Kuts Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

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

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

Fixpoint Kuts Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Store Kuts Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

size :: Size Kuts #

poke :: Kuts -> Poke () #

peek :: Peek Kuts #

type Rep Kuts Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep Kuts = D1 ('MetaData "Kuts" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'True) (C1 ('MetaCons "KS" 'PrefixI 'True) (S1 ('MetaSel ('Just "ksVars") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashSet KVar))))

Higher Order Logic

data HOInfo Source #

Constructors

HOI 

Fields

Instances

Instances details
Monoid HOInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Semigroup HOInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Generic HOInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep HOInfo :: Type -> Type #

Methods

from :: HOInfo -> Rep HOInfo x #

to :: Rep HOInfo x -> HOInfo #

Show HOInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

NFData HOInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: HOInfo -> () #

Eq HOInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

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

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

Store HOInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

size :: Size HOInfo #

poke :: HOInfo -> Poke () #

peek :: Peek HOInfo #

type Rep HOInfo Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep HOInfo = D1 ('MetaData "HOInfo" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "HOI" 'PrefixI 'True) (S1 ('MetaSel ('Just "hoBinds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "hoQuals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Axioms

data AxiomEnv Source #

Axiom Instantiation Information --------------------------------------

Instances

Instances details
Monoid AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Semigroup AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Generic AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep AxiomEnv :: Type -> Type #

Methods

from :: AxiomEnv -> Rep AxiomEnv x #

to :: Rep AxiomEnv x -> AxiomEnv #

Show AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

NFData AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: AxiomEnv -> () #

Eq AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Elaborate AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.SortCheck

Fixpoint AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

PPrint AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Foldable AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

foldE :: Monoid a => Folder a c -> c -> AxiomEnv -> FoldM a AxiomEnv Source #

SymConsts AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Visitable AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

transE :: (Expr -> Expr) -> AxiomEnv -> AxiomEnv Source #

Store AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep AxiomEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep AxiomEnv = D1 ('MetaData "AxiomEnv" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "AEnv" 'PrefixI 'True) ((S1 ('MetaSel ('Just "aenvEqs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Equation]) :*: S1 ('MetaSel ('Just "aenvSimpl") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Rewrite])) :*: (S1 ('MetaSel ('Just "aenvExpand") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap SubcId Bool)) :*: S1 ('MetaSel ('Just "aenvAutoRW") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap SubcId [AutoRewrite])))))

data EquationV v Source #

Constructors

Equ 

Fields

Instances

Instances details
FromJSON Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

ToJSON Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Functor EquationV Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

fmap :: (a -> b) -> EquationV a -> EquationV b #

(<$) :: a -> EquationV b -> EquationV a #

NFData Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: Equation -> () #

ToHornSMT Equation Source # 
Instance details

Defined in Language.Fixpoint.Horn.Types

Elaborate Equation Source # 
Instance details

Defined in Language.Fixpoint.SortCheck

Fixpoint Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

PPrint Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Subable Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Foldable Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

foldE :: Monoid a => Folder a c -> c -> Equation -> FoldM a Equation Source #

SymConsts Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Visitable Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

transE :: (Expr -> Expr) -> Equation -> Equation Source #

Store Equation Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Data v => Data (EquationV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

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

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

toConstr :: EquationV v -> Constr #

dataTypeOf :: EquationV v -> DataType #

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

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

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

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

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

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

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

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

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

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

Generic (EquationV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep (EquationV v) :: Type -> Type #

Methods

from :: EquationV v -> Rep (EquationV v) x #

to :: Rep (EquationV v) x -> EquationV v #

(Show v, Fixpoint v, Ord v) => Show (EquationV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Binary v => Binary (EquationV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

put :: EquationV v -> Put #

get :: Get (EquationV v) #

putList :: [EquationV v] -> Put #

Eq v => Eq (EquationV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

(==) :: EquationV v -> EquationV v -> Bool #

(/=) :: EquationV v -> EquationV v -> Bool #

Ord v => Ord (EquationV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Hashable v => Hashable (EquationV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

hashWithSalt :: Int -> EquationV v -> Int #

hash :: EquationV v -> Int #

type Rep (EquationV v) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep (EquationV v) = D1 ('MetaData "EquationV" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "Equ" 'PrefixI 'True) ((S1 ('MetaSel ('Just "eqName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Symbol) :*: S1 ('MetaSel ('Just "eqArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Symbol, Sort)])) :*: (S1 ('MetaSel ('Just "eqBody") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ExprV v)) :*: (S1 ('MetaSel ('Just "eqSort") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Sort) :*: S1 ('MetaSel ('Just "eqRec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))))

data Rewrite Source #

Constructors

SMeasure 

Fields

Instances

Instances details
FromJSON Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

ToJSON Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Data Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

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

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

toConstr :: Rewrite -> Constr #

dataTypeOf :: Rewrite -> DataType #

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

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

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

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

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

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

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

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

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

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

Generic Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep Rewrite :: Type -> Type #

Methods

from :: Rewrite -> Rep Rewrite x #

to :: Rep Rewrite x -> Rewrite #

Show Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

NFData Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: Rewrite -> () #

Eq Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

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

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

Ord Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

ToHornSMT Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Horn.Types

Elaborate Rewrite Source # 
Instance details

Defined in Language.Fixpoint.SortCheck

Fixpoint Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

PPrint Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Foldable Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

foldE :: Monoid a => Folder a c -> c -> Rewrite -> FoldM a Rewrite Source #

SymConsts Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Visitable Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Visitor

Methods

transE :: (Expr -> Expr) -> Rewrite -> Rewrite Source #

Store Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep Rewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep Rewrite = D1 ('MetaData "Rewrite" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "SMeasure" 'PrefixI 'True) ((S1 ('MetaSel ('Just "smName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Symbol) :*: S1 ('MetaSel ('Just "smDC") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Symbol)) :*: (S1 ('MetaSel ('Just "smArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Symbol]) :*: S1 ('MetaSel ('Just "smBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))))

data AutoRewrite Source #

Constructors

AutoRewrite 

Fields

Instances

Instances details
Generic AutoRewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep AutoRewrite :: Type -> Type #

Show AutoRewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

NFData AutoRewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: AutoRewrite -> () #

Eq AutoRewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Ord AutoRewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Hashable AutoRewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Store AutoRewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Fixpoint (HashMap SubcId [AutoRewrite]) Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep AutoRewrite Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep AutoRewrite = D1 ('MetaData "AutoRewrite" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'False) (C1 ('MetaCons "AutoRewrite" 'PrefixI 'True) (S1 ('MetaSel ('Just "arArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SortedReft]) :*: (S1 ('MetaSel ('Just "arLHS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Just "arRHS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))))

newtype LocalRewritesEnv Source #

Instances

Instances details
Monoid LocalRewritesEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Semigroup LocalRewritesEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Generic LocalRewritesEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep LocalRewritesEnv :: Type -> Type #

Show LocalRewritesEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

NFData LocalRewritesEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: LocalRewritesEnv -> () #

Eq LocalRewritesEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Fixpoint LocalRewritesEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Store LocalRewritesEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep LocalRewritesEnv Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep LocalRewritesEnv = D1 ('MetaData "LocalRewritesEnv" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'True) (C1 ('MetaCons "LocalRewritesMap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap BindId LocalRewrites))))

newtype LocalRewrites Source #

Instances

Instances details
Monoid LocalRewrites Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Semigroup LocalRewrites Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Generic LocalRewrites Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Associated Types

type Rep LocalRewrites :: Type -> Type #

Show LocalRewrites Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

NFData LocalRewrites Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Methods

rnf :: LocalRewrites -> () #

Eq LocalRewrites Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

Store LocalRewrites Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep LocalRewrites Source # 
Instance details

Defined in Language.Fixpoint.Types.Constraints

type Rep LocalRewrites = D1 ('MetaData "LocalRewrites" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.2-4tsgPlidRgw727KfDpGHMc" 'True) (C1 ('MetaCons "LocalRewrites" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Symbol Expr))))

Misc [should be elsewhere but here due to dependencies]

gSorts :: [Sort] -> [Sort] Source #