Skip to content

feat (Topology/Compactness/CompactSystem): Set system of finite unions of sets in a compact system is again a compact system#24543

Closed
pfaffelh wants to merge 32 commits intopfaffelh_compactSystem2from
pfaffelh_compactSystem3
Closed

feat (Topology/Compactness/CompactSystem): Set system of finite unions of sets in a compact system is again a compact system#24543
pfaffelh wants to merge 32 commits intopfaffelh_compactSystem2from
pfaffelh_compactSystem3

Conversation

@pfaffelh
Copy link
Copy Markdown
Contributor

@pfaffelh pfaffelh commented May 2, 2025

feat (Topology/Compactness/CompactSystem): The set system of finite unions of sets in a compact system is a compact system

A compact system is a set system with the following property: If all finite intersections of a sequence in the set system is non-empty, the countable intersection is not empty.

Starting with a compact system, consider the finite unions of sets in the copact system. Such sets again form a compact system (IsCompactSystem.union.isCompactSystem).


Open in Gitpod

@github-actions github-actions bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label May 2, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented May 2, 2025

PR summary 3bb3ee2af4

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
29 files Mathlib.MeasureTheory.Constructions.ClosedCompactCylinders Mathlib.MeasureTheory.Constructions.Projective Mathlib.MeasureTheory.Function.FactorsThrough Mathlib.Probability.BorelCantelli Mathlib.Probability.Independence.Conditional Mathlib.Probability.Independence.ZeroOne Mathlib.Probability.Kernel.CompProdEqIff Mathlib.Probability.Kernel.Composition.AbsolutelyContinuous Mathlib.Probability.Kernel.CondDistrib Mathlib.Probability.Kernel.Condexp Mathlib.Probability.Kernel.Disintegration.Density Mathlib.Probability.Kernel.Disintegration.Integral Mathlib.Probability.Kernel.Disintegration.StandardBorel Mathlib.Probability.Kernel.Disintegration.Unique Mathlib.Probability.Kernel.Posterior Mathlib.Probability.Kernel.RadonNikodym Mathlib.Probability.Martingale.Basic Mathlib.Probability.Martingale.BorelCantelli Mathlib.Probability.Martingale.Centering Mathlib.Probability.Martingale.Convergence Mathlib.Probability.Martingale.OptionalSampling Mathlib.Probability.Martingale.OptionalStopping Mathlib.Probability.Martingale.Upcrossing Mathlib.Probability.Moments.SubGaussian Mathlib.Probability.Process.Adapted Mathlib.Probability.Process.Filtration Mathlib.Probability.Process.HittingTime Mathlib.Probability.Process.PartitionFiltration Mathlib.Probability.Process.Stopping
2
Mathlib.MeasureTheory.Constructions.Cylinders 5
Mathlib.Data.Set.Dissipate (new file) 609
Mathlib.Topology.Compactness.CompactSystem (new file) 801

Declarations diff

+ Dissipate
+ Fin.elim0'.{u}
+ IsCompactSystem
+ IsCompactSystem.compactClosedPi
+ IsPiSystem.iff_of_empty_mem
+ MeasureTheory.compactClosedSquareCylinders
+ Nat.prefixInduction
+ Nat.prefixInduction'
+ Nat.prefixInduction'_spec
+ Nat.prefixInduction.aux
+ Nat.prefixInduction.auxConsistent
+ Nat.prefixInduction_spec
+ biInter_dissipate
+ biInter_univ_pi_empty_iff
+ directed_dissipate
+ dissipate_antitone
+ dissipate_bot
+ dissipate_def
+ dissipate_eq
+ dissipate_eq_empty
+ dissipate_of_piSystem
+ dissipate_subset
+ dissipate_subset_dissipate
+ dissipate_subset_iInter
+ dissipate_succ
+ dissipate_zero
+ exists_dissipate_eq_empty_iff
+ exists_dissipate_eq_empty_iff_of_directed
+ exists_subset_dissipate_of_directed
+ finite_of_empty
+ iInter_dissipate
+ iInter_le_mem_measurableCylinders
+ iInter_pi_empty_iff
+ iInter_univ_pi_empty_iff
+ iUnion_le_mem_measurableCylinders
+ iff_directed
+ iff_directed'
+ iff_isCompactSystem_of_or_empty
+ iff_isCompactSystem_of_or_univ
+ iff_nonempty_iInter
+ iff_nonempty_iInter_of_lt
+ iff_nonempty_iInter_of_lt'
+ inter_sUnion_eq_empty
+ isCompactSystem.compactClosedSquareCylinders
+ k
+ l1
+ mem_dissipate
+ mem_of_union
+ mem_of_union.spec
+ mem_squareCylinders
+ mono
+ nonempty_isCompactIsClosed
+ of_IsEmpty
+ of_isCompact
+ of_isCompact_isClosed
+ of_isCompact_isClosed_or_univ
+ pi
+ pi_antitone
+ pi_image_eq_of_subset
+ pi_nonempty_iff'
+ q
+ q_iff_iInter
+ q_iff_iInter'
+ sInter_memOfUnion_isSubset
+ sInter_memOfUnion_nonempty
+ squareCylinder
+ squareCylinders
+ squareCylinders_eq_iUnion_image'
+ squareCylinders_subset_pi
+ step'
+ step0
+ step_of
+ union
+ union.isCompactSystem
+ union.mem_iff

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

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

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


