Documentation

Lean.Meta.Sym.AbstractS

Abstracts free variables xs[start...*] in expression e, converting them to de Bruijn indices.

Assumptions:

  • The local context of the metavariables occurring in e do not include the free variables being abstracted. This invariant holds when abstracting over binders during pattern matching/unification: metavariables in the pattern were created before entering the binder, so their contexts exclude the bound variable's corresponding fvar.

  • If xs[start...*] is not empty, then the minimal variable is xs[start].

  • Subterms whose maxFVar is below minFVarId are skipped entirely. This function does not assume the maxFVar cache contains information for every subterm in e.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[reducible, inline]

    Abstracts free variables xs in expression e, converting them to de Bruijn indices.

    It is an abbreviation for abstractFVarsRange e 0 xs.

    Equations
    Instances For

      Similar to mkLambdaFVars, but uses the more efficient abstractFVars and abstractFVarsRange, and makes the same assumption made by these functions.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For