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 s
replaces the goal with the two subgoalst ~ s
ands ~ u
.- If
s
is 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.