simp_intro
tactic #
partial def
Mathlib.Tactic.simpIntroCore
(g : Lean.MVarId)
(ctx : Lean.Meta.Simp.Context)
(simprocs : optParam Lean.Meta.Simp.SimprocsArray #[])
(discharge? : Option Lean.Meta.Simp.Discharge)
(more : Bool)
(ids : List (Lean.TSyntax `Lean.binderIdent))
:
Main loop of the simp_intro
tactic.
g
: the original goalctx
: the simp context, which is extended with local variables as we enter the bindersdischarge?
: the dischargermore
: if true, we will keep introducing binders as long as we canids
: the list of binder identifiers
The simp_intro
tactic is a combination of simp
and intro
: it will simplify the types of
variables as it introduces them and uses the new variables to simplify later arguments
and the goal.
simp_intro x y z
introduces variables namedx y z
simp_intro x y z ..
introduces variables namedx y z
and then keeps introducing_
binderssimp_intro (config := cfg) (discharger := tac) x y .. only [h₁, h₂]
:simp_intro
takes the same options assimp
(seesimp
)
example : x + 0 = y → x = z := by
simp_intro h
-- h: x = y ⊢ y = z
sorry
Equations
- One or more equations did not get rendered due to their size.