Skip to content

[Merged by Bors] - feat(Order/Atoms): strong atomicity typeclass#14004

Closed
apnelson1 wants to merge 24 commits intomasterfrom
strongly_atomic
Closed

[Merged by Bors] - feat(Order/Atoms): strong atomicity typeclass#14004
apnelson1 wants to merge 24 commits intomasterfrom
strongly_atomic

Conversation

@apnelson1
Copy link
Copy Markdown
Collaborator

@apnelson1 apnelson1 commented Jun 20, 2024

A strongly atomic preorder is one in which every nontrivial interval [a,b] contains an element covering a, or equivalently an order where every closed interval is atomic. We add a new typeclass IsStronglyAtomic to capture this.

We provide instances of this typeclass for SuccOrders, orders with WellFoundedLT, atomistic upper-modular lattices, complemented atomic modular lattices, and OrdConnected subtypes. We also show that such orders are atomic.

We also provide the dual typeclass IsStronglyCoatomic and dual versions of all of the above.


Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 20, 2024

PR summary f4fa74078b

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Order.Atoms.Finite 488 492 +4 (+0.82%)
Mathlib.Order.Atoms 349 351 +2 (+0.57%)
Mathlib.Data.Fintype.Order 490 491 +1 (+0.20%)
Mathlib.GroupTheory.Sylow 1096 1095 -1 (-0.09%)
Import changes for all files
Files Import difference
Too many changes (419)!

Declarations diff

+ ComplementedLattice.isStronglyAtomic
+ ComplementedLattice.isStronglyAtomic'
+ ComplementedLattice.isStronglyCoatomic
+ ComplementedLattice.isStronglyCoatomic'
+ CompleteLattice.isStronglyAtomic
+ CompleteLattice.isStronglyCoatomic
+ IsStronglyAtomic
+ IsStronglyAtomic.isAtomic
+ IsStronglyAtomic.of_wellFounded_lt
+ IsStronglyCoatomic
+ IsStronglyCoatomic.of_wellFounded_gt
+ IsStronglyCoatomic.toIsCoatomic
+ LT.lt.exists_covby_le
+ LT.lt.exists_le_covby
+ OrderDual.instIsStronglyCoatomic
+ Set.OrdConnected.isStronglyAtomic
+ Set.OrdConnected.isStronglyCoatomic
+ SuccOrder.toIsStronglyAtomic
+ exists_covBy_le_of_lt
+ exists_covby_infinite_Ici_of_infinite_Ici
+ exists_covby_infinite_Iic_of_infinite_Iic
+ exists_le_covBy_of_lt
+ instance : IsStronglyAtomic α
+ instance : IsStronglyCoatomic α := by
+ instance [IsStronglyAtomic α] {s : Set α} [Set.OrdConnected s] : IsStronglyAtomic s
+ instance [IsStronglyCoatomic α] : IsStronglyAtomic αᵒᵈ := by
+ instance [IsStronglyCoatomic α] {s : Set α} [h : Set.OrdConnected s] : IsStronglyCoatomic s
+ instance [PredOrder α] : IsStronglyCoatomic α := by
+ instance [WellFoundedGT α] : IsStronglyCoatomic α
+ instance [WellFoundedLT α] : IsStronglyAtomic α
+ isStronglyAtomic_dual_iff_is_stronglyCoatomic
+ isStronglyCoatomic_dual_iff_is_stronglyAtomic

You can run this locally as follows
## summary with just the declaration names:
./scripts/no_lost_declarations.sh short <optional_commit>

## more verbose report:
./scripts/no_lost_declarations.sh <optional_commit>

@YaelDillies YaelDillies added awaiting-author A reviewer has asked the author a question or requested changes. and removed awaiting-review labels Jun 26, 2024
apnelson1 and others added 5 commits June 26, 2024 08:38
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@apnelson1 apnelson1 added awaiting-review and removed awaiting-author A reviewer has asked the author a question or requested changes. labels Jun 26, 2024
apnelson1 and others added 2 commits June 29, 2024 18:44
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@YaelDillies YaelDillies added awaiting-author A reviewer has asked the author a question or requested changes. and removed awaiting-review labels Jun 30, 2024
@apnelson1 apnelson1 added awaiting-review and removed awaiting-author A reviewer has asked the author a question or requested changes. labels Jul 2, 2024
Copy link
Copy Markdown
Contributor

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rest looks good.

Is “strongly atomic” a concept in the literature? I have never encountered it. Can you either provide a reference or clarify that this is made up for mathlib purposes

@YaelDillies YaelDillies added awaiting-author A reviewer has asked the author a question or requested changes. and removed awaiting-review labels Jul 9, 2024
apnelson1 and others added 8 commits July 9, 2024 08:50
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@apnelson1
Copy link
Copy Markdown
Collaborator Author

apnelson1 commented Jul 9, 2024

Rest looks good.

Is “strongly atomic” a concept in the literature? I have never encountered it. Can you either provide a reference or clarify that this is made up for mathlib purposes

A quick google search for 'strongly atomic lattice' confirms that the answer is yes, even if it's not so central as a concept. I don't think a citation is needed, any more than one is needed for the existing IsSimpleOrder, which is used in a way that actually deviates from common usage of the term in the literature.

@apnelson1 apnelson1 added awaiting-review and removed awaiting-author A reviewer has asked the author a question or requested changes. labels Jul 9, 2024
@YaelDillies
Copy link
Copy Markdown
Contributor

YaelDillies commented Jul 9, 2024

Well as a matter of fact I actually think we should document IsSimpleOrder as well, but okay for now

maintainer merge

@YaelDillies
Copy link
Copy Markdown
Contributor

Well as a matter of fact I actually think we should document IsSimpleOrder as well, but okay for now.

Btw your PR description is outdated wrt what's an instance and what's not, I think.

maintainer merge

Copy link
Copy Markdown
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 🎉

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Jul 10, 2024
mathlib-bors bot pushed a commit that referenced this pull request Jul 10, 2024
A strongly atomic preorder is one in which every nontrivial interval `[a,b]` contains an element covering `a`, or equivalently an order where every closed interval is atomic. We add a new typeclass `IsStronglyAtomic` to capture this.

We provide instances of this typeclass for `SuccOrder`s, orders with `WellFoundedLT`, atomistic upper-modular lattices, complemented atomic modular lattices, and `OrdConnected` subtypes. We also show that such orders are atomic.

We also provide the dual typeclass `IsStronglyCoatomic` and dual versions of all of the above.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jul 10, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Order/Atoms): strong atomicity typeclass [Merged by Bors] - feat(Order/Atoms): strong atomicity typeclass Jul 10, 2024
@mathlib-bors mathlib-bors bot closed this Jul 10, 2024
@mathlib-bors mathlib-bors bot deleted the strongly_atomic branch July 10, 2024 16:27
@adomani adomani mentioned this pull request Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge This PR has been sent to bors. t-order Order theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants