Extended norm #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
In this file we define a structure enorm π V
representing an extended norm (i.e., a norm that can
take the value β
) on a vector space V
over a normed field π
. We do not use class
for
an enorm
because the same space can have more than one extended norm. For example, the space of
measurable functions f : Ξ± β β
has a family of L_p
extended norms.
We prove some basic inequalities, then define
emetric_space
structure onV
corresponding toe : enorm π V
;- the subspace of vectors with finite norm, called
e.finite_subspace
; - a
normed_space
structure on this space.
The last definition is an instance because the type involves e
.
Implementation notes #
We do not define extended normed groups. They can be added to the chain once someone will need them.
Tags #
normed space, extended norm
- to_fun : V β ennreal
- eq_zero' : β (x : V), self.to_fun x = 0 β x = 0
- map_add_le' : β (x y : V), self.to_fun (x + y) β€ self.to_fun x + self.to_fun y
- map_smul_le' : β (c : π) (x : V), self.to_fun (c β’ x) β€ ββcββ * self.to_fun x
Extended norm on a vector space. As in the case of normed spaces, we require only
βc β’ xβ β€ βcβ * βxβ
in the definition, then prove an equality in map_smul
.
Instances for enorm
- enorm.has_sizeof_inst
- enorm.has_coe_to_fun
- enorm.partial_order
- enorm.has_top
- enorm.inhabited
- enorm.order_top
- enorm.semilattice_sup
Equations
- enorm.has_coe_to_fun = {coe := enorm.to_fun _inst_3}
The enorm
sending each non-zero vector to infinity.
Equations
- enorm.has_top = {top := {to_fun := Ξ» (x : V), ite (x = 0) 0 β€, eq_zero' := _, map_add_le' := _, map_smul_le' := _}}
Equations
- enorm.inhabited = {default := β€}
Equations
- enorm.semilattice_sup = {sup := Ξ» (eβ eβ : enorm π V), {to_fun := Ξ» (x : V), linear_order.max (βeβ x) (βeβ x), eq_zero' := _, map_add_le' := _, map_smul_le' := _}, le := has_le.le (preorder.to_has_le (enorm π V)), lt := has_lt.lt (preorder.to_has_lt (enorm π V)), le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, le_sup_left := _, le_sup_right := _, sup_le := _}
Structure of an emetric_space
defined by an extended norm.
Equations
- e.emetric_space = {to_pseudo_emetric_space := {to_has_edist := {edist := Ξ» (x y : V), βe (x - y)}, edist_self := _, edist_comm := _, edist_triangle := _, to_uniform_space := uniform_space_of_edist (Ξ» (x y : V), βe (x - y)) _ _ _, uniformity_edist := _}, eq_of_edist_eq_zero := _}
The subspace of vectors with finite enorm.
Equations
Instances for β₯enorm.finite_subspace
Metric space structure on e.finite_subspace
. We use emetric_space.to_metric_space
to ensure that this definition agrees with e.emetric_space
.
Equations
- enorm.finite_subspace.metric_space e = let _inst : emetric_space V := e.emetric_space in emetric_space.to_metric_space _
Normed group instance on e.finite_subspace
.
Equations
- enorm.finite_subspace.normed_add_comm_group e = {to_has_norm := {norm := Ξ» (x : β₯(e.finite_subspace)), (βe βx).to_real}, to_add_comm_group := {add := add_comm_group.add (submodule.add_comm_group e.finite_subspace), add_assoc := _, zero := add_comm_group.zero (submodule.add_comm_group e.finite_subspace), zero_add := _, add_zero := _, nsmul := add_comm_group.nsmul (submodule.add_comm_group e.finite_subspace), nsmul_zero' := _, nsmul_succ' := _, neg := add_comm_group.neg (submodule.add_comm_group e.finite_subspace), sub := add_comm_group.sub (submodule.add_comm_group e.finite_subspace), sub_eq_add_neg := _, zsmul := add_comm_group.zsmul (submodule.add_comm_group e.finite_subspace), zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _}, to_metric_space := {to_pseudo_metric_space := metric_space.to_pseudo_metric_space (enorm.finite_subspace.metric_space e), eq_of_dist_eq_zero := _}, dist_eq := _}
Normed space instance on e.finite_subspace
.