Documentation

Lean.Meta.Tactic.Grind.Simp

Returns true if the legacy simp-based normalizer is selected (backward.grind.normalizer).

Equations
Instances For

    The Sym.simp-based normalization step: Sym.simp with methods, then Sym.dsimp of the result with dmethods. The two passes are independent, and their states are threaded through.

    Sym.simp does not visit the fixed arguments of an application, e.g. the implicit objects of a morphism composition, while the legacy normalizer dsimps them (Simp.Config.dsimp). A beta-redex or a projection of a structure instance left in such an argument makes the term miss the E-matching patterns of its theorems, so the dsimp pass reduces them. Its result is definitionally equal to the simp result, so the proof is the one of the simp pass.

    Sym requires kernel projections to be folded into projection applications. The legacy normalizer accepts them, so preprocessImpl folds them only afterwards; they are folded here first.

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

      Simplifies the given expression using the grind simprocs and normalization theorems.

      Equations
      Instances For
        @[export lean_grind_preprocess]

        Preprocesses e using grind normalization theorems and simprocs, and then applies several other preprocessing steps.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Lean.Meta.Grind.pushNewFact' (prop proof : Expr) (generation : Nat := 0) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Lean.Meta.Grind.pushNewFact (proof : Expr) (generation : Nat := 0) :

            Infers the type of the proof, preprocess it, and adds it to todo list.

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

              A lighter version of preprocess which produces a definitionally equal term, but ensures assumptions made by grind are satisfied.

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