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_spacestructure onVcorresponding toe : enorm π V;- the subspace of vectors with finite norm, called
e.finite_subspace; - a
normed_spacestructure 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.