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
    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
            Instances For