Adic topology #
Given a commutative ring R and an ideal I in R, this file constructs the unique
topology on R which is compatible with the ring structure and such that a set is a neighborhood
of zero if and only if it contains a power of I. This topology is non-archimedean: every
neighborhood of zero contains an open subgroup, namely a power of I.
It also studies the predicate is_adic which states that a given topological ring structure is
adic, proving a characterization and showing that raising an ideal to a positive power does not
change the associated topology.
Finally, it defines with_ideal, a class registering an ideal in a ring and providing the
corresponding adic topology to the type class inference system.
Main definitions and results #
ideal.adic_basis: the basis of submodules given by powers of an ideal.ideal.adic_topology: the adic topology associated to an ideal. It has the above basis for neighborhoods of zero.ideal.nonarchimedean: the adic topology is non-archimedeanis_ideal_adic_iff: A topological ring isJ-adic if and only if it admits the powers ofJas a basis of open neighborhoods of zero.with_ideal: a class registering an ideal in a ring.
Implementation notes #
The I-adic topology on a ring R has a contrived definition using I^n • ⊤ instead of I
to make sure it is definitionally equal to the I-topology on R seen as a R-module.
The adic ring filter basis associated to an ideal I is made of powers of I.
Equations
The adic topology associated to an ideal I. This topology admits powers of I as a basis of
neighborhoods of zero. It is compatible with the ring structure and is non-archimedean.
Equations
- I.adic_topology = _.topology
The topology on a R-module M associated to an ideal M. Submodules $I^n M$,
written I^n • ⊤ form a basis of neighborhoods of zero.
Equations
The elements of the basis of neighborhoods of zero for the I-adic topology
on a R-module M, seen as open additive subgroups of M.
Equations
- I.open_add_subgroup n = {to_add_subgroup := {carrier := (submodule.to_add_subgroup (I ^ n)).carrier, add_mem' := _, zero_mem' := _, neg_mem' := _}, is_open' := _}
Given a topology on a ring R and an ideal J, is_adic J means the topology is the
J-adic one.
Equations
- is_adic J = (H = J.adic_topology)
A topological ring is J-adic if and only if it admits the powers of J as a basis of
open neighborhoods of zero.
- I : ideal R
The ring R is equipped with a preferred ideal.
Instances for with_ideal
- with_ideal.has_sizeof_inst
Equations
Equations
The adic topology on a R module coming from the ideal with_ideal.I.
This cannot be an instance because R cannot be inferred from M.