Module

Completion.lean

Nyll.ValuedFieldTheory.Valuation.AbsoluteValue.Completion
34 declarations indexed from sourceView source ↗

Completions of absolute-valued fields

This file supplies the canonical absolute value, completion maps, density, and complete-target universal property for real-valued absolute values. An extension is expressed directly by AbsoluteValue.Extends; no extra container is introduced. The base-to-completion algebra instance is the canonical one inherited from WithAbs; algebras between different completions remain explicit.

Declarations

AbsoluteValue.completionAbsoluteValue

The norm absolute value on the completion attached to vK.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
def completionAbsoluteValue
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ) :
    AbsoluteValue vK.Completion ℝ
AbsoluteValue.completionAbsoluteValue_coe

The extended absolute value on the completion agrees with the original value on embedded elements.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionAbsoluteValue_coe
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ) (x : K) :
    completionAbsoluteValue vK (x : vK.Completion) = vK x
AbsoluteValue.completionAbsoluteValue_uniformSpace_eq

The uniformity defined by the completion absolute value is the native completion uniformity.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionAbsoluteValue_uniformSpace_eq
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ) :
    (completionAbsoluteValue vK).uniformSpace =
      (@UniformSpace.Completion.uniformSpace (WithAbs vK) inferInstance)
AbsoluteValue.completionAbsoluteValue_complete

The field equipped with its completion absolute value is complete.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionAbsoluteValue_complete
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ) :
    CompleteSpace (WithAbs (completionAbsoluteValue vK))
AbsoluteValue.completionAbsoluteValue_isNontrivial

Nontriviality passes to the completion absolute value.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionAbsoluteValue_isNontrivial
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ)
    (hvK : vK.IsNontrivial) :
    (completionAbsoluteValue vK).IsNontrivial
AbsoluteValue.toCompletion

The canonical embedding of an absolute-valued field in its completion.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
def toCompletion
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ) :
    K →+* vK.Completion
AbsoluteValue.toCompletion_apply

The canonical map into the completion sends an element to its constant Cauchy class.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem toCompletion_apply
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ) (x : K) :
    toCompletion vK x = ((WithAbs.equiv vK).symm x : vK.Completion)
AbsoluteValue.toCompletion_eq_algebraMap

The canonical completion embedding agrees with the completion algebra map.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem toCompletion_eq_algebraMap
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ) (x : K) :
    toCompletion vK x = algebraMap K vK.Completion x
AbsoluteValue.denseRange_toCompletion

The canonical copy of a field is dense in its completion.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem denseRange_toCompletion
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ) :
    DenseRange (toCompletion vK)
AbsoluteValue.baseToExtensionCompletion
Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
def baseToExtensionCompletion
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ) :
    WithAbs vK →+* wL.Completion
AbsoluteValue.baseToExtensionCompletion_norm
Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem baseToExtensionCompletion_norm
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) (x : WithAbs vK) :
    ‖baseToExtensionCompletion vK wL x‖ = ‖x‖
AbsoluteValue.baseToExtensionCompletion_isometry
Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem baseToExtensionCompletion_isometry
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) :
    Isometry (baseToExtensionCompletion vK wL)
AbsoluteValue.completionMap

The isometric embedding between completions induced by an exact extension of absolute values.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
def completionMap
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) :
    vK.Completion →+* wL.Completion
AbsoluteValue.completionMap_withAbs_coe
Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionMap_withAbs_coe
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) (x : WithAbs vK) :
    completionMap vK wL hw (x : vK.Completion) =
      baseToExtensionCompletion vK wL x
AbsoluteValue.completionMap_coe

On the canonical copy of the base field, the map between completions is the original algebra map followed by the canonical completion map.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionMap_coe
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) (x : K) :
    completionMap vK wL hw (algebraMap K vK.Completion x) =
      toCompletion wL (algebraMap K L x)
AbsoluteValue.completionMap_isometry

The map induced between completions is an isometry.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionMap_isometry
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) :
    Isometry (completionMap vK wL hw)
AbsoluteValue.completionAlgebra

The algebra structure on the extension completion induced by the completion map. It is deliberately explicit rather than a global instance.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
def completionAlgebra
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) :
    Algebra vK.Completion wL.Completion
AbsoluteValue.completionAlgebra_algebraMap

The algebra structure on the completion uses the canonical completion embedding.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionAlgebra_algebraMap
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) (x : vK.Completion) :
    @algebraMap vK.Completion wL.Completion _ _
        (completionAlgebra vK wL hw) x = completionMap vK wL hw x
AbsoluteValue.extensionCompletionAlgebra

