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.

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.

    Instances For

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

      Instances For