Documentation

Std.Tactic.Relation.Symm

symm tactic #

This implements the symm tactic, which can apply symmetry theorems to either the goal or a hypothesis.

Discrimation tree settings for the symm extension.

Equations
Instances For

    Given a term e : a ~ b, construct a term in b ~ a using @[symm] lemmas.

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

      Internal implementation of Lean.Expr.applySymm, Lean.MVarId.applySymm, and the user-facing tactic.

      tgt should be of the form a ~ b, and is used to index the symm lemmas.

      k lem args body should calculate a result, given a candidate symm lemma lem, which will have type ∀ args, body.

      In Lean.Expr.applySymm this result will be a new Expr, and in Lean.MVarId.applySymm and Lean.MVarId.applySymmAt this result will be a new goal.

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

        Apply a symmetry lemma (i.e. marked with @[symm]) to a metavariable.

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

          Internal implementation of Lean.MVarId.applySymm and the user-facing tactic.

          tgt should be of the form a ~ b, and is used to index the symm lemmas.

          k lem args body goal should transform goal into a new goal, given a candidate symm lemma lem, which will have type ∀ args, body. Depending on whether we are working on a hypothesis or a goal, k will internally use either replace or assign.

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

            Use a symmetry lemma (i.e. marked with @[symm]) to replace a hypothesis in a goal.

            Equations
            Instances For
              • symm applies to a goal whose target has the form t ~ u where ~ is a symmetric relation, that is, a relation which has a symmetry lemma tagged with the attribute [symm]. It replaces the target with u ~ t.
              • symm at h will rewrite a hypothesis h : t ~ u to h : u ~ t.
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For