Skip to content

[Merged by Bors] - feat: club sets#37677

Closed
vihdzp wants to merge 36 commits into
leanprover-community:masterfrom
vihdzp:club
Closed

[Merged by Bors] - feat: club sets#37677
vihdzp wants to merge 36 commits into
leanprover-community:masterfrom
vihdzp:club

Conversation

@vihdzp

@vihdzp vihdzp commented Apr 5, 2026

Copy link
Copy Markdown
Collaborator

In set theory, a club set is a subset of an ordinal of uncountable cofinality, which is closed in the order topology, and unbounded within the ordinal.

We generalize this notion to that of a club set in a well-order α: this is a set which is cofinal and closed under suprema. We recover the more standard notion by setting α = Iio o, whenever ℵ₀ < o.cof.

We prove that club sets are closed under intersections of size less than the cofinality of α, and that the fixed points of a normal function are a club set.


The idea is to eventually rework Ordinal.deriv. This is simply the enumerator function for the fixed points of f, and enumerator functions for club sets are always normal.

Open in Gitpod

@github-actions github-actions Bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Apr 5, 2026
@github-actions

github-actions Bot commented Apr 5, 2026

Copy link
Copy Markdown

PR summary cb72a58dcd

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Order.IsNormal Mathlib.Topology.Order.IsNormal 1
Mathlib.SetTheory.Cardinal.Cofinality.Club (new file) 702

Declarations diff

+ IsClub
+ IsClub.csSup_mem
+ IsClub.iInter
+ IsClub.iInter_of_cof_le_one
+ IsClub.iInter_of_orderTop
+ IsClub.inter
+ IsClub.isLUB_mem
+ IsClub.of_isEmpty
+ IsClub.sInter
+ IsClub.sInter_of_cof_le_one
+ IsClub.sInter_of_orderTop
+ IsClub.union
+ IsClub.univ
+ Order.IsNormal.isClub_fixedPoints
+ Order.IsNormal.isClub_range
+ aleph0_le_cof
+ iSup_iterate_mem_fixedPoints

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.


No changes to strong technical debt.
No changes to weak technical debt.

@mathlib-dependent-issues mathlib-dependent-issues Bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Apr 5, 2026
@vihdzp vihdzp added t-order Order theory t-set-theory Set theory labels Apr 5, 2026
@vihdzp vihdzp mentioned this pull request Apr 6, 2026
1 task
@mathlib-merge-conflicts mathlib-merge-conflicts Bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Apr 21, 2026
@mathlib-merge-conflicts

Copy link
Copy Markdown

This pull request has conflicts, please merge master and resolve them.

@github-actions github-actions Bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Apr 22, 2026
@mathlib-dependent-issues mathlib-dependent-issues Bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Apr 22, 2026
@mathlib-dependent-issues

Copy link
Copy Markdown

This PR/issue depends on:

Comment thread Mathlib/SetTheory/Cardinal/Cofinality/Club.lean Outdated
Comment thread Mathlib/SetTheory/Cardinal/Cofinality/Club.lean Outdated
Comment on lines +75 to +77
cases topOrderOrNoTopOrder α
· exact .sInter_of_orderTop hs
· cases one_lt_cof.not_ge hα

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you abstract this out into a lemma saying that cof alpha <= 1 -> Nonempty (OrderTop alpha)? Also, topOrderOrNoTopOrder looks misnamed, but that's pre-existing I guess.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

We already have this (the correct version of it, at least): cof_eq_one_iff.

Agree with the other theorem being misnamed, I'll open a PR for that later tonight.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why not use it here then? Is it impractical?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

If you have golfing ideas, let me know! This is as short as I could get it.

@YaelDillies YaelDillies added the awaiting-author A reviewer has asked the author a question or requested changes. label May 14, 2026
@vihdzp vihdzp removed the awaiting-author A reviewer has asked the author a question or requested changes. label May 14, 2026

@YaelDillies YaelDillies left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks! 🚀

maintainer merge

@github-actions

Copy link
Copy Markdown

🚀 Pull request has been placed on the maintainer queue by YaelDillies.

@mathlib-triage mathlib-triage Bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label May 14, 2026

@j-loreaux j-loreaux left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

bors d+

variable {α : Type v} {s t : Set α} {x : α} [LinearOrder α]

@[simp]
theorem IsClub.of_isEmpty [IsEmpty α] {s : Set α} : IsClub s :=

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you just namespace IsClub instead for this file (the last two declarations will need _root_.)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Really sorry, I did this locally but forgot to push. I opened #39641 to implement this change.

@mathlib-bors

mathlib-bors Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

✌️ vihdzp can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@mathlib-triage mathlib-triage Bot added delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). and removed maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. labels May 19, 2026
@vihdzp

vihdzp commented May 21, 2026

Copy link
Copy Markdown
Collaborator Author

bors r+

mathlib-bors Bot pushed a commit that referenced this pull request May 21, 2026
In set theory, a club set is a subset of an ordinal of uncountable cofinality, which is closed in the order topology, and unbounded within the ordinal.

We generalize this notion to that of a club set in a well-order `α`: this is a set which is cofinal and closed under suprema. We recover the more standard notion by setting `α = Iio o`, whenever `ℵ₀ < o.cof`.

We prove that club sets are closed under intersections of size less than the cofinality of `α`, and that the fixed points of a normal function are a club set.
@mathlib-bors

mathlib-bors Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors Bot changed the title feat: club sets [Merged by Bors] - feat: club sets May 21, 2026
@mathlib-bors mathlib-bors Bot closed this May 21, 2026
RaggedR pushed a commit to RaggedR/mathlib4 that referenced this pull request May 22, 2026
In set theory, a club set is a subset of an ordinal of uncountable cofinality, which is closed in the order topology, and unbounded within the ordinal.

We generalize this notion to that of a club set in a well-order `α`: this is a set which is cofinal and closed under suprema. We recover the more standard notion by setting `α = Iio o`, whenever `ℵ₀ < o.cof`.

We prove that club sets are closed under intersections of size less than the cofinality of `α`, and that the fixed points of a normal function are a club set.
mathlib-bors Bot pushed a commit that referenced this pull request May 24, 2026
I meant to do this in #37677, but forgot to do `git push`.
b-mehta pushed a commit to b-mehta/mathlib4 that referenced this pull request Jun 2, 2026
In set theory, a club set is a subset of an ordinal of uncountable cofinality, which is closed in the order topology, and unbounded within the ordinal.

We generalize this notion to that of a club set in a well-order `α`: this is a set which is cofinal and closed under suprema. We recover the more standard notion by setting `α = Iio o`, whenever `ℵ₀ < o.cof`.

We prove that club sets are closed under intersections of size less than the cofinality of `α`, and that the fixed points of a normal function are a club set.
b-mehta pushed a commit to b-mehta/mathlib4 that referenced this pull request Jun 2, 2026
Bergschaf pushed a commit to Bergschaf/mathlib4 that referenced this pull request Jun 3, 2026
In set theory, a club set is a subset of an ordinal of uncountable cofinality, which is closed in the order topology, and unbounded within the ordinal.

We generalize this notion to that of a club set in a well-order `α`: this is a set which is cofinal and closed under suprema. We recover the more standard notion by setting `α = Iio o`, whenever `ℵ₀ < o.cof`.

We prove that club sets are closed under intersections of size less than the cofinality of `α`, and that the fixed points of a normal function are a club set.
Bergschaf pushed a commit to Bergschaf/mathlib4 that referenced this pull request Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). t-order Order theory t-set-theory Set theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants