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
- Std.Tactic.symmExt.config = { iota := true, beta := true, proj := Lean.Meta.ProjReductionKind.yesWithDelta, zeta := true }
Instances For
Environment extensions for symm lemmas
Return the symmetry lemmas that match the target type.
Equations
- One or more equations did not get rendered due to their size.
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
Apply a symmetry lemma (i.e. marked with @[symm]
) to a metavariable.
The type of g
should be of the form a ~ b
, and is used to index the symm lemmas.
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
- Lean.MVarId.applySymmAt h g = do let h' ← Lean.Expr.applySymm (Lean.Expr.fvar h) let __do_lift ← Lean.MVarId.replace g h h' none pure __do_lift.mvarId
Instances For
symm
applies to a goal whose target has the formt ~ u
where~
is a symmetric relation, that is, a relation which has a symmetry lemma tagged with the attribute [symm]. It replaces the target withu ~ t
.symm at h
will rewrite a hypothesish : t ~ u
toh : u ~ t
.
Equations
- One or more equations did not get rendered due to their size.