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

    Abstracts free variables xs[0...n) in expression e, converting them to de Bruijn indices: xs[n-1] becomes #0, ..., xs[0] becomes #(n-1). This is the Sym counterpart of Expr.abstractRange, and it is the operation needed for the type of the binder xs[n] when rebuilding a telescope.

    Makes the same assumptions as abstractFVarsRange; the minimal variable must be xs[0].

    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 abstractFVarsPrefix, and makes the same assumption made by these functions.

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

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

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