Linear topologies on modules and rings #
Let M be a (left) module over a ring R. Following
Stacks: Definition 15.36.1, we say that a
topology on M is R-linear if it is invariant by translations and admits a basis of
neighborhoods of 0 consisting of (left) R-submodules.
If M is an (R, R')-bimodule, we show that a topology is both R-linear and R'-linear
if and only if there exists a basis of neighborhoods of 0 consisting of (R, R')-subbimodules.
In particular, we say that a topology on the ring R is linear if it is linear if
it is linear when R is viewed as an (R, Rᵐᵒᵖ)-bimodule. By the previous results,
this means that there exists a basis of neighborhoods of 0 consisting of two-sided ideals,
hence our definition agrees with [N. Bourbaki, Algebra II, chapter 4, §2, n° 3][bourbaki1981].
Main definitions and statements #
IsLinearTopology R M: the topology onMisR-linear, meaning that there exists a basis of neighborhoods of 0 consisting ofR-submodules. Note that we don't impose that the topology is invariant by translation, so you'll often want to addContinuousConstVAdd M Mto get something meaningful. To express that the topology of a ringRis linear, use[IsLinearTopology R R] [IsLinearTopology Rᵐᵒᵖ R].IsLinearTopology.mk_of_hasBasis: a convenient constructor forIsLinearTopology. See alsoIsLinearTopology.mk_of_hasBasis'.The discrete topology on
MisR-linear (declared as aninstance).IsLinearTopology.hasBasis_subbimodule: assume thatMis an(R, R')-bimodule, and that its topology is bothR-linear andR'-linear. Then there exists a basis of neighborhoods of 0 made of(R, R')-subbimodules. Note that this is not trivial, since the bases witnessingR-linearity andR'-linearity may have nothing to do with each otherIsLinearTopology.tendsto_smul_zero: assume that the topology onMis linear. Form : ι → Msuch thatm itends to 0,r i • m istill tends to 0 for anyr : ι → R.IsLinearTopology.hasBasis_twoSidedIdeal: if the ringRis linearly topologized, in the sense that we have bothIsLinearTopology R RandIsLinearTopology Rᵐᵒᵖ R, then there exists a basis of neighborhoods of 0 consisting of two-sided ideals.Conversely, to prove
IsLinearTopology R RandIsLinearTopology Rᵐᵒᵖ Rfrom a basis of two-sided ideals, useIsLinearTopology.mk_of_hasBasis'twice.IsLinearTopology.tendsto_mul_zero_of_left: assume that the topology onRis (right-)linear. Forf, g : ι → Rsuch thatf itends to0,f i * g istill tends to0.IsLinearTopology.tendsto_mul_zero_of_right: assume that the topology onRis (left-)linear. Forf, g : ι → Rsuch thatg itends to0,f i * g istill tends to0If
Ris a commutative ring and its topology is left-linear, it is automatically right-linear (declared as a low-priority instance).
Notes on the implementation #
Some statements assume
ContinuousAdd MwhereContinuousConstVAdd M M(invariance by translation) would be enough. In fact, in presence ofIsLinearTopology R M, invariance by translation implies thatMis a topological additive group on whichRacts by homeomorphisms. Similarly,IsLinearTopology R RandContinuousConstVAdd R Rimply thatRis a topological ring. All of this will follow from PR#18437.Nevertheless, we don't plan on adding those facts as instances: one should use directly results from PR#18437 to get
IsTopologicalAddGroupandIsTopologicalRinginstances.The main constructor for
IsLinearTopology,IsLinearTopology.mk_of_hasBasisis formulated in terms of the subobject classesAddSubmonoidClassandSMulMemClassto allow for more complicated types thanSubmodule R MorIdeal R. Unfortunately, the scalar ring inSMulMemClassis anoutParam, which means that Lean only considers one base ring for a given subobject type. For example, Lean will never findSMulMemClass (TwoSidedIdeal R) R Rbecause it prioritizes the (later-defined) instance ofSMulMemClass (TwoSidedIdeal R) Rᵐᵒᵖ R.This makes
IsLinearTopology.mk_of_hasBasisun-applicable toTwoSidedIdeal(and probably other types), thus we provideIsLinearTopology.mk_of_hasBasis'as an alternative not relying on typeclass inference.
Consider a (left-)module M over a ring R. A topology on M is R-linear
if the open sub-R-modules of M form a basis of neighborhoods of zero.
Typically one would also that the topology is invariant by translation (ContinuousConstVAdd M M),
or equivalently that M is a topological group, but we do not assume it for the definition.
In particular, we say that a topology on the ring R is linear if it is both
R-linear and Rᵐᵒᵖ-linear for the obvious module structures. To spell this in Lean,
simply use [IsLinearTopology R R] [IsLinearTopology Rᵐᵒᵖ R].
Instances
A variant of IsLinearTopology.mk_of_hasBasis asking for an explicit proof that S
is a class of submodules instead of relying on (fragile) typeclass inference of SMulCommClass.
To show that M is linearly-topologized as an R-module, it suffices to show
that it has a basis of neighborhoods of zero made of R-submodules.
Note: for technical reasons detailed in the module docstring, Lean sometimes struggles to find the
right SMulMemClass instance. See IsLinearTopology.mk_of_hasBasis' for a more
explicit variant.
The discrete topology on any R-module is R-linear.
Assume that M is a module over two rings R and R', and that its topology
is linear with respect to each of these rings. Then, it has a basis of neighborhoods of zero
made of sub-(R, R')-bimodules.
The proof is inspired by lemma 9 in I. Kaplansky, Topological Rings. TODO: Formalize the lemma in its full strength.
Note: due to the lack of a satisfying theory of sub-bimodules, we use AddSubgroups with
extra conditions.
A variant of IsLinearTopology.hasBasis_subbimodule using IsOpen I instead of I ∈ 𝓝 0.
If M is a linearly topologized R-module and i ↦ m i tends to zero,
then i ↦ a i • m i still tends to zero for any family a : ι → R.
If the left and right actions of R on M coincide, then a topology is Rᵐᵒᵖ-linear
if and only if it is R-linear.
If a ring R is linearly ordered as a left and right module over itself,
then it has a basis of neighborhoods of zero made of two-sided ideals.
This is usually called a linearly topologized ring, but we do not add a specific spelling:
you should use [IsLinearTopology R R] [IsLinearTopology Rᵐᵒᵖ R] instead.
If R is commutative and left-linearly topologized, it is also right-linearly topologized.