Skip to content

Commit eb2bf63

Browse files
committed
feat(RingTheory/MvPowerSeries): adic completeness for MvPowerSeries (#35846)
This PR continues the work in #35670 and #35707 by adding typeclass instances for the completeness of `MvPowerSeries` when the index type is finite.
1 parent 0809822 commit eb2bf63

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

Mathlib/RingTheory/AdicCompletion/Completeness.lean

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ module
88
public import Mathlib.Algebra.Lie.OfAssociative
99
public import Mathlib.RingTheory.AdicCompletion.Exactness
1010
public import Mathlib.RingTheory.Finiteness.Ideal
11+
public import Mathlib.RingTheory.MvPowerSeries.Equiv
12+
public import Mathlib.RingTheory.PowerSeries.Basic
13+
14+
import Mathlib.RingTheory.AdicCompletion.Topology
1115

1216
/-!
1317
# Completeness of the Adic Completion for Finitely Generated Ideals
@@ -32,6 +36,9 @@ when the ideal `I` is finitely generated.
3236
* `AdicCompletion.isAdicComplete`: `AdicCompletion I M` is `I`-adically complete if `I` is
3337
finitely generated.
3438
39+
* `MvPowerSeries.isAdicComplete`: Multivariate power series is adic complete with respect to
40+
the ideal spanned by all variables when the index is finite.
41+
3542
-/
3643

3744
public section
@@ -188,3 +195,27 @@ theorem isAdicComplete (h : I.FG) : IsAdicComplete I (AdicCompletion I M) where
188195
simp [L]
189196

190197
end AdicCompletion
198+
199+
namespace MvPowerSeries
200+
201+
instance {σ : Type*} [Finite σ] :
202+
IsAdicComplete (.span (.range X) : Ideal (MvPowerSeries σ R)) (MvPowerSeries σ R) := by
203+
have : Ideal.map (toAdicCompletionAlgEquiv σ R).toRingEquiv (Ideal.span (Set.range X)) =
204+
(MvPolynomial.idealOfVars σ R).map (algebraMap ..):= by
205+
simp_rw [Ideal.map_span, ← Set.range_comp]
206+
congr 2; ext1
207+
simp [AdicCompletion.algebraMap_apply, ← MvPolynomial.coe_X, toAdicCompletion_coe]
208+
rw [← IsAdicComplete.congr_ringEquiv _ (toAdicCompletionAlgEquiv σ R).toRingEquiv, this,
209+
IsAdicComplete.map_algebraMap_iff]
210+
exact AdicCompletion.isAdicComplete (MvPolynomial.idealOfVars_fg σ R)
211+
212+
end MvPowerSeries
213+
214+
namespace PowerSeries
215+
216+
instance : IsAdicComplete (.span {X} : Ideal (PowerSeries R)) (PowerSeries R) := by
217+
have : IsAdicComplete (.span (.range MvPowerSeries.X) : Ideal (MvPowerSeries Unit R))
218+
(MvPowerSeries Unit R) := inferInstance
219+
rwa [Set.range_unique] at this
220+
221+
end PowerSeries

0 commit comments

Comments
 (0)