@[reducible, inline]
Instances For
def
Lean.Compiler.LCNF.collectLocalDeclsType
(s : Lean.Compiler.LCNF.UsedLocalDecls)
(type : Lean.Expr)
:
Collect set of (let) free variables in a LCNF value. This code exploits the LCNF property that local declarations do not occur in types.
Equations
Instances For
def
Lean.Compiler.LCNF.collectLocalDeclsType.go
(s : Lean.Compiler.LCNF.UsedLocalDecls)
(e : Lean.Expr)
:
Equations
- One or more equations did not get rendered due to their size.
- Lean.Compiler.LCNF.collectLocalDeclsType.go s (Lean.Expr.forallE binderName binderType body binderInfo) = s
- Lean.Compiler.LCNF.collectLocalDeclsType.go s (Lean.Expr.lam binderName binderType b binderInfo) = Lean.Compiler.LCNF.collectLocalDeclsType.go s b
- Lean.Compiler.LCNF.collectLocalDeclsType.go s (f.app a) = Lean.Compiler.LCNF.collectLocalDeclsType.go (Lean.Compiler.LCNF.collectLocalDeclsType.go s a) f
- Lean.Compiler.LCNF.collectLocalDeclsType.go s (Lean.Expr.fvar fvarId) = Std.HashSet.insert s fvarId
- Lean.Compiler.LCNF.collectLocalDeclsType.go s e = s
Instances For
def
Lean.Compiler.LCNF.collectLocalDeclsArg
(s : Lean.Compiler.LCNF.UsedLocalDecls)
(arg : Lean.Compiler.LCNF.Arg)
:
Equations
- Lean.Compiler.LCNF.collectLocalDeclsArg s Lean.Compiler.LCNF.Arg.erased = s
- Lean.Compiler.LCNF.collectLocalDeclsArg s (Lean.Compiler.LCNF.Arg.type e) = Lean.Compiler.LCNF.collectLocalDeclsType s e
- Lean.Compiler.LCNF.collectLocalDeclsArg s (Lean.Compiler.LCNF.Arg.fvar fvarId) = Std.HashSet.insert s fvarId
Instances For
def
Lean.Compiler.LCNF.collectLocalDeclsArgs
(s : Lean.Compiler.LCNF.UsedLocalDecls)
(args : Array Lean.Compiler.LCNF.Arg)
:
Equations
Instances For
def
Lean.Compiler.LCNF.collectLocalDeclsLetValue
(s : Lean.Compiler.LCNF.UsedLocalDecls)
(e : Lean.Compiler.LCNF.LetValue)
:
Equations
- Lean.Compiler.LCNF.collectLocalDeclsLetValue s Lean.Compiler.LCNF.LetValue.erased = s
- Lean.Compiler.LCNF.collectLocalDeclsLetValue s (Lean.Compiler.LCNF.LetValue.value value) = s
- Lean.Compiler.LCNF.collectLocalDeclsLetValue s (Lean.Compiler.LCNF.LetValue.proj typeName idx fvarId) = Std.HashSet.insert s fvarId
- Lean.Compiler.LCNF.collectLocalDeclsLetValue s (Lean.Compiler.LCNF.LetValue.const declName us args) = Lean.Compiler.LCNF.collectLocalDeclsArgs s args
- Lean.Compiler.LCNF.collectLocalDeclsLetValue s (Lean.Compiler.LCNF.LetValue.fvar fvarId args) = Lean.Compiler.LCNF.collectLocalDeclsArgs (Std.HashSet.insert s fvarId) args
Instances For
@[reducible, inline]
Equations
Instances For
Equations
- code.elimDead = StateRefT'.run' (Lean.Compiler.LCNF.ElimDead.elimDead code) ∅
Instances For
Equations
- One or more equations did not get rendered due to their size.