Morphisms of vector lattices #
This file defines VecLatHom, the type of vector lattice homomorphisms — maps that are
simultaneously real-linear and lattice homomorphisms — together with the
proposition-valued predicate IsVecLatHom characterising such maps. Key results include
the characterisation of vector lattice homomorphisms by their behaviour on absolute
values (VecLatHom.ofAbs) and the fact that every vector lattice homomorphism is monotone.
The second section develops VecLatEquiv, the type of vector lattice isomorphisms. It
packages Positive.extensionEquiv, which extends an additive bijection between positive
cones to a vector lattice isomorphism, and toContinuousLinearEquiv, which turns a
vector lattice isomorphism between Banach lattices into a continuous linear equivalence.
The final section introduces BanachLatEquiv, the type of Banach lattice isometries:
real linear isometric equivalences that also preserve ⊔ and ⊓.
Vector lattice homomorphisms #
A vector lattice homomorphism from X to Y: a real-linear map that also preserves
⊔ and ⊓.
- toFun : X → Y
Instances For
Predicate form of VecLatHom: a map is a vector lattice homomorphism if it is linear
and preserves ⊔ and ⊓.
Instances For
The canonical FunLike instance, making VecLatHom X Y a type of functions X → Y.
Every VecLatHom satisfies the IsVecLatHom predicate.
Construct a VecLatHom from a proof that a function satisfies IsVecLatHom.
Equations
- VecLatHom.ofIsVecLatHom f h = { toFun := f, map_add' := ⋯, map_smul' := ⋯, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
VecLatHom X Y is a LatticeHomClass.
VecLatHom X Y is a LinearMapClass.
The underlying function of a VecLatHom equals its coercion to X → Y.
A vector lattice homomorphism preserves absolute values.
Every vector lattice homomorphism is monotone.
A vector lattice homomorphism maps nonneg elements to nonneg elements.
An injective vector lattice homomorphism reflects the order: if f a ≤ f b then
a ≤ b. Together with monotone, an injective vector lattice homomorphism is an order
embedding.
A vector lattice homomorphism preserves positive parts: f x⁺ = (f x)⁺.
A vector lattice homomorphism preserves negative parts: f x⁻ = (f x)⁻.
A vector lattice homomorphism preserves disjointness: x ⊓ y = 0 → f x ⊓ f y = 0.
The identity vector lattice homomorphism.
Equations
- VecLatHom.id = { toLinearMap := LinearMap.id, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
Construct a VecLatHom from a linear map that preserves absolute values.
Equations
- VecLatHom.ofAbs f abs = { toLinearMap := f, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
Composition of two vector lattice homomorphisms.
Equations
- g.comp f = { toLinearMap := g.toLinearMap ∘ₗ f.toLinearMap, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
Evaluation of a composed VecLatHom.
The inverse of a bijective vector lattice homomorphism is again a vector lattice homomorphism.
Equations
- f.symm h = { toLinearMap := ↑(LinearEquiv.ofBijective f.toLinearMap h).symm, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
The inverse bijection from symm: (f.symm h) y = x ↔ y = f x.
A vector lattice homomorphism commutes with evaluation of lattice-linear expressions.
Bundle an IsVecLatHom proof into a VecLatHom.
Equations
- IsVecLatHom.mk' f vlh = VecLatHom.ofIsVecLatHom f vlh
Instances For
Evaluation of mk' agrees with the underlying function.
A linear map that preserves absolute values satisfies IsVecLatHom.
A linear map that preserves disjointness is a vector lattice homomorphism.
Vector lattice isomorphisms #
A vector lattice isomorphism: a real-linear equivalence that also preserves ⊔ and ⊓.
- toFun : X → Y
- map_add' (x y : X) : (↑self.toLinearEquiv).toFun (x + y) = (↑self.toLinearEquiv).toFun x + (↑self.toLinearEquiv).toFun y
- map_smul' (m : ℝ) (x : X) : (↑self.toLinearEquiv).toFun (m • x) = (RingHom.id ℝ) m • (↑self.toLinearEquiv).toFun x
- invFun : Y → X
- left_inv : Function.LeftInverse self.invFun (↑self.toLinearEquiv).toFun
- right_inv : Function.RightInverse self.invFun (↑self.toLinearEquiv).toFun
- map_sup' (a b : X) : (↑self.toLinearEquiv).toFun (a ⊔ b) = (↑self.toLinearEquiv).toFun a ⊔ (↑self.toLinearEquiv).toFun b
- map_inf' (a b : X) : (↑self.toLinearEquiv).toFun (a ⊓ b) = (↑self.toLinearEquiv).toFun a ⊓ (↑self.toLinearEquiv).toFun b
Instances For
The canonical FunLike instance, making VecLatEquiv X Y a type of functions X → Y.
Equations
- VecLatEquiv.instFunLike = { coe := fun (e : VecLatEquiv X Y) => (↑e.toLinearEquiv).toFun, coe_injective := ⋯ }
Coerce a VecLatEquiv to a VecLatHom.
Equations
- e.toVecLatHom = { toLinearMap := ↑e.toLinearEquiv, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
The identity vector lattice isomorphism.
Equations
- VecLatEquiv.refl = { toLinearEquiv := LinearEquiv.refl ℝ X, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
The inverse of a vector lattice isomorphism.
Instances For
Composition of vector lattice isomorphisms.
Equations
- e₁.trans e₂ = { toLinearEquiv := e₁.toLinearEquiv ≪≫ₗ e₂.toLinearEquiv, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
Extension from the positive cone #
An additive bijection between positive cones extends to a vector lattice isomorphism when the codomain is Archimedean.
Equations
- Positive.extensionEquiv hτ_nn hτ_add hτ_inj hτ_surj = { toLinearEquiv := LinearEquiv.ofBijective (Positive.extension hτ_nn hτ_add) ⋯, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
Continuous linear equivalence between Banach lattices #
A vector lattice isomorphism between Banach lattices extends to a continuous linear equivalence.
Equations
- e.toContinuousLinearEquiv = { toLinearEquiv := e.toLinearEquiv, continuous_toFun := ⋯, continuous_invFun := ⋯ }
Instances For
Banach lattice isometries #
A Banach lattice isometry between two Banach lattices: a real linear
isometric equivalence that also preserves the lattice operations ⊔ and ⊓.
Such a map is automatically an order isomorphism.
- toFun : X → Y
- map_add' (x y : X) : (↑self.toLinearEquiv).toFun (x + y) = (↑self.toLinearEquiv).toFun x + (↑self.toLinearEquiv).toFun y
- map_smul' (m : ℝ) (x : X) : (↑self.toLinearEquiv).toFun (m • x) = (RingHom.id ℝ) m • (↑self.toLinearEquiv).toFun x
- invFun : Y → X
- left_inv : Function.LeftInverse self.invFun (↑self.toLinearEquiv).toFun
- right_inv : Function.RightInverse self.invFun (↑self.toLinearEquiv).toFun
- map_sup' (a b : X) : (↑self.toLinearEquiv).toFun (a ⊔ b) = (↑self.toLinearEquiv).toFun a ⊔ (↑self.toLinearEquiv).toFun b
- map_inf' (a b : X) : (↑self.toLinearEquiv).toFun (a ⊓ b) = (↑self.toLinearEquiv).toFun a ⊓ (↑self.toLinearEquiv).toFun b
Instances For
The canonical FunLike instance, making BanachLatEquiv X Y a type of
functions X → Y.
Equations
- BanachLatEquiv.instFunLike = { coe := fun (e : BanachLatEquiv X Y) => (↑e.toLinearEquiv).toFun, coe_injective := ⋯ }
Coerce a BanachLatEquiv to a continuous linear equivalence.
Equations
Instances For
Coerce a BanachLatEquiv to a VecLatEquiv.
Equations
- e.toVecLatEquiv = { toLinearEquiv := e.toLinearEquiv, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
The inverse of a Banach lattice isometry.
Instances For
The identity Banach lattice isometry.
Equations
- BanachLatEquiv.refl X = { toLinearIsometryEquiv := LinearIsometryEquiv.refl ℝ X, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
The composition of two Banach lattice isometries.
Equations
Instances For
Inclusion into the completion #
The canonical inclusion of a normed vector lattice into its completion, as a vector lattice homomorphism.
Equations
- toCompletionVecLatHom = { toFun := UniformSpace.Completion.coe', map_add' := ⋯, map_smul' := ⋯, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
The canonical inclusion of a normed vector lattice into its completion is an isometry;
together with toCompletionVecLatHom this exhibits the inclusion as a lattice isometry.
A norm-preserving vector lattice homomorphism T : X → Y with dense range into a Banach
lattice Y extends to a Banach lattice isometry from the completion of X onto Y.
Equations
- One or more equations did not get rendered due to their size.