instance
Core.instInhabitedLExprMkMkExpressionMetadataCoreIdent
{LMonoTy : Type}
:
Inhabited (Lambda.LExpr { base := { Metadata := ExpressionMetadata, IDMeta := CoreIdent }, TypeType := LMonoTy })
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
- 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 }
def
Core.ProofObligation.create
(label : String)
(propertyType : Imperative.PropertyType)
(assumptions : Imperative.PathConditions Expression)
(obligation : Procedure.Check)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Core.ProofObligations.createAssertions
(assumptions : Imperative.PathConditions Expression)
(obligations : ListMap String Procedure.Check)
:
Equations
Instances For
@[reducible, inline]
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
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Core.Env.insertInContext
(xt : Lambda.IdentT Lambda.LMonoTy Visibility)
(e : Expression.Expr)
(E : Env)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Core.Env.addToContext
(xs : Map (Lambda.IdentT Lambda.LMonoTy Visibility) Expression.Expr)
(E : Env)
:
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
def
Core.Env.genFVars.go
(acc : List Expression.Expr)
(E : Env)
(xs : List (Lambda.IdentT Lambda.LMonoTy Visibility))
:
Equations
Instances For
def
Core.Env.insertFreeVarsInOldestScope
(xs : List (Lambda.IdentT Lambda.LMonoTy Visibility))
(E : Env)
:
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
def
Core.PathCondition.merge
(cond : Expression.Expr)
(pc1 pc2 : Imperative.PathCondition Expression)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Core.PathCondition.merge.mkImplies ant con = Lambda.LExpr.ite () ant con (Lambda.LExpr.true ())
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