This removes simp attributes from `Nat.succ.injEq` and `Nat.succ_sub_succ_eq_sub` to replace them with simprocs. This is because any reductions involving `Nat.succ` has a high risk of leading proof performance problems when dealing with even moderately large numbers. Here are a couple examples that will both report a maximum recursion depth error currently. These examples are fixed by this PR. ``` example : (123456: Nat) = 12345667 := by simp example (x : Nat) (p : x = 0) : 1000 - (x + 1000) = 0 := by simp ``` |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lean | ||
| pkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||
| lean-toolchain | ||