| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
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
- type FInfo a = GInfo SubC a
- type SInfo a = GInfo SimpC a
- data GInfo (c :: Type -> Type) a = FI {
- cm :: !(HashMap SubcId (c a))
- ws :: !(HashMap KVar (WfC a))
- bs :: !(BindEnv a)
- gLits :: !(SEnv Sort)
- dLits :: !(SEnv Sort)
- kuts :: !Kuts
- quals :: ![Qualifier]
- bindInfo :: !(HashMap BindId a)
- ddecls :: ![DataDecl]
- hoInfo :: !HOInfo
- asserts :: ![Triggered Expr]
- ae :: AxiomEnv
- lrws :: LocalRewritesEnv
- defns :: DefinedFuns
- data FInfoWithOpts a = FIO {}
- convertFormat :: Fixpoint a => FInfo a -> SInfo a
- sinfoToFInfo :: SInfo a -> FInfo a
- toFixpoint :: forall a (c :: Type -> Type). (Fixpoint a, Fixpoint (c a)) => Config -> GInfo c a -> Doc
- writeFInfo :: forall a (c :: Type -> Type). (Fixpoint a, Fixpoint (c a)) => Config -> GInfo c a -> FilePath -> IO ()
- saveQuery :: Fixpoint a => Config -> FInfo a -> IO ()
- saveSInfo :: Fixpoint a => Config -> String -> SInfo a -> IO ()
- fi :: [SubC a] -> [WfC a] -> BindEnv a -> SEnv Sort -> SEnv Sort -> Kuts -> [Qualifier] -> HashMap BindId a -> Bool -> Bool -> [Triggered Expr] -> AxiomEnv -> [DataDecl] -> GInfo SubC a
- data WfC a = WfC {}
- data SubC a
- type SubcId = Integer
- mkSubC :: IBindEnv -> SortedReft -> SortedReft -> Maybe Integer -> Tag -> a -> SubC a
- subcId :: TaggedC c a => c a -> SubcId
- sid :: TaggedC c a => c a -> Maybe Integer
- senv :: TaggedC c a => c a -> IBindEnv
- updateSEnv :: TaggedC c a => c a -> (IBindEnv -> IBindEnv) -> c a
- slhs :: SubC a -> SortedReft
- srhs :: SubC a -> SortedReft
- stag :: TaggedC c a => c a -> Tag
- subC :: IBindEnv -> SortedReft -> SortedReft -> Maybe Integer -> Tag -> a -> [SubC a]
- wfC :: Fixpoint a => IBindEnv -> SortedReft -> a -> [WfC a]
- data SimpC a = SimpC {}
- type Tag = [Int]
- class TaggedC (c :: Type -> Type) a
- clhs :: TaggedC c a => BindEnv a -> c a -> [(Symbol, SortedReft)]
- crhs :: TaggedC c a => c a -> Expr
- strengthenHyp :: SInfo a -> [(Integer, Expr)] -> BindEnv a
- strengthenBinds :: SInfo a -> HashMap BindId Expr -> BindEnv a
- addIds :: [SubC a] -> [(Integer, SubC a)]
- sinfo :: TaggedC c a => c a -> a
- shiftVV :: Reft -> Symbol -> Reft
- type Qualifier = QualifierV Symbol
- data QualifierV v = Q {}
- data QualParam = QP {}
- data QualPattern
- trueQual :: Qualifier
- qualifier :: SEnv Sort -> SourcePos -> SEnv Sort -> Symbol -> Sort -> Expr -> Qualifier
- mkQual :: Symbol -> [QualParam] -> ExprV v -> SourcePos -> QualifierV v
- remakeQual :: Qualifier -> Qualifier
- mkQ :: Symbol -> [(Symbol, Sort)] -> Expr -> SourcePos -> Qualifier
- qualBinds :: Qualifier -> [(Symbol, Sort)]
- type FixSolution = HashMap KVar Expr
- type FixDelayedSolution = HashMap KVar (Delayed Expr)
- data Delayed a = Delayed {
- forceDelayed :: a
- data Result a = Result {
- resStatus :: !(FixResult a)
- resSolution :: !FixSolution
- resNonCutsSolution :: !FixDelayedSolution
- resSorts :: !ResultSorts
- type ResultSorts = HashMap KVar [(Symbol, Sort)]
- unsafe :: Result a
- isUnsafe :: Result a -> Bool
- isSafe :: Result a -> Bool
- safe :: Result a
- newtype Kuts = KS {}
- ksMember :: KVar -> Kuts -> Bool
- data HOInfo = HOI {}
- allowHO :: forall (c :: Type -> Type) a. GInfo c a -> Bool
- allowHOquals :: forall (c :: Type -> Type) a. GInfo c a -> Bool
- cfgHoInfo :: Config -> HOInfo
- data AxiomEnv = AEnv {
- aenvEqs :: ![Equation]
- aenvSimpl :: ![Rewrite]
- aenvExpand :: HashMap SubcId Bool
- aenvAutoRW :: HashMap SubcId [AutoRewrite]
- type Equation = EquationV Symbol
- newtype DefinedFuns = MkDefinedFuns [Equation]
- data EquationV v = Equ {}
- mkEquation :: Symbol -> [(Symbol, Sort)] -> Expr -> Sort -> Equation
- data Rewrite = SMeasure {}
- data AutoRewrite = AutoRewrite {}
- dedupAutoRewrites :: HashMap SubcId [AutoRewrite] -> [AutoRewrite]
- newtype LocalRewritesEnv = LocalRewritesMap (HashMap BindId LocalRewrites)
- newtype LocalRewrites = LocalRewrites (HashMap Symbol Expr)
- lookupRewrite :: Symbol -> LocalRewrites -> Maybe Expr
- lookupLocalRewrites :: BindId -> LocalRewritesEnv -> Maybe LocalRewrites
- insertRewrites :: BindId -> LocalRewrites -> LocalRewritesEnv -> LocalRewritesEnv
- eqnToHornSMT :: Doc -> Equation -> Doc
- substVars :: [(Symbol, Int)] -> Sort -> Sort
- sortVars :: Sort -> [Symbol]
- gSorts :: [Sort] -> [Sort]
Top-level Queries
data GInfo (c :: Type -> Type) a Source #
Constructors
| FI | |
Fields
| |
Instances
data FInfoWithOpts a Source #
Top-level Queries
Instances
| Inputable (FInfoWithOpts ()) Source # | |
Defined in Language.Fixpoint.Parse | |
sinfoToFInfo :: SInfo a -> FInfo a Source #
Serializing
toFixpoint :: forall a (c :: Type -> Type). (Fixpoint a, Fixpoint (c a)) => Config -> GInfo c a -> Doc Source #
Rendering Queries
writeFInfo :: forall a (c :: Type -> Type). (Fixpoint a, Fixpoint (c a)) => Config -> GInfo c a -> FilePath -> IO () Source #
saveSInfo :: Fixpoint a => Config -> String -> SInfo a -> IO () Source #
Used for debugging to inspect intermediate SInfo files.
Takes a suffix to put in the name of the written file, whose name
is still derived from the input file name in cfg.
Usage example:
when (save cfg) $ saveSInfo cfg ".sinfo" si
This will write a file like `.liquid/Test.hs.sinfo.fq` when the `--save` flag is used.
Constructing Queries
fi :: [SubC a] -> [WfC a] -> BindEnv a -> SEnv Sort -> SEnv Sort -> Kuts -> [Qualifier] -> HashMap BindId a -> Bool -> Bool -> [Triggered Expr] -> AxiomEnv -> [DataDecl] -> GInfo SubC a Source #
Constructing Queries
Constraints
Instances
| Functor WfC Source # | |||||
| Generic (WfC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Fixpoint a => Show (WfC a) Source # | |||||
| NFData a => NFData (WfC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Eq a => Eq (WfC a) Source # | |||||
| Defunc (WfC a) Source # | |||||
| Fixpoint a => Fixpoint (WfC a) Source # | |||||
| Fixpoint a => PPrint (WfC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Store a => Store (WfC a) Source # | |||||
| type Rep (WfC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep (WfC a) = D1 ('MetaData "WfC" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" 'False) (C1 ('MetaCons "WfC" 'PrefixI 'True) (S1 ('MetaSel ('Just "wenv") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 IBindEnv) :*: (S1 ('MetaSel ('Just "wrft") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Symbol, Sort, KVar)) :*: S1 ('MetaSel ('Just "winfo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))) | |||||
Instances
| Functor SubC Source # | |||||
| TaggedC SubC a Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Generic (SubC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Fixpoint a => Show (SubC a) Source # | |||||
| NFData a => NFData (SubC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Eq a => Eq (SubC a) Source # | |||||
| Inputable (FInfo ()) Source # | |||||
| Fixpoint a => Fixpoint (SubC a) Source # | |||||
| (Ord a, Fixpoint a) => Fixpoint (FixResult (SubC a)) Source # | |||||
| Fixpoint a => PPrint (SubC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Foldable (SubC a) Source # | |||||
| SymConsts (SubC a) Source # | |||||
| Visitable (SubC a) Source # | |||||
| Store a => Store (SubC a) Source # | |||||
| type Rep (SubC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep (SubC a) = D1 ('MetaData "SubC" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" 'False) (C1 ('MetaCons "SubC" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_senv") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 IBindEnv) :*: (S1 ('MetaSel ('Just "slhs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SortedReft) :*: S1 ('MetaSel ('Just "srhs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SortedReft))) :*: (S1 ('MetaSel ('Just "_sid") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe SubcId)) :*: (S1 ('MetaSel ('Just "_stag") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Tag) :*: S1 ('MetaSel ('Just "_sinfo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))) | |||||
mkSubC :: IBindEnv -> SortedReft -> SortedReft -> Maybe Integer -> Tag -> a -> SubC a Source #
slhs :: SubC a -> SortedReft Source #
srhs :: SubC a -> SortedReft Source #
subC :: IBindEnv -> SortedReft -> SortedReft -> Maybe Integer -> Tag -> a -> [SubC a] Source #
wfC :: Fixpoint a => IBindEnv -> SortedReft -> a -> [WfC a] Source #
"Smart Constructors" for Constraints ---------------------------------
Constructors
| SimpC | |
Instances
| Functor SimpC Source # | |||||
| TaggedC SimpC a Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Generic (SimpC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Fixpoint a => Show (SimpC a) Source # | |||||
| NFData a => NFData (SimpC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Defunc (SimpC a) Source # | |||||
| Loc a => Elaborate (SInfo a) Source # | |||||
| Loc a => Elaborate (SimpC a) Source # | |||||
| Fixpoint a => Fixpoint (SimpC a) Source # | |||||
| Fixpoint a => PPrint (SimpC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| PTable (SInfo a) Source # | |||||
| Loc a => Loc (SimpC a) Source # | |||||
| Foldable (SimpC a) Source # | |||||
| SymConsts (SimpC a) Source # | |||||
| Visitable (SimpC a) Source # | |||||
| Store a => Store (SimpC a) Source # | |||||
| type Rep (SimpC a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep (SimpC a) = D1 ('MetaData "SimpC" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" '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))))) | |||||
Constraints ---------------------------------------------------------------
class TaggedC (c :: Type -> Type) a Source #
Instances
| TaggedC SimpC a Source # | |
Defined in Language.Fixpoint.Types.Constraints | |
| TaggedC SubC a Source # | |
Defined in Language.Fixpoint.Types.Constraints | |
Accessing Constraints
Qualifiers
type Qualifier = QualifierV Symbol Source #
Qualifiers ----------------------------------------------------------------
data QualifierV v Source #
Constructors
| Q | |
Instances
| FromJSON Qualifier Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| ToJSON Qualifier Source # | |||||
| Foldable QualifierV Source # | |||||
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 # | |||||
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 # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods fmap :: (a -> b) -> QualifierV a -> QualifierV b # (<$) :: a -> QualifierV b -> QualifierV a # | |||||
| Fixpoint Qualifier Source # | |||||
| Subable Qualifier Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| ToHornSMT Qualifier Source # | |||||
| Loc Qualifier Source # | |||||
| Store Qualifier Source # | |||||
| Data v => Data (QualifierV v) Source # | |||||
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 # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| (Show v, Fixpoint v, Ord v) => Show (QualifierV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods showsPrec :: Int -> QualifierV v -> ShowS # show :: QualifierV v -> String # showList :: [QualifierV v] -> ShowS # | |||||
| Binary v => Binary (QualifierV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| NFData v => NFData (QualifierV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods rnf :: QualifierV v -> () # | |||||
| Eq v => Eq (QualifierV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Ord v => Ord (QualifierV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods compare :: QualifierV v -> QualifierV v -> Ordering # (<) :: QualifierV v -> QualifierV v -> Bool # (<=) :: QualifierV v -> QualifierV v -> Bool # (>) :: QualifierV v -> QualifierV v -> Bool # (>=) :: QualifierV v -> QualifierV v -> Bool # max :: QualifierV v -> QualifierV v -> QualifierV v # min :: QualifierV v -> QualifierV v -> QualifierV v # | |||||
| Hashable v => Hashable (QualifierV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| (Ord v, Fixpoint v, PPrint v) => PPrint (QualifierV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods pprintTidy :: Tidy -> QualifierV v -> Doc Source # pprintPrec :: Int -> Tidy -> QualifierV v -> Doc Source # | |||||
| type Rep (QualifierV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep (QualifierV v) = D1 ('MetaData "QualifierV" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" '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)))) | |||||
Instances
| FromJSON QualParam Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| ToJSON QualParam Source # | |||||
| Data QualParam Source # | |||||
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 # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show QualParam Source # | |||||
| Binary QualParam Source # | |||||
| NFData QualParam Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Eq QualParam Source # | |||||
| Ord QualParam Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Hashable QualParam Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Fixpoint QualParam Source # | |||||
| PPrint QualParam Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| ToHornSMT QualParam Source # | |||||
| Store QualParam Source # | |||||
| type Rep QualParam Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep QualParam = D1 ('MetaData "QualParam" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" '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 |
| PatSuffix !Int !Symbol | $i . str i.e. match suffix |
| PatExact !Symbol | str i.e. exactly match |
Instances
| FromJSON QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| ToJSON QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods toJSON :: QualPattern -> Value # toEncoding :: QualPattern -> Encoding # toJSONList :: [QualPattern] -> Value # toEncodingList :: [QualPattern] -> Encoding # omitField :: QualPattern -> Bool # | |||||
| Data QualPattern Source # | |||||
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 # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods showsPrec :: Int -> QualPattern -> ShowS # show :: QualPattern -> String # showList :: [QualPattern] -> ShowS # | |||||
| Binary QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| NFData QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods rnf :: QualPattern -> () # | |||||
| Eq QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Ord QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods compare :: QualPattern -> QualPattern -> Ordering # (<) :: QualPattern -> QualPattern -> Bool # (<=) :: QualPattern -> QualPattern -> Bool # (>) :: QualPattern -> QualPattern -> Bool # (>=) :: QualPattern -> QualPattern -> Bool # max :: QualPattern -> QualPattern -> QualPattern # min :: QualPattern -> QualPattern -> QualPattern # | |||||
| Hashable QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| PPrint QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods pprintTidy :: Tidy -> QualPattern -> Doc Source # pprintPrec :: Int -> Tidy -> QualPattern -> Doc Source # | |||||
| Store QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| type Rep QualPattern Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep QualPattern = D1 ('MetaData "QualPattern" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" 'False) ((C1 ('MetaCons "PatNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PatPrefix" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Symbol) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int))) :+: (C1 ('MetaCons "PatSuffix" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Symbol)) :+: C1 ('MetaCons "PatExact" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Symbol)))) | |||||
mkQual :: Symbol -> [QualParam] -> ExprV v -> SourcePos -> QualifierV v Source #
constructing qualifiers
remakeQual :: Qualifier -> Qualifier Source #
Results
Solutions and Results
Since some solutions are expensive to compute, we wrap them in a Delayed type to compute them only if needed.
Constructors
| Delayed | |
Fields
| |
Instances
| Functor Delayed Source # | |||||
| Generic (Delayed a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show a => Show (Delayed a) Source # | |||||
| NFData a => NFData (Delayed a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| type Rep (Delayed a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
Constructors
| Result | |
Fields
| |
Instances
| Functor Result Source # | |||||
| ToJSON a => ToJSON (Result a) Source # | |||||
| Monoid (Result a) Source # | |||||
| Semigroup (Result a) Source # | |||||
| Generic (Result a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show a => Show (Result a) Source # | |||||
| NFData a => NFData (Result a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| type Rep (Result a) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep (Result a) = D1 ('MetaData "Result" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" '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 FixDelayedSolution) :*: S1 ('MetaSel ('Just "resSorts") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ResultSorts)))) | |||||
Cut KVars
Constraint Cut Sets -------------------------------------------------------
Instances
| Monoid Kuts Source # | |||||
| Semigroup Kuts Source # | |||||
| Generic Kuts Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show Kuts Source # | |||||
| NFData Kuts Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Eq Kuts Source # | |||||
| Fixpoint Kuts Source # | |||||
| Store Kuts Source # | |||||
| type Rep Kuts Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
Higher Order Logic
Constructors
| HOI | |
Instances
| Monoid HOInfo Source # | |||||
| Semigroup HOInfo Source # | |||||
| Generic HOInfo Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show HOInfo Source # | |||||
| NFData HOInfo Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Eq HOInfo Source # | |||||
| Store HOInfo Source # | |||||
| type Rep HOInfo Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep HOInfo = D1 ('MetaData "HOInfo" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" '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
Axiom Instantiation Information --------------------------------------
Constructors
| AEnv | |
Fields
| |
Instances
| Monoid AxiomEnv Source # | |||||
| Semigroup AxiomEnv Source # | |||||
| Generic AxiomEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show AxiomEnv Source # | |||||
| NFData AxiomEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Eq AxiomEnv Source # | |||||
| Elaborate AxiomEnv Source # | |||||
| Fixpoint AxiomEnv Source # | |||||
| PPrint AxiomEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Foldable AxiomEnv Source # | |||||
| SymConsts AxiomEnv Source # | |||||
| Visitable AxiomEnv Source # | |||||
| Store AxiomEnv Source # | |||||
| type Rep AxiomEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep AxiomEnv = D1 ('MetaData "AxiomEnv" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" '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]))))) | |||||
newtype DefinedFuns Source #
Constructors
| MkDefinedFuns [Equation] |
Instances
| Data DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DefinedFuns -> c DefinedFuns # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DefinedFuns # toConstr :: DefinedFuns -> Constr # dataTypeOf :: DefinedFuns -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DefinedFuns) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DefinedFuns) # gmapT :: (forall b. Data b => b -> b) -> DefinedFuns -> DefinedFuns # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DefinedFuns -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DefinedFuns -> r # gmapQ :: (forall d. Data d => d -> u) -> DefinedFuns -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DefinedFuns -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DefinedFuns -> m DefinedFuns # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DefinedFuns -> m DefinedFuns # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DefinedFuns -> m DefinedFuns # | |||||
| Monoid DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods mempty :: DefinedFuns # mappend :: DefinedFuns -> DefinedFuns -> DefinedFuns # mconcat :: [DefinedFuns] -> DefinedFuns # | |||||
| Semigroup DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods (<>) :: DefinedFuns -> DefinedFuns -> DefinedFuns # sconcat :: NonEmpty DefinedFuns -> DefinedFuns # stimes :: Integral b => b -> DefinedFuns -> DefinedFuns # | |||||
| Generic DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods showsPrec :: Int -> DefinedFuns -> ShowS # show :: DefinedFuns -> String # showList :: [DefinedFuns] -> ShowS # | |||||
| NFData DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods rnf :: DefinedFuns -> () # | |||||
| Eq DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Ord DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods compare :: DefinedFuns -> DefinedFuns -> Ordering # (<) :: DefinedFuns -> DefinedFuns -> Bool # (<=) :: DefinedFuns -> DefinedFuns -> Bool # (>) :: DefinedFuns -> DefinedFuns -> Bool # (>=) :: DefinedFuns -> DefinedFuns -> Bool # max :: DefinedFuns -> DefinedFuns -> DefinedFuns # min :: DefinedFuns -> DefinedFuns -> DefinedFuns # | |||||
| Elaborate DefinedFuns Source # | |||||
Defined in Language.Fixpoint.SortCheck Methods elaborate :: ElabParam -> DefinedFuns -> DefinedFuns Source # | |||||
| PPrint DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods pprintTidy :: Tidy -> DefinedFuns -> Doc Source # pprintPrec :: Int -> Tidy -> DefinedFuns -> Doc Source # | |||||
| TheorySymbols DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Smt.Theories Methods | |||||
| Store DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| type Rep DefinedFuns Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep DefinedFuns = D1 ('MetaData "DefinedFuns" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" 'True) (C1 ('MetaCons "MkDefinedFuns" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Equation]))) | |||||
Constructors
| Equ | |
Instances
| FromJSON Equation Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| ToJSON Equation Source # | |||||
| Functor EquationV Source # | |||||
| NFData Equation Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Elaborate Equation Source # | |||||
| Fixpoint Equation Source # | |||||
| PPrint Equation Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Subable Equation Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Foldable Equation Source # | |||||
| SymConsts Equation Source # | |||||
| Visitable Equation Source # | |||||
| Store Equation Source # | |||||
| Data v => Data (EquationV v) Source # | |||||
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 # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| (Show v, Fixpoint v, Ord v) => Show (EquationV v) Source # | |||||
| Binary v => Binary (EquationV v) Source # | |||||
| Eq v => Eq (EquationV v) Source # | |||||
| Ord v => Ord (EquationV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Hashable v => Hashable (EquationV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| TheorySymbols [Equation] Source # | |||||
Defined in Language.Fixpoint.Smt.Theories Methods theorySymbols :: [Equation] -> SEnv TheorySymbol Source # | |||||
| type Rep (EquationV v) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep (EquationV v) = D1 ('MetaData "EquationV" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" '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))))) | |||||
Instances
| FromJSON Rewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| ToJSON Rewrite Source # | |||||
| Data Rewrite Source # | |||||
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 # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show Rewrite Source # | |||||
| NFData Rewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Eq Rewrite Source # | |||||
| Ord Rewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Elaborate Rewrite Source # | |||||
| Fixpoint Rewrite Source # | |||||
| PPrint Rewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| ToHornSMT Rewrite Source # | |||||
| Foldable Rewrite Source # | |||||
| SymConsts Rewrite Source # | |||||
| Visitable Rewrite Source # | |||||
| Store Rewrite Source # | |||||
| type Rep Rewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep Rewrite = D1 ('MetaData "Rewrite" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" '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 | |
Instances
| Generic AutoRewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show AutoRewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods showsPrec :: Int -> AutoRewrite -> ShowS # show :: AutoRewrite -> String # showList :: [AutoRewrite] -> ShowS # | |||||
| NFData AutoRewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods rnf :: AutoRewrite -> () # | |||||
| Eq AutoRewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Ord AutoRewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods compare :: AutoRewrite -> AutoRewrite -> Ordering # (<) :: AutoRewrite -> AutoRewrite -> Bool # (<=) :: AutoRewrite -> AutoRewrite -> Bool # (>) :: AutoRewrite -> AutoRewrite -> Bool # (>=) :: AutoRewrite -> AutoRewrite -> Bool # max :: AutoRewrite -> AutoRewrite -> AutoRewrite # min :: AutoRewrite -> AutoRewrite -> AutoRewrite # | |||||
| Hashable AutoRewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Store AutoRewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| Fixpoint (HashMap SubcId [AutoRewrite]) Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| type Rep AutoRewrite Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep AutoRewrite = D1 ('MetaData "AutoRewrite" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" '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)))) | |||||
dedupAutoRewrites :: HashMap SubcId [AutoRewrite] -> [AutoRewrite] Source #
newtype LocalRewritesEnv Source #
Constructors
| LocalRewritesMap (HashMap BindId LocalRewrites) |
Instances
| Monoid LocalRewritesEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods mappend :: LocalRewritesEnv -> LocalRewritesEnv -> LocalRewritesEnv # mconcat :: [LocalRewritesEnv] -> LocalRewritesEnv # | |||||
| Semigroup LocalRewritesEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods (<>) :: LocalRewritesEnv -> LocalRewritesEnv -> LocalRewritesEnv # sconcat :: NonEmpty LocalRewritesEnv -> LocalRewritesEnv # stimes :: Integral b => b -> LocalRewritesEnv -> LocalRewritesEnv # | |||||
| Generic LocalRewritesEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
Methods from :: LocalRewritesEnv -> Rep LocalRewritesEnv x # to :: Rep LocalRewritesEnv x -> LocalRewritesEnv # | |||||
| Show LocalRewritesEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods showsPrec :: Int -> LocalRewritesEnv -> ShowS # show :: LocalRewritesEnv -> String # showList :: [LocalRewritesEnv] -> ShowS # | |||||
| NFData LocalRewritesEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods rnf :: LocalRewritesEnv -> () # | |||||
| Eq LocalRewritesEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods (==) :: LocalRewritesEnv -> LocalRewritesEnv -> Bool # (/=) :: LocalRewritesEnv -> LocalRewritesEnv -> Bool # | |||||
| Fixpoint LocalRewritesEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods toFix :: LocalRewritesEnv -> Doc Source # | |||||
| Store LocalRewritesEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| type Rep LocalRewritesEnv Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep LocalRewritesEnv = D1 ('MetaData "LocalRewritesEnv" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" 'True) (C1 ('MetaCons "LocalRewritesMap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap BindId LocalRewrites)))) | |||||
newtype LocalRewrites Source #
Constructors
| LocalRewrites (HashMap Symbol Expr) |
Instances
| Monoid LocalRewrites Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods mempty :: LocalRewrites # mappend :: LocalRewrites -> LocalRewrites -> LocalRewrites # mconcat :: [LocalRewrites] -> LocalRewrites # | |||||
| Semigroup LocalRewrites Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods (<>) :: LocalRewrites -> LocalRewrites -> LocalRewrites # sconcat :: NonEmpty LocalRewrites -> LocalRewrites # stimes :: Integral b => b -> LocalRewrites -> LocalRewrites # | |||||
| Generic LocalRewrites Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Associated Types
| |||||
| Show LocalRewrites Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods showsPrec :: Int -> LocalRewrites -> ShowS # show :: LocalRewrites -> String # showList :: [LocalRewrites] -> ShowS # | |||||
| NFData LocalRewrites Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods rnf :: LocalRewrites -> () # | |||||
| Eq LocalRewrites Source # | |||||
Defined in Language.Fixpoint.Types.Constraints Methods (==) :: LocalRewrites -> LocalRewrites -> Bool # (/=) :: LocalRewrites -> LocalRewrites -> Bool # | |||||
| Store LocalRewrites Source # | |||||
Defined in Language.Fixpoint.Types.Constraints | |||||
| type Rep LocalRewrites Source # | |||||
Defined in Language.Fixpoint.Types.Constraints type Rep LocalRewrites = D1 ('MetaData "LocalRewrites" "Language.Fixpoint.Types.Constraints" "liquid-fixpoint-0.9.6.3.4-CmH5CYTDh7gFBJNG3w2uNw" 'True) (C1 ('MetaCons "LocalRewrites" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Symbol Expr)))) | |||||
lookupRewrite :: Symbol -> LocalRewrites -> Maybe Expr Source #
insertRewrites :: BindId -> LocalRewrites -> LocalRewritesEnv -> LocalRewritesEnv Source #