def
Lean.Meta.mkGeneralizationForbiddenSet
(targets : Array Lean.Expr)
(forbidden : Lean.FVarIdSet := ∅)
:
Add to forbidden
all a set of FVarId
s containing targets
and all variables they depend on.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Meta.mkGeneralizationForbiddenSet.visit
(fvarId : Lean.FVarId)
(todo : List Lean.FVarId)
(s : Lean.FVarIdSet)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
partial def
Lean.Meta.mkGeneralizationForbiddenSet.loop
(todo : List Lean.FVarId)
(s : Lean.FVarIdSet)
:
def
Lean.Meta.getFVarSetToGeneralize
(targets : Array Lean.Expr)
(forbidden : Lean.FVarIdSet)
(ignoreLetDecls : Bool := false)
:
Collect variables to be generalized. It uses the following heuristic
Collect forward dependencies that are not in the forbidden set, and depend on some variable in
targets
.We use
mkForbiddenSet
to computeforbidden
.
Remark: we not collect instance implicit arguments nor auxiliary declarations for compiling recursive declarations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Meta.getFVarsToGeneralize
(targets : Array Lean.Expr)
(forbidden : Lean.FVarIdSet := ∅)
(ignoreLetDecls : Bool := false)
:
Equations
- One or more equations did not get rendered due to their size.