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.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
- simp: Lean.Elab.Tactic.SimpKind
- simpAll: Lean.Elab.Tactic.SimpKind
- dsimp: Lean.Elab.Tactic.SimpKind
Instances For
Equations
Equations
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.
Instances For
- default: Lean.Elab.Tactic.Simp.DischargeWrapper
- custom: IO.Ref Lean.Elab.Term.State → Lean.Meta.Simp.Discharge → Lean.Elab.Tactic.Simp.DischargeWrapper
Instances For
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.
Instances For
- ctx : Lean.Meta.Simp.Context
- starArg : Bool
Instances For
- none: Lean.Elab.Tactic.ResolveSimpIdResult
- expr: Lean.Expr → Lean.Elab.Tactic.ResolveSimpIdResult
- ext: Lean.Meta.SimpExtension → Lean.Elab.Tactic.ResolveSimpIdResult
Instances For
Elaborate extra simp theorems provided to simp
. stx
is of the form "[" simpTheorem,* "]"
If eraseLocal == true
, then we consider local declarations when resolving names for erased theorems (- id
),
this option only makes sense for simp_all
or *
is used.
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.
Instances For
- ctx : Lean.Meta.Simp.Context
- dischargeWrapper : Lean.Elab.Tactic.Simp.DischargeWrapper
Instances For
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.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
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.
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.
Instances For
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.
Instances For
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.
Instances For
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.