Completion of topological rings: #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This files endows the completion of a topological ring with a ring structure.
More precisely the instance uniform_space.completion.ring
builds a ring structure
on the completion of a ring endowed with a compatible uniform structure in the sense of
uniform_add_group
. There is also a commutative version when the original ring is commutative.
Moreover, if a topological ring is an algebra over a commutative semiring, then so is its
uniform_space.completion
.
The last part of the file builds a ring structure on the biggest separated quotient of a ring.
Main declarations: #
Beyond the instances explained above (that don't have to be explicitly invoked), the main constructions deal with continuous ring morphisms.
uniform_space.completion.extension_hom
: extends a continuous ring morphism fromR
to a complete separated groupS
tocompletion R
.uniform_space.completion.map_ring_hom
: promotes a continuous ring morphism fromR
toS
into a continuous ring morphism fromcompletion R
tocompletion S
.
TODO: Generalise the results here from the concrete completion
to any abstract_completion
.
Equations
- uniform_space.completion.has_one α = {one := ↑1}
Equations
Equations
- uniform_space.completion.ring = {add := add_monoid_with_one.add add_monoid_with_one.unary, add_assoc := _, zero := add_monoid_with_one.zero add_monoid_with_one.unary, zero_add := _, add_zero := _, nsmul := add_monoid_with_one.nsmul add_monoid_with_one.unary, nsmul_zero' := _, nsmul_succ' := _, neg := add_comm_group.neg uniform_space.completion.add_comm_group, sub := add_comm_group.sub uniform_space.completion.add_comm_group, sub_eq_add_neg := _, zsmul := add_comm_group.zsmul uniform_space.completion.add_comm_group, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, int_cast := add_comm_group_with_one.int_cast._default add_monoid_with_one.nat_cast add_monoid_with_one.add uniform_space.completion.ring._proof_12 add_monoid_with_one.zero uniform_space.completion.ring._proof_13 uniform_space.completion.ring._proof_14 add_monoid_with_one.nsmul uniform_space.completion.ring._proof_15 uniform_space.completion.ring._proof_16 add_monoid_with_one.one uniform_space.completion.ring._proof_17 uniform_space.completion.ring._proof_18 add_comm_group.neg add_comm_group.sub uniform_space.completion.ring._proof_19 add_comm_group.zsmul uniform_space.completion.ring._proof_20 uniform_space.completion.ring._proof_21 uniform_space.completion.ring._proof_22 uniform_space.completion.ring._proof_23, nat_cast := add_monoid_with_one.nat_cast add_monoid_with_one.unary, one := add_monoid_with_one.one add_monoid_with_one.unary, nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _, mul := has_mul.mul (uniform_space.completion.has_mul α), mul_assoc := _, one_mul := _, mul_one := _, npow := monoid.npow._default add_monoid_with_one.one has_mul.mul uniform_space.completion.ring._proof_31 uniform_space.completion.ring._proof_32, npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _}
The map from a uniform ring to its completion, as a ring homomorphism.
Equations
- uniform_space.completion.coe_ring_hom = {to_fun := coe coe_to_lift, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}
The completion extension as a ring morphism.
Equations
- uniform_space.completion.extension_hom f hf = have hf' : continuous ⇑↑f, from hf, have hf : uniform_continuous ⇑f, from _, {to_fun := uniform_space.completion.extension ⇑f, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}
The completion map as a ring morphism.
Equations
- uniform_space.completion.algebra A R = {to_has_smul := uniform_space.completion.has_smul R A smul_zero_class.to_has_smul, to_ring_hom := {to_fun := (uniform_space.completion.coe_ring_hom.comp (algebra_map R A)).to_fun, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}, commutes' := _, smul_def' := _}
Equations
- uniform_space.completion.comm_ring R = {add := ring.add uniform_space.completion.ring, add_assoc := _, zero := ring.zero uniform_space.completion.ring, zero_add := _, add_zero := _, nsmul := ring.nsmul uniform_space.completion.ring, nsmul_zero' := _, nsmul_succ' := _, neg := ring.neg uniform_space.completion.ring, sub := ring.sub uniform_space.completion.ring, sub_eq_add_neg := _, zsmul := ring.zsmul uniform_space.completion.ring, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, int_cast := ring.int_cast uniform_space.completion.ring, nat_cast := ring.nat_cast uniform_space.completion.ring, one := ring.one uniform_space.completion.ring, nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _, mul := ring.mul uniform_space.completion.ring, mul_assoc := _, one_mul := _, mul_one := _, npow := ring.npow uniform_space.completion.ring, npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _, mul_comm := _}
A shortcut instance for the common case
Equations
Given a topological ring α
equipped with a uniform structure that makes subtraction uniformly
continuous, get an equivalence between the separated quotient of α
and the quotient ring
corresponding to the closure of zero.
Equations
Equations
- uniform_space.comm_ring = uniform_space.comm_ring._proof_1.mpr (ideal.quotient.comm_ring ⊥.closure)
The dense inducing extension as a ring homomorphism.