Skip to content

Conversation

@datokrat
Copy link
Contributor

@datokrat datokrat commented Jul 18, 2025

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.

@datokrat datokrat added the changelog-library Library label Jul 18, 2025
@github-actions github-actions bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label Aug 6, 2025
@leanprover-community-bot
Copy link
Collaborator

leanprover-community-bot commented Aug 6, 2025

Mathlib CI status (docs):

  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase ed860dfa23acab2178686d85f463101f5adbddf1 --onto d5e19f9b288abe7e2c1ed359fb026ed9ae83f6e0. You can force Mathlib CI using the force-mathlib-ci label. (2025-08-06 13:24:06)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase f15d531acbc1ba972d88fff2e0557590b20c0ef2 --onto e0fcaf5e7ddab2fcab51be8c403446d84a8a0d45. You can force Mathlib CI using the force-mathlib-ci label. (2025-08-11 12:30:18)
  • ❗ Mathlib CI can not be attempted yet, as the nightly-testing-2025-08-12 tag does not exist there yet. We will retry when you push more commits. If you rebase your branch onto nightly-with-mathlib, Mathlib CI should run now. You can force Mathlib CI using the force-mathlib-ci label. (2025-08-12 13:53:15)

@leanprover-bot
Copy link
Collaborator

leanprover-bot commented Aug 6, 2025

Reference manual CI status:

  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase ed860dfa23acab2178686d85f463101f5adbddf1 --onto d3dda9f6d4428a906c096067ecb75e432afc4615. You can force reference manual CI using the force-manual-ci label. (2025-08-06 13:24:07)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase f15d531acbc1ba972d88fff2e0557590b20c0ef2 --onto d3dda9f6d4428a906c096067ecb75e432afc4615. You can force reference manual CI using the force-manual-ci label. (2025-08-11 12:30:19)
  • ❗ Reference manual CI can not be attempted yet, as the nightly-testing-2025-08-12 tag does not exist there yet. We will retry when you push more commits. If you rebase your branch onto nightly-with-manual, reference manual CI should run now. You can force reference manual CI using the force-manual-ci label. (2025-08-12 13:53:17)

@datokrat datokrat changed the title feat: integrate OrderData with BEq and Ord feat: integrate high-level order typeclasses with BEq and Ord Aug 12, 2025
@datokrat datokrat marked this pull request as ready for review August 12, 2025 14:09
@datokrat datokrat requested a review from TwoFX as a code owner August 12, 2025 14:09
@datokrat datokrat requested review from kim-em and tydeu as code owners August 12, 2025 14:10
@datokrat datokrat changed the base branch from paul/base/order1 to master August 13, 2025 08:19
@datokrat datokrat changed the title feat: integrate high-level order typeclasses with BEq and Ord [frozen for bug reproductiion] feat: integrate high-level order typeclasses with BEq and Ord Aug 15, 2025
@datokrat datokrat changed the title [frozen for bug reproductiion] feat: integrate high-level order typeclasses with BEq and Ord [frozen for bug reproduction] feat: integrate high-level order typeclasses with BEq and Ord Aug 15, 2025
github-merge-queue bot pushed a commit that referenced this pull request Aug 19, 2025
)

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.)
@datokrat datokrat closed this Oct 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog-library Library force-mathlib-ci toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants