lean4-htt/src/Lean/Data
Paul Reichert f81236185c
feat: integrate high-level order typeclasses with BEq and Ord (#9908)
This PR makes `IsPreorder`, `IsPartialOrder`, `IsLinearPreorder` and
`IsLinearOrder` extend `BEq` and `Ord` as appropriate, adds the
`LawfulOrderBEq` and `LawfulOrderOrd` typeclasses relating `BEq` and
`Ord` to `LE`, and adds many lemmas and instances.

Note: This PR contains a refactoring where `Init.Data.Ord` is moved to
`Init.Data.Ord.Basic`. If I added `Init.Data.Ord` simply importing all
submodules, git would not be able to determine that `Init.Data.Ord` was
renamed to `Init.Data.Ord.Basic`. This could lead to unnecessary merge
conflicts in the future. Hence, I chose the name `Init.Data.OrdRoot`
instead of `Init.Data.Ord` temporarily. After this PR, I will rename
this module back to `Init.Data.Ord` in a separate PR.

(This is a copy of #9430: I will not touch that PR because it currently
allows to debug a CI problem and pushing commits might break the
reproducibility.)
2025-08-19 07:54:53 +00:00
..
Json fix: do not allow access to private primitives in public scope (#9890) 2025-08-14 15:34:54 +00:00
Lsp refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
NameMap refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Xml fix: do not allow access to private primitives in public scope (#9890) 2025-08-14 15:34:54 +00:00
Array.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
AssocList.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
DeclarationRange.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Format.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
FuzzyMatching.lean perf: optimize fuzzyMatching (#9563) 2025-08-01 09:11:15 +00:00
Json.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
JsonRpc.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
KVMap.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
LBool.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
LOption.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Lsp.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Name.lean feat: integrate high-level order typeclasses with BEq and Ord (#9908) 2025-08-19 07:54:53 +00:00
NameMap.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
NameTrie.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
OpenDecl.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Options.lean feat: improve set_option error messages (#9496) 2025-07-26 02:04:45 +00:00
PersistentArray.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
PersistentHashMap.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
PersistentHashSet.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Position.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
PrefixTree.lean perf: properly specialize through PrefixTree (#9681) 2025-08-02 13:59:56 +00:00
RArray.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
RBMap.lean feat: integrate high-level order typeclasses with BEq and Ord (#9908) 2025-08-19 07:54:53 +00:00
RBTree.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
SMap.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
SSet.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Trie.lean fix: do not allow access to private primitives in public scope (#9890) 2025-08-14 15:34:54 +00:00
Xml.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00