Documentation

Std.Tactic.Relation.Symm

symm tactic #

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

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