Completion of normed group homs #
Given two (semi) normed groups G and H and a normed group hom f : NormedAddGroupHom G H,
we build and study a normed group hom
f.completion : NormedAddGroupHom (completion G) (completion H) such that the diagram
f
G -----------> H
| |
| |
| |
V V
completion G -----------> completion H
f.completion
commutes. The map itself comes from the general theory of completion of uniform spaces, but here we want a normed group hom, study its operator norm and kernel.
The vertical maps in the above diagrams are also normed group homs constructed in this file.
Main definitions and results: #
NormedAddGroupHom.completion: see the discussion above.NormedAddCommGroup.toCompl : NormedAddGroupHom G (completion G): the canonical map fromGto its completion, as a normed group homNormedAddGroupHom.completion_toCompl: the above diagram indeed commutes.NormedAddGroupHom.norm_completion:βf.completionβ = βfβNormedAddGroupHom.ker_le_ker_completion: the kernel off.completioncontains the image of the kernel off.NormedAddGroupHom.ker_completion: the kernel off.completionis the closure of the image of the kernel offunder an assumption thatfis quantitatively surjective onto its image.NormedAddGroupHom.extension: ifHis complete, the extension off : NormedAddGroupHom G Hto aNormedAddGroupHom (completion G) H.
noncomputable def
NormedAddGroupHom.completion
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
:
The normed group hom induced between completions.
Instances For
theorem
NormedAddGroupHom.completion_def
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
(x : UniformSpace.Completion G)
:
f.completion x = UniformSpace.Completion.map (βf) x
@[simp]
theorem
NormedAddGroupHom.completion_coe_to_fun
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
:
βf.completion = UniformSpace.Completion.map βf
theorem
NormedAddGroupHom.completion_coe
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
(g : G)
:
f.completion βg = β(f g)
@[simp]
theorem
NormedAddGroupHom.completion_coe'
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
(g : G)
:
UniformSpace.Completion.map βf βg = β(f g)
noncomputable def
normedAddGroupHomCompletionHom
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
:
Completion of normed group homs as a normed group hom.
Instances For
@[simp]
theorem
normedAddGroupHomCompletionHom_apply
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
:
@[simp]
theorem
NormedAddGroupHom.completion_id
{G : Type u_1}
[SeminormedAddCommGroup G]
:
(id G).completion = id (UniformSpace.Completion G)
theorem
NormedAddGroupHom.completion_comp
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
{K : Type u_3}
[SeminormedAddCommGroup K]
(f : NormedAddGroupHom G H)
(g : NormedAddGroupHom H K)
:
g.completion.comp f.completion = (g.comp f).completion
theorem
NormedAddGroupHom.completion_neg
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
:
(-f).completion = -f.completion
theorem
NormedAddGroupHom.completion_add
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f g : NormedAddGroupHom G H)
:
(f + g).completion = f.completion + g.completion
theorem
NormedAddGroupHom.completion_sub
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f g : NormedAddGroupHom G H)
:
(f - g).completion = f.completion - g.completion
@[simp]
theorem
NormedAddGroupHom.zero_completion
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
:
completion 0 = 0
The map from a normed group to its completion, as a normed group hom.
Instances For
@[simp]
theorem
NormedAddCommGroup.toCompl_apply
{G : Type u_1}
[SeminormedAddCommGroup G]
(aβ : G)
:
toCompl aβ = βaβ
@[simp]
theorem
NormedAddGroupHom.completion_toCompl
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
:
@[simp]
theorem
NormedAddGroupHom.norm_completion
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
:
βf.completionβ = βfβ
theorem
NormedAddGroupHom.ker_le_ker_completion
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
(f : NormedAddGroupHom G H)
:
theorem
NormedAddGroupHom.ker_completion
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
{f : NormedAddGroupHom G H}
{C : β}
(h : f.SurjectiveOnWith f.range C)
:
βf.completion.ker = closure β(NormedAddCommGroup.toCompl.comp (incl f.ker)).range
noncomputable def
NormedAddGroupHom.extension
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
[T0Space H]
[CompleteSpace H]
(f : NormedAddGroupHom G H)
:
If H is complete, the extension of f : NormedAddGroupHom G H to a
NormedAddGroupHom (completion G) H.
Instances For
theorem
NormedAddGroupHom.extension_def
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
[T0Space H]
[CompleteSpace H]
(f : NormedAddGroupHom G H)
(v : G)
:
f.extension βv = UniformSpace.Completion.extension βf βv
@[simp]
theorem
NormedAddGroupHom.extension_coe
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
[T0Space H]
[CompleteSpace H]
(f : NormedAddGroupHom G H)
(v : G)
:
f.extension βv = f v
theorem
NormedAddGroupHom.extension_coe_to_fun
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
[T0Space H]
[CompleteSpace H]
(f : NormedAddGroupHom G H)
:
βf.extension = UniformSpace.Completion.extension βf
theorem
NormedAddGroupHom.extension_unique
{G : Type u_1}
[SeminormedAddCommGroup G]
{H : Type u_2}
[SeminormedAddCommGroup H]
[T0Space H]
[CompleteSpace H]
(f : NormedAddGroupHom G H)
{g : NormedAddGroupHom (UniformSpace.Completion G) H}
(hg : β (v : G), f v = g βv)
:
f.extension = g