Documentation

TauCeti.RingTheory.Huber.ClosedSubmodule

Submodules with a module-finite closure are closed #

A submodule of a complete, metrisable module over a complete Tate ring whose topological closure is module-finite is itself closed. This is Bosch–Güntzer–Remmert §3.7.2/1 in its closure form, and it is the closedness prerequisite on the route to Wedhorn 6.17/6.18. Its consequence for a noetherian ring — every submodule of a finitely generated module is closed — is what makes a finite presentation of a finite module strict, which is the form in which Wedhorn's Remark 8.29 consumes Proposition 6.18(2).

The proof is one application of TauCeti.Huber.eq_top_of_dense_of_module_finite, made inside the closure N.topologicalClosure rather than inside the ambient module. That closure is closed in a complete space, so it is complete — the one instance that has to be supplied by hand; it is a uniform additive group with a countably generated uniformity by Submodule.isUniformAddGroup and Submodule.isCountablyGenerated_uniformity; and it is module-finite by hypothesis. Inside that closure the submodule N is dense, by the very definition of the closure. So N is everything in the closure, that is N.topologicalClosure = N, and N is closed because its closure is.

Main results #

References #

Provenance #

Adapted from the AINTLIB development (github.com/CBirkbeck/AINTLIB, Apache-2.0), branch dev/adic-spaces at commit 37bbdaeb9ad9, file projects/AdicSpaces/Adic spaces/WedhornBanachTheorem.lean, where the same statement is fg_topologicalClosure_isClosed. The argument is AINTLIB's, and the density step follows its proof closely. Three things differ. AINTLIB establishes the uniform-group, countable-generation, separation and ContinuousSMul instances on the closure by hand; here all four are found by instance search — the first two from Submodule.isUniformAddGroup and Submodule.isCountablyGenerated_uniformity, the last from this repository's ContinuousSMul instance on a submodule — so only completeness is supplied. The engine is this repository's TauCeti.Huber.eq_top_of_dense_of_module_finite, stated with T0Space, rather than AINTLIB's T2Space-based eq_top_of_dense_of_finite. And the passage from N' = ⊤ back to N.topologicalClosure ≤ N is Submodule.comap_subtype_eq_top rather than AINTLIB's element-level unfolding.

TauCeti.Huber.isClosed_of_isNoetherian follows the same development's _sub_lemma_L3_1b_fg_submodule_closed (same file, line 778 at the commit above), which is where the plan of discharging closedness from noetherianity is taken from. Only the plan is shared: that proof concludes closedness from completeness of the finitely generated submodule, via its _sub_lemma_L3_1a_completion_fg_complete and completeSpace_coe_iff_isComplete, whereas the proof here routes through this file's own isClosed_of_module_finite_topologicalClosure and so never mentions completeness of N. The hypotheses differ too: that statement asks for [IsNoetherianRing A] together with an explicit (hN_fg : N.FG), while [IsNoetherian A V] here covers every submodule at once and needs no finite-generation argument at the call site. Sharing only the plan is not a stylistic choice: that proof reaches completeness through _sub_lemma_L3_1a_completion_fg_complete, whose body in that development is sorry (same file, line 611), so its route is not available to import even in principle.

A submodule whose topological closure is module-finite is closed (Bosch–Güntzer–Remmert §3.7.2/1).

Working inside N.topologicalClosure, which is complete because it is closed in a complete space, the submodule N is dense and that closure is module-finite, so eq_top_of_dense_of_module_finite gives N = N.topologicalClosure.

In a noetherian module, every submodule is closed.

Every submodule of a noetherian module is finitely generated — the topological closure of N included. That closure is therefore module-finite, which is exactly what TauCeti.Huber.isClosed_of_module_finite_topologicalClosure asks of it.

The hypothesis is on the module and not on the ring, because that is all the argument uses: the noetherian-base, module-finite case is recovered from Mathlib's instance isNoetherian_of_isNoetherianRing_of_finite, so no separate statement of it is needed.

This is the closedness statement of Wedhorn, Adic Spaces, Proposition 6.17, for a module whose complete metrisable topology is given. It is not that proposition: 6.17 is about the canonical topology of 6.18(1), and the construction of that topology, together with its uniqueness, is not available here.

A finite module over a complete noetherian Tate ring has a strict finite presentation. This is the sentence Wedhorn's Remark 8.29 opens with: "we find a presentation Aⁿ →[u] Aᵐ →[p] M → 0 (because A is noetherian). Proposition 6.18(2) shows that u and p are continuous and open onto its image."

M carries its canonical topology, which is Mathlib's module topology: every complete first-countable module topology on a finite module is the module topology (TauCeti.Huber.IsTateRing.isModuleTopology), so IsModuleTopology A M is the topology Proposition 6.18(1) speaks of, and nothing else is asked of M. The presentation is Mathlib's Module.FinitePresentation.exists_fin', available because a finite module over a noetherian ring is finitely presented. Both maps are continuous by IsModuleTopology.continuous_of_linearMap, p is open by IsModuleTopology.isOpenMap_of_surjective — the module topology on M is the quotient topology along any linear surjection from Aᵐ — and u is strict by TauCeti.Huber.IsTateRing.isStrictMap_of_isClosed_range, its range being closed in Aᵐ by TauCeti.Huber.isClosed_of_isNoetherian. That closedness is the one place, beyond the existence of the presentation, where A being noetherian enters, and the open mapping theorem is spent on the free module Aᵐ, not on M.