Embeddings of number fields #
This file defines the main approach to the completion of a number field with respect to an infinite place.
Main definitions #
NumberField.InfinitePlace.completion
is the Archimedean completion of a number field as an infinite place, obtained by defining a uniform space structure inherited from ℂ via the embedding associated to an infinite place.
Main results #
NumberField.InfinitePlace.Completion.locallyCompactSpace
: the Archimedean completion of a number field is locally compact.
Implementation notes #
- We have identified two approaches for formalising the completion of a number field
K
at an infinite placev
. One is to define an appropriate uniform structure onK
directly, and apply theUniformSpace.Completion
functor to this. To show that the resultant completion is a field requires one to prove thatK
has acompletableTopField
instance with this uniform space. This approach is taken in this file, namely we pullback the uniform structure onℂ
via the embedding associated to an infinite place, throughUniformSpace.comap
. In such a scenario, the completable topological field instance fromℂ
transfers toK
, which we show in Topology/UniformSpace/UniformEmbedding.lean - The alternative approach is to use the embedding associated to an infinite place to embed
K
to aSubfield ℂ
term, which already has aCompletableTopField
instance. We completeK
indirectly by applying theUniformSpace.Completion
functor to theSubfield ℂ
term. This is the approach taken in EmbeddingsAlt.lean. It leads to an isomorphic field completion to the direct approach, since both define abstract completions. However, the API for the alternative approach is deficient, because we lose anyUniformSpace.Completion
constructions which transfer properties of the base fieldK
to its completion; for example,UniformSpace.Completion.extension
which extends a uniform continuous map onK
to one on its completion. These would have to be re-established.
Tags #
number field, embeddings, places, infinite places
instance
NumberField.InfinitePlace.instInhabitedInfinitePlace
(K : Type u_1)
[Field K]
[NumberField K]
:
Equations
- NumberField.InfinitePlace.instInhabitedInfinitePlace K = { default := Classical.choice ⋯ }
def
NumberField.InfinitePlace.normedDivisionRing
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
Instances For
instance
NumberField.InfinitePlace.uniformSpace
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- NumberField.InfinitePlace.uniformSpace v = UniformSpace.comap (⇑(NumberField.InfinitePlace.embedding v)) inferInstance
instance
NumberField.InfinitePlace.uniformAddGroup
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- ⋯ = ⋯
instance
NumberField.InfinitePlace.topologicalSpace
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- NumberField.InfinitePlace.topologicalSpace v = UniformSpace.toTopologicalSpace
instance
NumberField.InfinitePlace.topologicalDivisionRing
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- ⋯ = ⋯
instance
NumberField.InfinitePlace.topologicalRing
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- ⋯ = ⋯
theorem
NumberField.InfinitePlace.uniformEmbedding
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
theorem
NumberField.InfinitePlace.uniformInducing
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
instance
NumberField.InfinitePlace.pseudoMetricSpace
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
theorem
NumberField.InfinitePlace.isometry
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
theorem
NumberField.InfinitePlace.uniformContinuous
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
theorem
NumberField.InfinitePlace.continuous
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
instance
NumberField.InfinitePlace.t0Space
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
T0Space K
Equations
- ⋯ = ⋯
instance
NumberField.InfinitePlace.completableTopField
{K : Type u_1}
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- ⋯ = ⋯
def
NumberField.InfinitePlace.completion
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
Type u_1
The completion of a number field at an infinite place.
Equations
Instances For
instance
NumberField.InfinitePlace.Completion.instUniformSpaceCompletion
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
instance
NumberField.InfinitePlace.Completion.instCompleteSpaceCompletionInstUniformSpaceCompletion
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- ⋯ = ⋯
instance
NumberField.InfinitePlace.Completion.instFieldCompletion
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- NumberField.InfinitePlace.Completion.instFieldCompletion K v = UniformSpace.Completion.instField
instance
NumberField.InfinitePlace.Completion.instInhabitedCompletion
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- NumberField.InfinitePlace.Completion.instInhabitedCompletion K v = { default := 0 }
instance
NumberField.InfinitePlace.Completion.instTopologicalRingCompletionToTopologicalSpaceInstUniformSpaceCompletionToNonUnitalNonAssocRingToNonUnitalNonAssocCommRingToNonUnitalCommRingToCommRingToEuclideanDomainInstFieldCompletion
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- ⋯ = ⋯
instance
NumberField.InfinitePlace.Completion.instDistCompletion
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- NumberField.InfinitePlace.Completion.instDistCompletion K v = UniformSpace.Completion.instDistCompletionToUniformSpace
instance
NumberField.InfinitePlace.Completion.instT0SpaceCompletionToTopologicalSpaceInstUniformSpaceCompletion
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- ⋯ = ⋯
instance
NumberField.InfinitePlace.Completion.metricSpace
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- NumberField.InfinitePlace.Completion.metricSpace K v = UniformSpace.Completion.instMetricSpace
def
NumberField.InfinitePlace.Completion.coeRingHom
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
Equations
- NumberField.InfinitePlace.Completion.coeRingHom K v = UniformSpace.Completion.coeRingHom
Instances For
def
NumberField.InfinitePlace.Completion.extensionEmbedding
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
The embedding associated to an infinite place extended to v.completion K →+* ℂ
.
Equations
Instances For
theorem
NumberField.InfinitePlace.Completion.extensionEmbedding_dist_eq
{K : Type u_1}
[Field K]
{v : NumberField.InfinitePlace K}
(x : NumberField.InfinitePlace.completion K v)
(y : NumberField.InfinitePlace.completion K v)
:
The embedding v.completion K → ℂ
is an isometry.
theorem
NumberField.InfinitePlace.Completion.extensionEmbedding_isometry
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
The embedding v.completion K → ℂ
is an isometry.
theorem
NumberField.InfinitePlace.Completion.extensionEmbedding_uniformInducing
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
The embedding v.completion K → ℂ
is uniform inducing.
theorem
NumberField.InfinitePlace.Completion.closedEmbedding
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
The embedding v.completion K → ℂ
is a closed embedding.
instance
NumberField.InfinitePlace.Completion.locallyCompactSpace
(K : Type u_1)
[Field K]
(v : NumberField.InfinitePlace K)
:
The completion of a number field at an infinite place is locally compact.
Equations
- ⋯ = ⋯