simp 的配置。
例如,可通过 simp +contextual 或 simp (maxSteps := 100000) 语法把配置传给
simp。
另见 Lean.Meta.Simp.neutralConfig 和 Lean.Meta.DSimp.Config。
字段
maxSteps : Nat
简化时最多访问的子表达式数量。默认值为 100000。
maxDischargeDepth : Nat
简化器在解除条件引理的旁条件时,可以递归地应用简化。
maxDischargeDepth(默认为 2)是对旁条件递归应用简化时的最大递归深度。
contextual : Bool
memoize : Bool
为 true(默认如此)时,简化器会尽可能缓存每个子表达式的简化结果。
singlePass : Bool
zeta : Bool
beta : Bool
为 true(默认如此)时,对 fun 表达式的应用执行 beta 归约;也就是说,
(fun x => e[x]) v 归约为 e[v]。
eta : Bool
尚未实现。为 true(默认如此)时,对 fun 表达式执行 eta 归约;也就是说,
(fun x => f x) 归约为 f。
etaStruct : Lean.Meta.EtaStructMode
配置如何判定两个结构体实例的定义相等性。参见 Lean.Meta.EtaStructMode 的文档。
iota : Bool
proj : Bool
为 true(默认如此)时,归约结构体构造子的投影。
decide : Bool
arith : Bool
autoUnfold : Bool
dsimp : Bool
failIfUnchanged : Bool
ground : Bool
unfoldPartialApp : Bool
zetaDelta : Bool
index : Bool
implicitDefEqProofs : Bool
若 implicitDefEqProofs := true,则输入项和输出项定义相等时,simp 不创建证明项。
zetaUnused : Bool
catchRuntime : Bool
zetaHave : Bool
letToHave : Bool
congrConsts : Bool
bitVecOfNat : Bool
为 true(默认如此)时,位向量简化过程使用 BitVec.ofNat 表示位向量字面量。
warnExponents : Bool
为 true(默认如此)时,如果指数过大,处理 ^ 的简化过程会生成警告。
suggestions : Bool
若 suggestions 为 true,simp? 会在当前目标上调用目前配置的库建议引擎,
并尝试把所得建议用作 simp 策略的参数。
maxSuggestions : Option Nat
最多使用多少条库建议。为 none 时使用默认上限。仅当 suggestions 为 true
时相关。
locals : Bool
instances : Bool