Documentation

Batteries.Tactic.Lint.Simp

Linter for simplification lemmas #

This files defines several linters that prevent common mistakes when declaring simp lemmas:

The data associated to a simp theorem.

Instances For

    Is this hypothesis a condition that might turn into a simp side-goal? i.e. is it a proposition that isn't marked as instance implicit?

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

      Runs the continuation on all the simp theorems encoded in the given type.

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

        Checks whether two expressions are equal for the simplifier. That is, they are reducibly-definitional equal, and they have the same head symbol.

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

          Constructs a message from all the simp theorems encoded in the given type.

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

            Returns true if this is a @[simp] declaration.

            Equations
            Instances For

              Returns the list of elements in the discrimination tree.

              Equations
              Instances For
                partial def Lean.Meta.DiscrTree.elements.trieElements {α : Type} (arr : Array α) :
                Trie αArray α

                Returns the list of elements in the trie.

                Add message msg to any errors thrown inside k.

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

                  Render the list of simp lemmas.

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

                    A linter for simp lemmas whose lhs is not in simp-normal form, and which hence never fire.

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

                      A linter for simp lemmas whose lhs has a variable as head symbol, and which hence never fire.

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

                        A linter for commutativity lemmas that are marked simp.

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