lean4-htt/src/Init/Data/Array
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
..
Lex feat: high-level order typeclasses (#9729) 2025-08-11 14:55:17 +00:00
QSort feat: integrate high-level order typeclasses with BEq and Ord (#9908) 2025-08-19 07:54:53 +00:00
Subarray feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Attach.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Basic.lean feat: clean up type annotations when elaborating declaration bodies (#9674) 2025-08-18 04:43:20 +00:00
BasicAux.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
BinSearch.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Bootstrap.lean feat: clean up type annotations when elaborating declaration bodies (#9674) 2025-08-18 04:43:20 +00:00
Count.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
DecidableEq.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Erase.lean feat: pattern inference using symbol priorities in grind (#9182) 2025-07-03 16:47:38 -07:00
Extract.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Find.lean fix: module system: remove WellFounded-specific hacks (#9143) 2025-07-02 11:58:50 +00:00
FinRange.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
GetLit.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
InsertIdx.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
InsertionSort.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Lemmas.lean chore: eliminate uses of intros x y z (#9983) 2025-08-19 06:09:13 +00:00
Lex.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
MapIdx.lean chore: remove >6 month old deprecations (#9640) 2025-08-05 02:29:15 +00:00
Mem.lean chore: library style cleanup (#9654) 2025-07-31 21:28:59 +00:00
Monadic.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
OfFn.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Perm.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
QSort.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Range.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Set.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Subarray.lean chore: fix spelling errors (#9175) 2025-07-24 23:35:32 +00:00
TakeDrop.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Zip.lean feat: Add List.zipWithM and Array.zipWithM (#9528) 2025-07-28 08:39:52 +00:00