Copyright | (c) Galois Inc 2015-2020 |
---|---|
License | BSD3 |
Maintainer | Rob Dockins <rdockins@galois.com> |
Stability | provisional |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- data CollectedVarInfo t
- uninterpConstants :: Simple Lens (CollectedVarInfo t) (Set (Some (ExprBoundVar t)))
- latches :: Simple Lens (CollectedVarInfo t) (Set (Some (ExprBoundVar t)))
- data QuantifierInfo t tp = BVI {
- boundTopTerm :: !(NonceAppExpr t BaseBoolType)
- boundQuant :: !BoundQuant
- boundVar :: !(ExprBoundVar t tp)
- boundInnerTerm :: !(Expr t BaseBoolType)
- data BoundQuant
- type QuantifierInfoMap t = Map (NonceAppExpr t BaseBoolType) (Some (QuantifierInfo t))
- problemFeatures :: Simple Lens (CollectedVarInfo t) ProblemFeatures
- existQuantifiers :: Simple Lens (CollectedVarInfo t) (QuantifierInfoMap t)
- forallQuantifiers :: Simple Lens (CollectedVarInfo t) (QuantifierInfoMap t)
- varErrors :: Simple Lens (CollectedVarInfo t) (Seq Doc)
- data Scope
- data Polarity
- data VarRecorder s t a
- collectVarInfo :: VarRecorder s t () -> ST s (CollectedVarInfo t)
- recordExprVars :: Scope -> Expr t tp -> VarRecorder s t ()
- predicateVarInfo :: Expr t BaseBoolType -> CollectedVarInfo t
CollectedVarInfo
data CollectedVarInfo t Source #
uninterpConstants :: Simple Lens (CollectedVarInfo t) (Set (Some (ExprBoundVar t))) Source #
latches :: Simple Lens (CollectedVarInfo t) (Set (Some (ExprBoundVar t))) Source #
data QuantifierInfo t tp Source #
Contains all information about a bound variable appearing in the expression.
BVI | |
|
type QuantifierInfoMap t = Map (NonceAppExpr t BaseBoolType) (Some (QuantifierInfo t)) Source #
problemFeatures :: Simple Lens (CollectedVarInfo t) ProblemFeatures Source #
Describes types of functionality required by solver based on the problem.
existQuantifiers :: Simple Lens (CollectedVarInfo t) (QuantifierInfoMap t) Source #
Expressions appearing in the problem as existentially quantified when the problem is expressed in negation normal form. This is a map from the existential quantifier element to the info.
forallQuantifiers :: Simple Lens (CollectedVarInfo t) (QuantifierInfoMap t) Source #
Expressions appearing in the problem as existentially quantified when the problem is expressed in negation normal form. This is a map from the existential quantifier element to the info.
CollectedVarInfo generation
Describes the occurrence of a variable or expression, whether it is negated or not.
data VarRecorder s t a Source #
Instances
collectVarInfo :: VarRecorder s t () -> ST s (CollectedVarInfo t) Source #
recordExprVars :: Scope -> Expr t tp -> VarRecorder s t () Source #
Record the variables in an element.
predicateVarInfo :: Expr t BaseBoolType -> CollectedVarInfo t Source #
Return variables needed to define element as a predicate