Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
- simp: Lean.Elab.Tactic.SimpKind
- simpAll: Lean.Elab.Tactic.SimpKind
- dsimp: Lean.Elab.Tactic.SimpKind
Equations
Equations
- Lean.Elab.Tactic.instBEqSimpKind = { beq := [anonymous] }
Implement a simp
discharge function using the given tactic syntax code.
Recall that simp
dischargers are in SimpM
which does not have access to Term.State
.
We need access to Term.State
to store messages and update the info tree.
Thus, we create an IO.ref
to track these changes at Term.State
when we execute tacticCode
.
We must set this reference with the current Term.State
before we execute simp
using the
generated Simp.Discharge
.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
- ctx : Lean.Meta.Simp.Context
- dischargeWrapper : Lean.Elab.Tactic.Simp.DischargeWrapper
- fvarIdToLemmaId : Lean.Meta.FVarIdToLemmaId
Create the Simp.Context
for the simp
, dsimp
, and simp_all
tactics.
If kind != SimpKind.simp
, the discharge
option must be none
TODO: generate error message if non rfl
theorems are provided as arguments to dsimp
.
Equations
- One or more equations did not get rendered due to their size.
simpLocation ctx discharge? varIdToLemmaId loc
runs the simplifier at locations specified by loc
,
using the simp theorems collected in ctx
optionally running a discharger specified in discharge?
on generated subgoals.
(Local hypotheses which have been added to the simp theorems must be recorded in
fvarIdToLemmaId
.)
Its primary use is as the implementation of the
simp [...] at ...
and simp only [...] at ...
syntaxes,
but can also be used by other tactics when a Syntax
is not available.
For many tactics other than the simplifier,
one should use the withLocation
tactic combinator
when working with a location
.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.