Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(RingTheory.MvPowerSeries.Topology): define the product topology on mv power series #14866

Open
wants to merge 82 commits into
base: master
Choose a base branch
from

Conversation

AntoineChambert-Loir
Copy link
Collaborator

@AntoineChambert-Loir AntoineChambert-Loir commented Jul 18, 2024

Let R be with Semiring R and TopologicalSpace R
In this file we define the topology on MvPowerSeries σ R
that corresponds to the simple convergence on its coefficients,
aka the product topology.
It is the coarsest topology for which all coefficients maps are continuous.

When R has UniformSpace R, we define the corresponding uniform structure.

When the type of coefficients has the discrete topology,
it corresponds to the topology defined by [bourbaki1981], chapter 4, §4, n°2

Coauthored with María Inés de Frutos Fernández @mariainesdff


Copy link

github-actions bot commented Jul 18, 2024

PR summary 57fce93dad

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.RingTheory.MvPowerSeries.PiTopology 1079
Mathlib.RingTheory.PowerSeries.PiTopology 1102

Declarations diff

+ MvPowerSeries.apply_eq_coeff
+ prod_one_add
+ variables_tendsto_zero
++ as_tsum
++ continuous_C
++ continuous_coeff
++ continuous_constantCoeff
++ hasSum_of_monomials_self
++ instCompleteSpace
++ instT0Space
++ instT2Space
++ instTopologicalRing
++ instTopologicalSemiring
++ instUniformAddGroup
++ tendsto_iff_coeff_tendsto
++ tendsto_pow_of_constantCoeff_nilpotent_iff
++ tendsto_pow_zero_of_constantCoeff_nilpotent
++ tendsto_pow_zero_of_constantCoeff_zero
++ uniformContinuous_coeff

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.

Mathlib/RingTheory/MvPowerSeries/Basic.lean Outdated Show resolved Hide resolved
Mathlib/RingTheory/MvPowerSeries/Topology.lean Outdated Show resolved Hide resolved
Mathlib/RingTheory/MvPowerSeries/Topology.lean Outdated Show resolved Hide resolved
@AntoineChambert-Loir AntoineChambert-Loir changed the title feat(RingTheory.MvPowerSeries.Topology) : defines the natural topology feat(RingTheory.MvPowerSeries.Topology) : define the product topology on mv power series Jul 29, 2024
@jcommelin jcommelin changed the title feat(RingTheory.MvPowerSeries.Topology) : define the product topology on mv power series feat(RingTheory.MvPowerSeries.Topology): define the product topology on mv power series Sep 17, 2024
Mathlib/RingTheory/MvPowerSeries/PiTopology.lean Outdated Show resolved Hide resolved
Mathlib/RingTheory/PowerSeries/PiTopology.lean Outdated Show resolved Hide resolved
Mathlib/RingTheory/MvPowerSeries/PiTopology.lean Outdated Show resolved Hide resolved
Mathlib/RingTheory/MvPowerSeries/PiTopology.lean Outdated Show resolved Hide resolved
Mathlib/RingTheory/MvPowerSeries/PiTopology.lean Outdated Show resolved Hide resolved
Mathlib/RingTheory/MvPowerSeries/PiTopology.lean Outdated Show resolved Hide resolved
@Ruben-VandeVelde Ruben-VandeVelde added the awaiting-author A reviewer has asked the author a question or requested changes label Sep 17, 2024
@AntoineChambert-Loir AntoineChambert-Loir removed the awaiting-author A reviewer has asked the author a question or requested changes label Sep 20, 2024
Comment on lines +52 to +54
theorem MvPowerSeries.apply_eq_coeff {σ R : Type _} [Semiring R] (f : MvPowerSeries σ R)
(d : σ →₀ ℕ) : f d = MvPowerSeries.coeff R d f :=
rfl
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should this go elsewhere?

Comment on lines +103 to +110
theorem instTopologicalSemiring [Semiring R] [TopologicalSemiring R] :
TopologicalSemiring (MvPowerSeries σ R) where
continuous_add := continuous_pi fun d => Continuous.comp continuous_add
(Continuous.prod_mk (Continuous.fst' (continuous_coeff R d))
(Continuous.snd' (continuous_coeff R d)))
continuous_mul := continuous_pi fun _ => continuous_finset_sum _ (fun i _ => Continuous.comp
continuous_mul (Continuous.prod_mk (Continuous.fst' (continuous_coeff R i.fst))
(Continuous.snd' (continuous_coeff R i.snd))))
Copy link
Collaborator

Choose a reason for hiding this comment

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

This can probably be shortened using dot-notation

Copy link
Collaborator

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

Good idea to have both files in the same PR. I get to write twice as few comments 😁

@@ -176,6 +176,14 @@ theorem prod_add (f g : ι → α) (s : Finset ι) :
simp only [mem_filter, mem_sdiff, not_and, not_exists, and_congr_right_iff]
tauto)

theorem prod_one_add {f : ι → α} (s : Finset ι) :
(s.prod fun i => 1 + f i) = s.powerset.sum fun t => t.prod f := by
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
(s.prod fun i => 1 + f i) = s.powerset.sum fun t => t.prod f := by
∏ i ∈ s, (1 + f i) = ∑ t ∈ s.powerset, t.prod f := by

theorem instT2Space [T2Space R] : T2Space (MvPowerSeries σ R) := Pi.t2Space

variable (R) in
/-- coeff are continuous -/
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
/-- coeff are continuous -/
/-- `MvPowerSeries.coeff` is continuous. -/

Comment on lines +105 to +110
continuous_add := continuous_pi fun d => Continuous.comp continuous_add
(Continuous.prod_mk (Continuous.fst' (continuous_coeff R d))
(Continuous.snd' (continuous_coeff R d)))
continuous_mul := continuous_pi fun _ => continuous_finset_sum _ (fun i _ => Continuous.comp
continuous_mul (Continuous.prod_mk (Continuous.fst' (continuous_coeff R i.fst))
(Continuous.snd' (continuous_coeff R i.snd))))
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could you try using fun_prop here?


variable (R) in
/-- coeff are continuous -/
theorem continuous_coeff [Semiring R] (d : σ →₀ ℕ) : Continuous (MvPowerSeries.coeff R d) :=
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
theorem continuous_coeff [Semiring R] (d : σ →₀ ℕ) : Continuous (MvPowerSeries.coeff R d) :=
@[fun_prop]
theorem continuous_coeff [Semiring R] (d : σ →₀ ℕ) : Continuous (MvPowerSeries.coeff R d) :=


variable {σ R}

theorem continuous_C [Ring R] [TopologicalRing R] :
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
theorem continuous_C [Ring R] [TopologicalRing R] :
@[fun_prop]
theorem continuous_C [Ring R] [TopologicalRing R] :

@YaelDillies YaelDillies added the awaiting-author A reviewer has asked the author a question or requested changes label Oct 31, 2024
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 t-algebra Algebra (groups, rings, fields, etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants