Documentation

Lean.Meta.Sym.Util

Auxiliary function for implementing unfoldReducible and unfoldReducibleSimproc. Performs a single step.

Instances For

    Unfolds all reducible declarations occurring in e. This is meant as a preprocessing step. It does not guarantee maximally shared terms

    Instances For

      Converts nested Expr.projs into projection applications if possible. The structural simplifier and pattern matcher do not handle kernel projection terms; this preprocessing step folds them into projection function applications.

      Instances For

        Instantiates assigned metavariables, applies shareCommon, and eliminates holes (aka none cells) in the local context.

        Instances For

          Debug helper: throws if any subexpression of e is not in the table of maximally shared terms.

          Instances For

            Debug helper: throws if any subexpression of the goal's target type is not in the table of maximally shared.

            Instances For

              Normalizes universe levels in constants and sorts.

              Instances For