Skip to content

feat: CountableSupClosed#38245

Open
RemyDegenne wants to merge 11 commits intoleanprover-community:masterfrom
RemyDegenne:RD_countableSupClosed
Open

feat: CountableSupClosed#38245
RemyDegenne wants to merge 11 commits intoleanprover-community:masterfrom
RemyDegenne:RD_countableSupClosed

Conversation

@RemyDegenne
Copy link
Copy Markdown
Contributor

@RemyDegenne RemyDegenne commented Apr 19, 2026

Define the property for a set of being closed by countable supremum (resp. infimum).
The new file is adapted from the SupClosed file, which describes sets closed by binary supremum.

Also use to_dual on SupClosed.

CountableInfClosed will be used in measure theory, for developments related to compact systems used for Kolmogorov's extension theorem and Choquet's capacitability theorem.


Open in Gitpod

@RemyDegenne RemyDegenne added t-order Order theory brownian Part of the ongoing formalization of the Brownian motion and stochastic integrals labels Apr 19, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 19, 2026

PR summary 42a89fc2b9

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Order.CountableSupClosed (new file) 540

Declarations diff

+ CountableInfClosed
+ CountableInfClosed.dual
+ CountableSupClosed
+ CountableSupClosed.countableSupClosure_eq
+ CountableSupClosed.directedOn
+ CountableSupClosed.dual
+ CountableSupClosed.finsetSup'_mem
+ CountableSupClosed.finsetSup_mem
+ CountableSupClosed.iInter
+ CountableSupClosed.iSup_mem
+ CountableSupClosed.inter
+ CountableSupClosed.prod
+ CountableSupClosed.sInter
+ CountableSupClosed.sSup_mem
+ CountableSupClosed.supClosed
+ CountableSupClosed.univ
+ InfClosed.countableSupClosure
+ SupClosed.countableInfClosure
+ countableInfClosed_preimage_ofDual
+ countableInfClosed_preimage_toDual
+ countableInfClosure
+ countableSupClosed_countableSupClosure
+ countableSupClosed_preimage_ofDual
+ countableSupClosed_preimage_toDual
+ countableSupClosed_singleton_bot
+ countableSupClosure
+ countableSupClosure_eq_self
+ countableSupClosure_idem
+ countableSupClosure_min
+ countableSupClosure_mono
+ countableSupClosure_prod
+ countableSupClosure_singleton_bot
+ countableSupClosure_univ
+ finsetSup'_mem_countableSupClosure
+ iSup_mem_countableSupClosure
+ isLUB_countableSupClosure
+ mem_countableSupClosure_iff
+ subset_countableSupClosure
+ supClosed_countableSupClosure
+ sup_mem_countableSupClosure
+ upperBounds_countableSupClosure
- InfClosed
- InfClosed.finsetInf'_mem
- InfClosed.finsetInf_mem
- InfClosed.image
- InfClosed.insert_lowerBounds
- InfClosed.insert_upperBounds
- InfClosed.inter
- InfClosed.preimage
- InfClosed.prod
- IsLowerSet.infClosed
- infClosed_empty
- infClosed_iInter
- infClosed_pi
- infClosed_range
- infClosed_sInter
- infClosed_singleton
- infClosed_univ

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

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

The doc-module for scripts/pr_summary/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/reporting/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

Comment thread Mathlib/Order/CountableSupClosed.lean Outdated

The definition uses `ι = ℕ`.
See `CountableSupClosed.iSup_mem` for a supremum over any nonempty countable type. -/
structure CountableSupClosed [CompleteLattice α] (s : Set α) : Prop where
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Are we only interested in the complete lattice case? Otherwise, I think it'd be best to write this down using IsLUB.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm only interested in the case of sets of sets, so personally complete lattice is enough. If you have another more general definition in mind that does not require too much additional work I'd be happy to apply a suggestion.

Copy link
Copy Markdown
Collaborator

@vihdzp vihdzp Apr 19, 2026

Choose a reason for hiding this comment

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

My idea is to use something like ∀ t ⊆ s, t.Nonempty → t.Countable → ∃ x ∈ s, IsLUB t x.

Comment thread Mathlib/Order/CountableSupClosed.lean Outdated
Comment thread Mathlib/Order/CountableSupClosed.lean Outdated
Comment thread Mathlib/Order/CountableSupClosed.lean Outdated
Comment thread Mathlib/Order/CountableSupClosed.lean Outdated
Comment thread Mathlib/Order/CountableSupClosed.lean Outdated
Comment thread Mathlib/Order/CountableSupClosed.lean Outdated
Comment thread Mathlib/Order/CountableSupClosed.lean Outdated

/-- Every set generates a set closed under countable supremum. -/
@[simps! isClosed]
def countableSupClosure : ClosureOperator (Set α) := .ofPred
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Should be easier to define this as the intersection of all CountableSupClosed sets containing s.

Comment thread Mathlib/Order/CountableSupClosed.lean
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

brownian Part of the ongoing formalization of the Brownian motion and stochastic integrals t-order Order theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants