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.
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 (Lean.Expr.app f a) = Lean.Compiler.LCNF.collectLocalDeclsType.go (Lean.Compiler.LCNF.collectLocalDeclsType.go s a) f
- Lean.Compiler.LCNF.collectLocalDeclsType.go s (Lean.Expr.fvar fvarId) = Lean.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)
:
Instances For
def
Lean.Compiler.LCNF.collectLocalDeclsArgs
(s : Lean.Compiler.LCNF.UsedLocalDecls)
(args : Array Lean.Compiler.LCNF.Arg)
: