trans tactic #
This implements the trans tactic, which can apply transitivity theorems with an optional middle
variable argument.
Discrimation tree settings for the trans extension.
Equations
- Mathlib.Tactic.transExt.config = { iota := true, beta := true, proj := Lean.Meta.ProjReductionKind.yesWithDelta, zeta := true, zetaDelta := true }
Instances For
Environment extension storing transitivity lemmas
solving e ← mkAppM' f #[x]
Equations
- One or more equations did not get rendered due to their size.
- Mathlib.Tactic.getExplicitFuncArg? e = pure none
Instances For
solving tgt ← mkAppM' rel #[x, z] given tgt = f z
Equations
- One or more equations did not get rendered due to their size.
- Mathlib.Tactic.getExplicitRelArg? tgt f z = pure none
Instances For
refining tgt ← mkAppM' rel #[x, z] dropping more arguments if possible
Equations
- One or more equations did not get rendered due to their size.
- Mathlib.Tactic.getExplicitRelArgCore tgt rel x z = pure (rel, x)
Instances For
Internal definition for trans tactic. Either a binary relation or a non-dependent
arrow.
- app: Lean.Expr → Mathlib.Tactic.TransRelation
- implies: Lean.Name → Lean.BinderInfo → Mathlib.Tactic.TransRelation
Instances For
Finds an explicit binary relation in the argument, if possible.
Equations
- One or more equations did not get rendered due to their size.
Instances For
trans applies to a goal whose target has the form t ~ u where ~ is a transitive relation,
that is, a relation which has a transitivity lemma tagged with the attribute [trans].
trans sreplaces the goal with the two subgoalst ~ sands ~ u.- If
sis omitted, then a metavariable is used instead.
Additionally, trans also applies to a goal whose target has the form t → u,
in which case it replaces the goal with t → s and s → u.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.