Completion of a module with respect to an ideal. #
In this file we define the notions of Hausdorff, precomplete, and complete for an R-module M
with respect to an ideal I:
Main definitions #
IsHausdorff I M: this says that the intersection ofI^n Mis0.IsPrecomplete I M: this says that every Cauchy sequence converges.IsAdicComplete I M: this says thatMis Hausdorff and precomplete.Hausdorffification I M: this is the universal Hausdorff module with a map fromM.AdicCompletion I M: ifIis finitely generated, then this is the universal complete module with a linear mapAdicCompletion.liftfromM. This map is injective iffMis Hausdorff and surjective iffMis precomplete.IsAdicComplete.lift: ifNisI-adically complete, then a compatible family of linear mapsM →ₗ[R] N ⧸ (I ^ n • ⊤)can be lifted to a unique linear mapM →ₗ[R] N. Together withmk_lift_applyandeq_lift, it gives the universal property of beingI-adically complete.
A module M is precomplete with respect to an ideal I if every Cauchy sequence converges.
Instances
A module M is I-adically complete if it is Hausdorff and precomplete.
Instances
A variant of IsHausdorff.funext, where the target is a ring instead of a module.
A variant of IsHausdorff.StrictMono.funext, where the target is a ring instead of a module.
The canonical linear map M ⧸ (I ^ n • ⊤) →ₗ[R] M ⧸ (I ^ m • ⊤) for m ≤ n used
to define AdicCompletion.
Equations
- AdicCompletion.transitionMap I M hmn = Submodule.factorPow I M hmn
Instances For
The completion of a module with respect to an ideal.
This is Hausdorff but not necessarily complete: a classical sufficient condition for
completeness is that M be finitely generated [Stacks, 0G1Q].
Equations
Instances For
The canonical linear map to the Hausdorffification.
Instances For
Universal property of Hausdorffification: any linear map to a Hausdorff module extends to a unique map from the Hausdorffification.
Instances For
Uniqueness of lift.
AdicCompletion is the submodule of compatible families in
∀ n : ℕ, M ⧸ (I ^ n • ⊤).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- AdicCompletion.instAdd I M = { add := fun (x y : AdicCompletion I M) => ⟨↑x + ↑y, ⋯⟩ }
Equations
- AdicCompletion.instNeg I M = { neg := fun (x : AdicCompletion I M) => ⟨-↑x, ⋯⟩ }
Equations
- AdicCompletion.instSub I M = { sub := fun (x y : AdicCompletion I M) => ⟨↑x - ↑y, ⋯⟩ }
Equations
- AdicCompletion.instSMul I M = { smul := fun (r : S) (x : AdicCompletion I M) => ⟨r • ↑x, ⋯⟩ }
Equations
- AdicCompletion.instAddCommGroup I M = Function.Injective.addCommGroup Subtype.val ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- AdicCompletion.instModuleOfIsScalarTower I M = Function.Injective.module S { toFun := Subtype.val, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
The canonical inclusion from the completion to the product.
Equations
- AdicCompletion.incl I M = { toFun := fun (x : AdicCompletion I M) => ↑x, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The canonical linear map to the completion.
Equations
Instances For
Linearly evaluating a sequence in the completion at a given input.
Equations
- AdicCompletion.eval I M n = { toFun := fun (f : AdicCompletion I M) => ↑f n, map_add' := ⋯, map_smul' := ⋯ }
Instances For
A sequence ℕ → M is an I-adic Cauchy sequence if for every m ≤ n,
f m ≡ f n modulo I ^ m • ⊤.
Instances For
The type of I-adic Cauchy sequences.
Equations
- AdicCompletion.AdicCauchySequence I M = { f : ℕ → M // AdicCompletion.IsAdicCauchy I M f }
Instances For
The type of I-adic Cauchy sequences is a submodule of the product ℕ → M.
Equations
- AdicCompletion.AdicCauchySequence.submodule I M = { carrier := {f : ℕ → M | AdicCompletion.IsAdicCauchy I M f}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
Instances For
Equations
- AdicCompletion.AdicCauchySequence.instAdd I M = { add := fun (x y : AdicCompletion.AdicCauchySequence I M) => ⟨↑x + ↑y, ⋯⟩ }
Equations
- AdicCompletion.AdicCauchySequence.instNeg I M = { neg := fun (x : AdicCompletion.AdicCauchySequence I M) => ⟨-↑x, ⋯⟩ }
Equations
- AdicCompletion.AdicCauchySequence.instSub I M = { sub := fun (x y : AdicCompletion.AdicCauchySequence I M) => ⟨↑x - ↑y, ⋯⟩ }
Equations
- AdicCompletion.AdicCauchySequence.instSMulNat I M = { smul := fun (n : ℕ) (x : AdicCompletion.AdicCauchySequence I M) => ⟨n • ↑x, ⋯⟩ }
Equations
- AdicCompletion.AdicCauchySequence.instSMulInt I M = { smul := fun (n : ℤ) (x : AdicCompletion.AdicCauchySequence I M) => ⟨n • ↑x, ⋯⟩ }
Equations
Equations
- AdicCompletion.AdicCauchySequence.instSMul I M = { smul := fun (r : R) (x : AdicCompletion.AdicCauchySequence I M) => ⟨r • ↑x, ⋯⟩ }
Equations
- AdicCompletion.AdicCauchySequence.instModule I M = Function.Injective.module R { toFun := Subtype.val, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
Equations
- AdicCompletion.AdicCauchySequence.instCoeFunForallNat I M = { coe := fun (f : AdicCompletion.AdicCauchySequence I M) => ↑f }
The defining property of an adic Cauchy sequence unwrapped.
Construct I-adic Cauchy sequence from sequence satisfying the successive Cauchy condition.
Equations
- AdicCompletion.AdicCauchySequence.mk I M f h = ⟨f, ⋯⟩
Instances For
The canonical linear map from Cauchy sequences to the completion.
Equations
Instances For
Criterion for checking that an adic Cauchy sequence is mapped to zero in the adic completion.
Every element in the adic completion is represented by a Cauchy sequence.
To show a statement about an element of adicCompletion I M, it suffices to check it
on Cauchy sequences.
Lift a compatible family of linear maps M →ₗ[R] N ⧸ (I ^ n • ⊤ : Submodule R N) to
the I-adic completion of M.
Equations
Instances For
When M is I-adic complete, the canonical map from M to its I-adic completion is a linear
equivalence.
Equations
Instances For
Universal property of IsAdicComplete.
The lift linear map lift I f h : M →ₗ[R] N of a sequence of compatible
linear maps f n : M →ₗ[R] N ⧸ (I ^ n • ⊤).
Equations
- IsAdicComplete.lift I f h = ↑(AdicCompletion.ofLinearEquiv I N).symm ∘ₗ AdicCompletion.lift I f ⋯
Instances For
The composition of lift linear map lift I f h : M →ₗ[R] N with the canonical
projection N → N ⧸ (I ^ n • ⊤) is f n .
The composition of lift linear map lift I f h : M →ₗ[R] N with the canonical
projection N →ₗ[R] N ⧸ (I ^ n • ⊤) is f n .
Uniqueness of the lift.
Given a compatible family of linear maps f n : M →ₗ[R] N ⧸ (I ^ n • ⊤).
If F : M →ₗ[R] N makes the following diagram commutes
N
| \
F| \ f n
| \
v v
M --> M ⧸ (I ^ n • ⊤)
Then it is the map IsAdicComplete.lift.
Instead of providing all M →ₗ[R] N ⧸ (I ^ n • ⊤), one can just provide
M →ₗ[R] N ⧸ (I ^ (a n) • ⊤) for a strictly increasing sequence a n to recover all
M →ₗ[R] N ⧸ (I ^ n • ⊤).
Equations
- IsAdicComplete.StrictMono.extend ha f n = Submodule.factorPow I N ⋯ ∘ₗ f n
Instances For
A variant of IsAdicComplete.lift. Only takes f n : M →ₗ[R] N ⧸ (I ^ (a n) • ⊤)
from a strictly increasing sequence a n.
Equations
- IsAdicComplete.StrictMono.lift I ha f hf = IsAdicComplete.lift I (IsAdicComplete.StrictMono.extend ha f) ⋯