The algebra structure on an extension completion induced by the dense copy of the extension field. It is deliberately explicit.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
def extensionCompletionAlgebra
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (wL : AbsoluteValue L ℝ) :
    Algebra K wL.Completion
AbsoluteValue.toCompletionAlgHom

The canonical dense embedding as an algebra homomorphism.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
def toCompletionAlgHom
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (wL : AbsoluteValue L ℝ) :
    letI := extensionCompletionAlgebra (K := K) wL
    L →ₐ[K] wL.Completion := by
  letI := extensionCompletionAlgebra (K := K) wL
  exact
    { __ := toCompletion wL
      commutes' _ := rfl }
AbsoluteValue.completion_isScalarTower

The scalar tower K → K_v → L_w supplied by an exact extension.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completion_isScalarTower
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) :
    letI hK := extensionCompletionAlgebra (K := K) wL
    letI : SMul K wL.Completion := hK.toSMul
    letI := completionAlgebra vK wL hw
    IsScalarTower K vK.Completion wL.Completion := by
  let hK := extensionCompletionAlgebra (K := K) wL
  let : SMul K wL.Completion := hK.toSMul
  let := completionAlgebra vK wL hw
  exact IsScalarTower.of_algebraMap_eq fun x ↦
    (completionMap_coe vK wL hw x).symm
AbsoluteValue.completionAbsoluteValue_extends

The completion absolute value on L_w extends that on K_v.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionAbsoluteValue_extends
    {K : Type u} {L : Type v} [Field K] [Field L] [Algebra K L]
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) :
    letI := completionAlgebra vK wL hw
    Extends (completionAbsoluteValue vK) (completionAbsoluteValue wL) := by
  let := completionAlgebra vK wL hw
  intro x
  change ‖algebraMap vK.Completion wL.Completion x‖ = ‖x‖
  exact (completionMap_isometry vK wL hw).norm_map_of_map_zero
    (map_zero _) x
AbsoluteValue.completionAbsoluteValue_isNonarchimedean

Nonarchimedeanness passes to the completion absolute value.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionAbsoluteValue_isNonarchimedean
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ)
    (hvK : IsNonarchimedean (vK : K → ℝ)) :
    IsNonarchimedean
      (completionAbsoluteValue vK : vK.Completion → ℝ)
AbsoluteValue.completionAbsoluteValue_range_eq

A nonarchimedean absolute value and its completion absolute value have the same range.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
theorem completionAbsoluteValue_range_eq
    {K : Type u} [Field K] (vK : AbsoluteValue K ℝ)
    (hvK : IsNonarchimedean (vK : K → ℝ)) :
    Set.range (completionAbsoluteValue vK) = Set.range vK
AbsoluteValue.toCompleteTargetRingHom
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTarget
variable {K : Type u} {D : Type w} [Field K] [Field D]
def toCompleteTargetRingHom
    (vK : AbsoluteValue K ℝ) (vD : AbsoluteValue D ℝ)
    (i : K →+* D) :
    WithAbs vK →+* WithAbs vD
AbsoluteValue.toCompleteTargetRingHom_norm
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTarget
variable {K : Type u} {D : Type w} [Field K] [Field D]
theorem toCompleteTargetRingHom_norm
    (vK : AbsoluteValue K ℝ) (vD : AbsoluteValue D ℝ)
    (i : K →+* D) (hi : ∀ x : K, vD (i x) = vK x)
    (x : WithAbs vK) :
    ‖toCompleteTargetRingHom vK vD i x‖ = ‖x‖
AbsoluteValue.toCompleteTargetRingHom_isometry
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTarget
variable {K : Type u} {D : Type w} [Field K] [Field D]
theorem toCompleteTargetRingHom_isometry
    (vK : AbsoluteValue K ℝ) (vD : AbsoluteValue D ℝ)
    (i : K →+* D) (hi : ∀ x : K, vD (i x) = vK x) :
    Isometry (toCompleteTargetRingHom vK vD i)
AbsoluteValue.completionMapToCompleteTarget

A value-preserving embedding into a complete target extends uniquely from the field to its metric completion.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTarget
variable {K : Type u} {D : Type w} [Field K] [Field D]
def completionMapToCompleteTarget
    (vK : AbsoluteValue K ℝ) (vD : AbsoluteValue D ℝ)
    [CompleteSpace (WithAbs vD)]
    (i : K →+* D) (hi : ∀ x : K, vD (i x) = vK x) :
    vK.Completion →+* WithAbs vD
