The configuration for simp.
Passed to simp using, for example, the simp +contextual or simp (maxSteps := 100000) syntax.
See also Lean.Meta.Simp.neutralConfig and Lean.Meta.DSimp.Config.
Constructor
Lean.Meta.Simp.Config.mk
Fields
maxSteps : Nat
The maximum number of subexpressions to visit when performing simplification. The default is 100000.
maxDischargeDepth : Nat
When simp discharges side conditions for conditional lemmas, it can recursively apply simplification.
The maxDischargeDepth (default: 2) is the maximum recursion depth when recursively applying simplification to side conditions.
contextual : Bool
When contextual is true (default: false) and simplification encounters an implication p β q
it includes p as an additional simp lemma when simplifying q.
memoize : Bool
When true (default: true) then the simplifier caches the result of simplifying each sub-expression, if possible.
singlePass : Bool
zeta : Bool
beta : Bool
eta : Bool
etaStruct : Lean.Meta.EtaStructMode
Configures how to determine definitional equality between two structure instances.
See documentation for Lean.Meta.EtaStructMode.
iota : Bool
proj : Bool
decide : Bool
arith : Bool
autoUnfold : Bool
dsimp : Bool
failIfUnchanged : Bool
ground : Bool
unfoldPartialApp : Bool
zetaDelta : Bool
index : Bool
implicitDefEqProofs : Bool
If implicitDefEqProofs := true, simp does not create proof terms when the
input and output terms are definitionally equal.
zetaUnused : Bool
catchRuntime : Bool
zetaHave : Bool
letToHave : Bool
congrConsts : Bool
When true (default : true), simp tries to realize constant f.congr_simp
when constructing an auxiliary congruence proof for f.
This option exists because the termination prover uses simp and withoutModifyingEnv
while constructing the termination proof. Thus, any constant realized by simp
is deleted.