lean4-htt/src/Init/Data/List
Joe Hendrix f31c395973
fix: replace unary Nat.succ simp rules with simprocs (#3808)
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
```
2024-04-04 23:15:26 +00:00
..
Basic.lean chore: extend GetElem with getElem! and getElem? (#3694) 2024-03-28 01:42:00 +00:00
BasicAux.lean feat: further shaking of Nat/Int/Omega (#3613) 2024-03-05 23:43:36 +00:00
Control.lean fix: remove unnecessary hypothesis 2023-01-09 18:20:41 +01:00
Impl.lean chore: upstream tail-recursive implementations of List operations, and @[csimp] lemmas (#3785) 2024-03-27 08:36:48 +00:00
Lemmas.lean fix: replace unary Nat.succ simp rules with simprocs (#3808) 2024-04-04 23:15:26 +00:00