No changes to technical debt.

You can run this locally as

./scripts/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).

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label May 2, 2025
@mathlib4-dependent-issues-bot
Copy link
Copy Markdown
Collaborator

@pfaffelh pfaffelh changed the title feat (Topology/Compactness/CompactSystem): Set set system of finite unions of sets in a compact system is again a compact system feat (Topology/Compactness/CompactSystem): Set system of finite unions of sets in a compact system is again a compact system May 2, 2025
@leanprover-community-bot-assistant
Copy link
Copy Markdown
Collaborator

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

@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label May 2, 2025
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label May 3, 2025
@grunweg grunweg added the t-topology Topological spaces, uniform spaces, metric spaces, filters label May 3, 2025
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label May 27, 2025
@leanprover-community-bot-assistant
Copy link
Copy Markdown
Collaborator

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

@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label May 30, 2025
@github-actions github-actions 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 May 30, 2025
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label May 30, 2025
@github-actions github-actions 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 Jun 1, 2025
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jun 1, 2025
@github-actions github-actions 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 Jun 9, 2025
@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 Jun 9, 2025
Copy link
Copy Markdown
Collaborator

@nomeata nomeata left a comment

Choose a reason for hiding this comment

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

Some docstring suggestions, without any ambition at completeness :-)

∀ n (k : (i : Fin n) → (β i)) (_ : q n k),
{ a : β n // q (n+1) (Fin.snoc k a)})

/-- In this section, we prove a general induction principle, which we need for the construction
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.

Probably this should be a module doc string, not a declaration doc string?

Suggested change
/-- In this section, we prove a general induction principle, which we need for the construction
/-! In this section, we prove a general induction principle, which we need for the construction

`(n : ℕ) : β n` constructs the next element satisfying `q (n + 1) _` from a proof of `q n k`
and finding the next element.

In comparisong to other induction principles, the proofs of `q n k` are needed in order to find
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.

Suggested change
In comparisong to other induction principles, the proofs of `q n k` are needed in order to find
In comparison to other induction principles, the proofs of `q n k` are needed in order to find

Comment on lines +330 to +331
/- An auxiliary definition for `Nat.prefixInduction`. -/
def Nat.prefixInduction.aux : ∀ (n : Nat), { k : (i : Fin n) → (β i) // q n k }
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.

Suggested change
/- An auxiliary definition for `Nat.prefixInduction`. -/
def Nat.prefixInduction.aux : ∀ (n : Nat), { k : (i : Fin n) → (β i) // q n k }
/- An auxiliary definition for `Nat.prefixInduction`:
The `n`’th prefix of the sequence constructed by `Nat.prefixInduction`. -/
def Nat.prefixInduction.aux : ∀ (n : Nat), { k : (i : Fin n) → (β i) // q n k }

let ⟨a, ha⟩ := step n k hk
⟨Fin.snoc k a, ha⟩

theorem Nat.prefixInduction.auxConsistent :
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.

Suggested change
theorem Nat.prefixInduction.auxConsistent :
/-- The `i`th elements of any prefix constructed by `aux` (with at least `i` elements) are the same. -/
theorem Nat.prefixInduction.auxConsistent :

@RemyDegenne
Copy link
Copy Markdown
Contributor

Closing: replaced by #25900

@YaelDillies YaelDillies deleted the pfaffelh_compactSystem3 branch August 18, 2025 07:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-topology Topological spaces, uniform spaces, metric spaces, filters

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants