Commit 2024-10-25 18:52 970d241d

View on Github →

refactor: delete IsWellOrderLimitElement.lean (#15904) I understand this is quite a bold move, and I hope not to come off as confrontational. I argue that Order/IsWellOrderLimitElement.lean duplicates existing API, and that all the theorems proven within it already exist in some other form. First, note that the typeclass assumptions LinearOrder α + IsWellOrder α (· < ·) very nearly imply ConditionallyCompleteLinearOrderBot α through IsWellOrder.conditionallyCompleteLinearOrderBot. The only missing assumption is OrderBot α, which actually follows from Nonempty α through WellFoundedLT.toOrderBot. All theorems in this file assume the existence of some a : α, so that's covered. Most of the only other file importing this one assumes OrderBot α directly. ConditionallyCompleteLinearOrder α in turn implies SuccOrder α through ConditionallyCompleteLinearOrder.toSuccOrder (#15863), so assuming it yields no loss of generality. In fact, doing things this way means we can set nicer def-eqs for @succ α, such as succ o = o + 1 on ordinals. As for IsWellOrderLimitElement, we already have Order.IsSuccLimit with only trivial typeclass assumptions. To summarize, here are the correspondences between definitions and theorems in this file and other definitions and theorems in Mathlib, applicable under equivalent typeclasss assumptions:

Estimated changes