Completion of topological fields #
The goal of this file is to prove the main part of Proposition 7 of Bourbaki GT III 6.8 :
The completion hat K
of a Hausdorff topological field is a field if the image under
the mapping x ↦ x⁻¹
of every Cauchy filter (with respect to the additive uniform structure)
which does not have a cluster point at 0
is a Cauchy filter
(with respect to the additive uniform structure).
Bourbaki does not give any detail here, he refers to the general discussion of extending functions defined on a dense subset with values in a complete Hausdorff space. In particular the subtlety about clustering at zero is totally left to readers.
Note that the separated completion of a non-separated topological field is the zero ring, hence the separation assumption is needed. Indeed the kernel of the completion map is the closure of zero which is an ideal. Hence it's either zero (and the field is separated) or the full field, which implies one is sent to zero and the completion ring is trivial.
The main definition is completable_top_field
which packages the assumptions as a Prop-valued
type class and the main results are the instances field_completion
and
topological_division_ring_completion
.
- to_separated_space : separated_space K
- nice : ∀ (F : filter K), cauchy F → 𝓝 0 ⊓ F = ⊥ → cauchy (filter.map (λ (x : K), x⁻¹) F)
A topological field is completable if it is separated and the image under the mapping x ↦ x⁻¹ of every Cauchy filter (with respect to the additive uniform structure) which does not have a cluster point at 0 is a Cauchy filter (with respect to the additive uniform structure). This ensures the completion is a field.
Instances
extension of inversion to the completion of a field.
Equations
- completion.has_inv = {inv := λ (x : uniform_space.completion K), ite (x = 0) 0 (hat_inv x)}
Equations
- field_completion = {add := comm_ring.add (uniform_space.completion.comm_ring K), add_assoc := _, zero := comm_ring.zero (uniform_space.completion.comm_ring K), zero_add := _, add_zero := _, nsmul := comm_ring.nsmul (uniform_space.completion.comm_ring K), nsmul_zero' := _, nsmul_succ' := _, neg := comm_ring.neg (uniform_space.completion.comm_ring K), sub := comm_ring.sub (uniform_space.completion.comm_ring K), sub_eq_add_neg := _, zsmul := comm_ring.zsmul (uniform_space.completion.comm_ring K), zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, mul := comm_ring.mul (uniform_space.completion.comm_ring K), mul_assoc := _, one := comm_ring.one (uniform_space.completion.comm_ring K), one_mul := _, mul_one := _, npow := comm_ring.npow (uniform_space.completion.comm_ring K), npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _, mul_comm := _, inv := has_inv.inv completion.has_inv, div := div_inv_monoid.div._default comm_ring.mul field_completion._proof_21 comm_ring.one field_completion._proof_22 field_completion._proof_23 comm_ring.npow field_completion._proof_24 field_completion._proof_25 has_inv.inv, div_eq_mul_inv := _, zpow := div_inv_monoid.zpow._default comm_ring.mul field_completion._proof_27 comm_ring.one field_completion._proof_28 field_completion._proof_29 comm_ring.npow field_completion._proof_30 field_completion._proof_31 has_inv.inv, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, exists_pair_ne := _, mul_inv_cancel := _, inv_zero := _}