AbsoluteValue.completionMapToCompleteTarget_withAbs_coe
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTarget
variable {K : Type u} {D : Type w} [Field K] [Field D]
theorem completionMapToCompleteTarget_withAbs_coe
    (vK : AbsoluteValue K ℝ) (vD : AbsoluteValue D ℝ)
    [CompleteSpace (WithAbs vD)]
    (i : K →+* D) (hi : ∀ x : K, vD (i x) = vK x)
    (x : WithAbs vK) :
    completionMapToCompleteTarget vK vD i hi
        (x : vK.Completion) =
      toCompleteTargetRingHom vK vD i x
AbsoluteValue.completionMapToCompleteTarget_coe

The extension map to a complete target agrees with the original map on embedded source elements.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTarget
variable {K : Type u} {D : Type w} [Field K] [Field D]
theorem completionMapToCompleteTarget_coe
    (vK : AbsoluteValue K ℝ) (vD : AbsoluteValue D ℝ)
    [CompleteSpace (WithAbs vD)]
    (i : K →+* D) (hi : ∀ x : K, vD (i x) = vK x)
    (x : K) :
    completionMapToCompleteTarget vK vD i hi
        (algebraMap K vK.Completion x) =
      (WithAbs.equiv vD).symm (i x)
AbsoluteValue.completionMapToCompleteTarget_isometry

An isometric source map extends to an isometry from the completion.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTarget
variable {K : Type u} {D : Type w} [Field K] [Field D]
theorem completionMapToCompleteTarget_isometry
    (vK : AbsoluteValue K ℝ) (vD : AbsoluteValue D ℝ)
    [CompleteSpace (WithAbs vD)]
    (i : K →+* D) (hi : ∀ x : K, vD (i x) = vK x) :
    Isometry (completionMapToCompleteTarget vK vD i hi)
AbsoluteValue.completionMapToCompleteTarget_eq_of_coe_eq

A continuous map from the completion is determined by its restriction to the canonical dense copy of the source field.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTarget
variable {K : Type u} {D : Type w} [Field K] [Field D]
theorem completionMapToCompleteTarget_eq_of_coe_eq
    (vK : AbsoluteValue K ℝ) (vD : AbsoluteValue D ℝ)
    [CompleteSpace (WithAbs vD)]
    (i : K →+* D) (hi : ∀ x : K, vD (i x) = vK x)
    (g : vK.Completion →+* WithAbs vD) (hg : Continuous g)
    (hcoe : ∀ x : K,
      completionMapToCompleteTarget vK vD i hi
          (algebraMap K vK.Completion x) =
        g (algebraMap K vK.Completion x)) :
    completionMapToCompleteTarget vK vD i hi = g
AbsoluteValue.completionMapToCompleteTarget_comp_completionMap_coe

Dense-point compatibility for extending L → D and first embedding the completed base in the completion of L.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTargetTower
variable {K : Type u} {L : Type v} {D : Type w}
variable [Field K] [Field L] [Field D] [Algebra K L]
theorem completionMapToCompleteTarget_comp_completionMap_coe
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) (vD : AbsoluteValue D ℝ)
    [CompleteSpace (WithAbs vD)]
    (i : L →+* D) (hi : ∀ x : L, vD (i x) = wL x)
    (x : K) :
    completionMapToCompleteTarget wL vD i hi
        (completionMap vK wL hw (algebraMap K vK.Completion x)) =
      (WithAbs.equiv vD).symm (i (algebraMap K L x))
AbsoluteValue.completionMapToCompleteTarget_comp_completionMap_eq_of_coe_eq

Two continuous maps out of the completed base agree if they agree on the original base field after passage through the extension completion.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped Topology
namespace AbsoluteValue
universe u v w
section CompleteTargetTower
variable {K : Type u} {L : Type v} {D : Type w}
variable [Field K] [Field L] [Field D] [Algebra K L]
theorem completionMapToCompleteTarget_comp_completionMap_eq_of_coe_eq
    (vK : AbsoluteValue K ℝ) (wL : AbsoluteValue L ℝ)
    (hw : Extends vK wL) (vD : AbsoluteValue D ℝ)
    [CompleteSpace (WithAbs vD)]
    (i : L →+* D) (hi : ∀ x : L, vD (i x) = wL x)
    (g : vK.Completion →+* WithAbs vD) (hg : Continuous g)
    (hcoe : ∀ x : K,
      (WithAbs.equiv vD).symm (i (algebraMap K L x)) =
        g (algebraMap K vK.Completion x)) :
    (completionMapToCompleteTarget wL vD i hi).comp
        (completionMap vK wL hw) = g