Equations
- Core.formatScope [] = Std.Format.text ""
- Core.formatScope [(k, ty, v)] = Core.formatScope.go✝ k ty v
- Core.formatScope ((k, ty, v) :: rest) = Core.formatScope.go✝ k ty v ++ Std.Format.line ++ Core.formatScope rest
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Core.PathCondition.format [] = Std.Format.text ""
- Core.PathCondition.format [(k, v)] = Std.format "(" ++ Std.format k ++ Std.format ", " ++ Std.format (Lambda.LExpr.eraseTypes v) ++ Std.format ")"
Instances For
Equations
Instances For
Equations
- Core.PathCondition.getVars p = (List.map (fun (x : String × Core.Expression.Expr) => match x with | (fst, e) => Lambda.LExpr.freeVars e) p).flatten.eraseDups
Instances For
Equations
- Core.PathConditions.getVars ps = (List.map (fun (p : Imperative.PathCondition Core.Expression) => Core.PathCondition.getVars p) ps).flatten.eraseDups
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Core.instToFormatProofObligationsExpression = { format := fun (os : Imperative.ProofObligations Core.Expression) => Std.Format.joinSep (Array.map Std.format os).toList Std.Format.line }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
A substitution map from variable identifiers to expressions.
Equations
Instances For
- error : Option (Imperative.EvalError Expression)
- program : Program
- substMap : SubstMap
- exprEnv : Expression.EvalEnv
- datatypes : Lambda.TypeFactory
- distinct : List (List Expression.Expr)
- pathConditions : Imperative.PathConditions Expression
- warnings : List (Imperative.EvalWarning Expression)
- deferred : Imperative.ProofObligations Expression
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Core.instEmptyCollectionEnv = { emptyCollection := Core.Env.init true }
Equations
- Core.instInhabitedEnv = { default := Core.Env.init }
Equations
- One or more equations did not get rendered due to their size.
Create a substitution map from all non-global variables to their values.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Append subst map to a non-global substitution map.
Equations
- Core.oldVarSubst subst E = subst ++ Core.oldLocalVarSubst E
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- E.pushEmptyScope = E.pushScope []
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Validate that all @[cases] parameters in a recursive function block
reference known datatypes. This is checked at evaluation time because
it is an SMT backend limitation, not a type system constraint.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Add a function to the environment. For recursive functions, checks that
the @[cases] attribute was provided (which sets inlineIfConstr), and
rejects cases not yet supported for SMT verification (polymorphic recursive
functions, missing @[cases] attribute).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Insert each (x, v) in xs into the context.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Generate a fresh variable using the base name and pre-existing type, if any,
from xt.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Generate fresh variables using the base names and any pre-existing types from
xs.
Equations
- E.genFVars xs = Core.Env.genFVars.go✝ [] E xs
Instances For
Insert (xi, .fvar xi), for each xi in xs, in the oldest scope in ss,
only if xi is the identifier of a free variable, i.e., it is not in ss.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- E.addDatatypes blocks = List.foldlM Core.Env.addMutualDatatype E blocks