@[reducible, inline]
Instances For
@[reducible, inline]
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
CoreToGOTO.updateType
(T : Core.Expression.TyEnv)
(i : Core.Expression.Ident)
(ty : Core.Expression.Ty)
:
Equations
- CoreToGOTO.updateType T i ty = Lambda.TEnv.addInNewestContext T [(i, ty)]
Instances For
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
CoreToGOTO.updateTypeStr
(T : Core.ExprStr.TyEnv)
(i : Core.ExprStr.Ident)
(ty : Core.ExprStr.Ty)
:
Equations
- CoreToGOTO.updateTypeStr T i ty = Lambda.TEnv.addInNewestContext T [(i, ty)]
Instances For
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
def
CoreToGOTO.substVarNames
{Metadata IDMeta : Type}
[DecidableEq IDMeta]
(e : Lambda.LExpr { base := { Metadata := Metadata, IDMeta := IDMeta }, TypeType := Lambda.LMonoTy })
(frto : Map String String)
:
Lambda.LExpr { base := { Metadata := Unit, IDMeta := Unit }, TypeType := Lambda.LMonoTy }
Equations
- CoreToGOTO.substVarNames (Lambda.LExpr.const m c) frto = Lambda.LExpr.const () c
- CoreToGOTO.substVarNames (Lambda.LExpr.bvar m b) frto = Lambda.LExpr.bvar () b
- CoreToGOTO.substVarNames (Lambda.LExpr.op m o ty) frto = Lambda.LExpr.op () { name := o.name, metadata := () } ty
- CoreToGOTO.substVarNames (Lambda.LExpr.fvar m name ty) frto = Lambda.LExpr.fvar () { name := (frto.find? name.name).getD name.name, metadata := () } ty
- CoreToGOTO.substVarNames (Lambda.LExpr.abs m name ty e') frto = Lambda.LExpr.abs () name ty (CoreToGOTO.substVarNames e' frto)
- CoreToGOTO.substVarNames (Lambda.LExpr.quant m qk name ty tr' e') frto = Lambda.LExpr.quant () qk name ty (CoreToGOTO.substVarNames tr' frto) (CoreToGOTO.substVarNames e' frto)
- CoreToGOTO.substVarNames (Lambda.LExpr.app m f e') frto = Lambda.LExpr.app () (CoreToGOTO.substVarNames f frto) (CoreToGOTO.substVarNames e' frto)
- CoreToGOTO.substVarNames (Lambda.LExpr.ite m c t e') frto = Lambda.LExpr.ite () (CoreToGOTO.substVarNames c frto) (CoreToGOTO.substVarNames t frto) (CoreToGOTO.substVarNames e' frto)
- CoreToGOTO.substVarNames (Lambda.LExpr.eq m e1 e2) frto = Lambda.LExpr.eq () (CoreToGOTO.substVarNames e1 frto) (CoreToGOTO.substVarNames e2 frto)
Instances For
Convert metadata from Core.Expression to Core.ExprStr, preserving
label-keyed elements (fileRange, propertySummary, etc.) and dropping
variable-keyed elements whose identifier type changes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
CoreToGOTO.Core.Cmd.renameVars
(frto : Map String String)
(c : Imperative.Cmd Core.Expression)
:
Equations
- One or more equations did not get rendered due to their size.
- CoreToGOTO.Core.Cmd.renameVars frto (Imperative.Cmd.assume label e md) = Imperative.Cmd.assume label (CoreToGOTO.substVarNames e frto) (CoreToGOTO.convertMetaData md)
- CoreToGOTO.Core.Cmd.renameVars frto (Imperative.Cmd.assert label e md) = Imperative.Cmd.assert label (CoreToGOTO.substVarNames e frto) (CoreToGOTO.convertMetaData md)
- CoreToGOTO.Core.Cmd.renameVars frto (Imperative.Cmd.cover label e md) = Imperative.Cmd.cover label (CoreToGOTO.substVarNames e frto) (CoreToGOTO.convertMetaData md)
Instances For
def
CoreToGOTO.Core.Cmds.renameVars
(frto : Map String String)
(cs : Imperative.Cmds Core.Expression)
:
Equations
- CoreToGOTO.Core.Cmds.renameVars frto [] = []
- CoreToGOTO.Core.Cmds.renameVars frto (c :: crest) = [CoreToGOTO.Core.Cmd.renameVars frto c] ++ CoreToGOTO.Core.Cmds.renameVars frto crest
Instances For
- program : CProverGOTO.Program
- formals : Map String CProverGOTO.Ty
- ret : CProverGOTO.Ty
Contract annotations for the code type (e.g.,
#spec_requires,#spec_ensures).- localTypes : Std.HashMap String CProverGOTO.Ty
Optional types for local variables (output parameters, typed locals).
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
CoreToGOTO.writeToGotoJson
(programName symTabFileName gotoFileName : String)
(env : Strata.Program)
:
Equations
- One or more equations did not get rendered due to their size.