Additions to Lean.Elab.Term #
Fully elaborates the term patt, allowing typeclass inference failure,
but while setting errToSorry to false.
Typeclass failures result in plain metavariables.
Instantiates all assigned metavariables.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a namePrefix ( `u by default), returns the first name out of namePrefix_1,
namePrefix_2, ... which does not appear in usedLevelNames. Note mkFreshLevelName does not
attempt to use namePrefix itself as a level name.
Equations
- Lean.Elab.Term.mkFreshLevelName usedLevelNames namePrefix = Lean.Elab.Term.mkFreshLevelName.go✝ usedLevelNames namePrefix 1
Instances For
Creates a fresh Level parameter which does not appear in the current state's levelNames, and
updates the state to include the new level parameter.
By default, the new level parameter is of the form u_i and is included in the state as the most
recent level parameter (at the front of the list).
Supplying a namePrefix will cause the new level parameter to be of the form namePrefix_i, with
i starting at 1.
The new level name can be inserted at a custom position in the list of level names by providing a
function insert : List Name → Name → List Name which will be called as
insert currentLevelNames newLevelName. It is expected that the result will contain the new level
name and still contain all current level names.
Equations
- One or more equations did not get rendered due to their size.