Documentation

Mathlib.Tactic.GRewrite.Elab

The generalized rewriting tactic #

This file defines the tactics that use the backend defined in Mathlib.Tactic.GRewrite.Core:

Apply the grewrite tactic to the current goal.

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

    Apply the grewrite tactic to a local hypothesis.

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

      Function elaborating GRewrite.Config.

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

        grewrite [e] is like grw [e], but it doesn't try to close the goal with rfl. This is analogous to rw and rewrite, where rewrite doesn't try to close the goal with rfl.

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

          grewrite [e] is like grw [e], but it doesn't try to close the goal with rfl. This is analogous to rw and rewrite, where rewrite doesn't try to close the goal with rfl.

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

            grw [e] works just like rw [e], but e can be a relation other than = or .

            For example,

            variable {a b c d n : ℤ}
            
            example (h₁ : a < b) (h₂ : b ≤ c) : a + d ≤ c + d := by
              grw [h₁, h₂]
            
            example (h : a ≡ b [ZMOD n]) : a ^ 2 ≡ b ^ 2 [ZMOD n] := by
              grw [h]
            
            example (h₁ : a ∣ b) (h₂ : b ∣ a ^ 2 * c) : a ∣ b ^ 2 * c := by
              grw [h₁] at *
              exact h₂
            

            To rewrite only in the n-th position, use nth_grw n. This is useful when grw tries to rewrite in a position that is not valid for the given relation.

            To be able to use grw, the relevant lemmas need to be tagged with @[gcongr]. To rewrite inside a transitive relation, you can also give it an IsTrans instance.

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

              apply_rewrite [rules] is a shorthand for grewrite +implicationHyp [rules].

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

                apply_rw [rules] is a shorthand for grw +implicationHyp [rules].

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

                  nth_grewrite is just like nth_rewrite, but for grewrite.

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

                    nth_grw is just like nth_rw, but for grw.

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