Skip to content

feat(Topology/Connected): local (path-)connectedness of products and pi types#41663

Open
korbonits wants to merge 4 commits into
leanprover-community:masterfrom
korbonits:loc-connected-prod
Open

feat(Topology/Connected): local (path-)connectedness of products and pi types#41663
korbonits wants to merge 4 commits into
leanprover-community:masterfrom
korbonits:loc-connected-prod

Conversation

@korbonits

@korbonits korbonits commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Add Prod and Pi instances for LocallyConnectedSpace and LocallyPathConnectedSpace. The pi instances come in two flavors: finite index type, or arbitrary index type with all factors (path-)connected — the extra assumption is necessary, since e.g. an infinite product of discrete spaces is not locally connected.

Follow-up to #40092.

@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 Jul 12, 2026
@github-actions

Copy link
Copy Markdown

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR.

Thank you again for joining our community.

@github-actions github-actions Bot added the t-topology Topological spaces, uniform spaces, metric spaces, filters label Jul 12, 2026
@github-actions

github-actions Bot commented Jul 12, 2026

Copy link
Copy Markdown

PR summary f16796ee11

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff (regex)

+ Pi.locallyConnectedSpace
+ Pi.locallyConnectedSpace_of_finite
+ Pi.locallyConnectedSpace_of_finite_nonpreconnected
+ Pi.locallyPathConnectedSpace
+ Pi.locallyPathConnectedSpace_of_finite
+ Pi.locallyPathConnectedSpace_of_finite_nonpathconnected
+ Prod.locallyConnectedSpace
+ Prod.locallyPathConnectedSpace

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.

Declarations diff (Lean)

Lean-aware diff — post-build, computed from the Lean environment (commit f16796e).

  • +8 new declarations
  • −0 removed declarations
+Pi.locallyConnectedSpace
+Pi.locallyConnectedSpace_of_finite
+Pi.locallyConnectedSpace_of_finite_nonpreconnected
+Pi.locallyPathConnectedSpace
+Pi.locallyPathConnectedSpace_of_finite
+Pi.locallyPathConnectedSpace_of_finite_nonpathconnected
+Prod.locallyConnectedSpace
+Prod.locallyPathConnectedSpace

No changes to strong technical debt.

No changes to weak technical debt.

Current commit f16796ee11
Reference commit 11d11a11a6

This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:

git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/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).

@korbonits

Copy link
Copy Markdown
Contributor Author

LLM-generated

@github-actions github-actions Bot added the LLM-generated PRs with substantial input from LLMs - review accordingly label Jul 12, 2026
@CoolRmal CoolRmal self-assigned this Jul 14, 2026

@CoolRmal CoolRmal 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.

I think here's a better design. May you first prove the following?

theorem Pi.locallyConnectedSpace_of_finite_nonpreconnected
    [∀ i, TopologicalSpace (X i)] [∀ i, LocallyConnectedSpace (X i)]
    (hfinite : {i | ¬PreconnectedSpace (X i)}.Finite) : LocallyConnectedSpace (∀ i, X i) := sorry

which is saying that if every X i is locally connected and the set of i such that X i is not preconnected is finite, then LocallyConnectedSpace (∀ i, X i). Pi.locallyConnectedSpace_of_finite and Pi.locallyConnectedSpace should then be easy corollaries.

You can then do something similar for locally path connected space.

Comment thread Mathlib/Topology/Connected/LocallyConnected.lean Outdated
@CoolRmal

Copy link
Copy Markdown
Contributor

awaiting-author

@github-actions github-actions Bot added the awaiting-author A reviewer has asked the author a question or requested changes. label Jul 14, 2026
@CoolRmal

CoolRmal commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

And maybe if you want you can also prove the following characterization of locally connectedness of the product: ∀ i, X i is locally connected if either it is empty or every X i is locally connected and {i | ¬PreconnectedSpace (X i)}.Finite. To prove this I think you need to show first that if f : X → Y is open continuous surjective and X is locally connected, then so is Y.

@korbonits korbonits changed the title feat(Topology/Connected): products of locally (path-)connected spaces are locally (path-)connected feat(Topology/Connected): local (path-)connectedness of products and pi types Jul 15, 2026
@korbonits

Copy link
Copy Markdown
Contributor Author

And maybe if you want you can also prove the following characterization of locally connectedness of the product: ∀ i, X i is locally connected if either it is empty or every X i is locally connected and {i | ¬PreconnectedSpace (X i)}.Finite. To prove this I think you need to show first that if f : X → Y is open continuous surjective and X is locally connected, then so is Y.

Is it OK if I do this in a follow-up PR or would you prefer to see it in this PR? I can commit to that as a fast follow. I think the helper lemma deserves its own visibility! Open to your thoughts here :) @CoolRmal

@korbonits korbonits requested a review from CoolRmal July 15, 2026 06:53
@CoolRmal

Copy link
Copy Markdown
Contributor

I think it is fine to include these lemmas in this single PR, but maybe you can change the PR description a little bit.

@grunweg

grunweg commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Hello from triage! Can you comment on whether you used AI for this project (and if so, label with PR with LLM-generated)? Thanks! (Per mathlib's AI policy, this is not forbidden in principle, but its usage must be disclosed.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-author A reviewer has asked the author a question or requested changes. LLM-generated PRs with substantial input from LLMs - review accordingly 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.

3 participants