Documentation

LeanPool.OrderClosures.BanLat.Operators.Hom

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 #

structure VecLatHom (X : Type u_1) (Y : Type u_2) [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] extends X →ₗ[ℝ] Y, LatticeHom X Y :
Type (max u_1 u_2)

A vector lattice homomorphism from X to Y: a real-linear map that also preserves ⊔ and ⊓.

Instances For
    structure IsVecLatHom {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : X → Y) extends IsLinearMap ℝ f :

    Predicate form of VecLatHom: a map is a vector lattice homomorphism if it is linear and preserves ⊔ and ⊓.

    • map_add (x y : X) : f (x + y) = f x + f y
    • map_smul (c : ℝ) (x : X) : f (c • x) = c • f x
    • map_sup' (x y : X) : f (x ⊔ y) = f x ⊔ f y
    • map_inf' (x y : X) : f (x ⊓ y) = f x ⊓ f y
    Instances For
      @[instance_reducible]

      The canonical FunLike instance, making VecLatHom X Y a type of functions X → Y.

      Equations

      Every VecLatHom satisfies the IsVecLatHom predicate.

      Construct a VecLatHom from a proof that a function satisfies IsVecLatHom.

      Equations
      Instances For

        The underlying function of a VecLatHom equals its coercion to X → Y.

        theorem VecLatHom.map_abs {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : VecLatHom X Y) (x : X) :
        f |x| = |f x|

        A vector lattice homomorphism preserves absolute values.

        Every vector lattice homomorphism is monotone.

        theorem VecLatHom.map_nonneg {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : VecLatHom X Y) {x : X} (hx : 0 ≤ x) :
        0 ≤ f x

        A vector lattice homomorphism maps nonneg elements to nonneg elements.

        theorem VecLatHom.le_of_map_le {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : VecLatHom X Y) (hf : Function.Injective ⇑f) {a b : X} (hab : f a ≤ f b) :
        a ≤ b

        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.

        theorem VecLatHom.map_posPart {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : VecLatHom X Y) (x : X) :
        f x⁺ = (f x)⁺

        A vector lattice homomorphism preserves positive parts: f x⁺ = (f x)⁺.

        theorem VecLatHom.map_negPart {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : VecLatHom X Y) (x : X) :
        f x⁻ = (f x)⁻

        A vector lattice homomorphism preserves negative parts: f x⁻ = (f x)⁻.

        theorem VecLatHom.map_disjoint {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : VecLatHom X Y) {x y : X} (h : x ⊓ y = 0) :
        f x ⊓ f y = 0

        A vector lattice homomorphism preserves disjointness: x ⊓ y = 0 → f x ⊓ f y = 0.

        The identity vector lattice homomorphism.

        Equations
        Instances For
          def VecLatHom.ofAbs {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : X →ₗ[ℝ] Y) (abs : ∀ (x : X), f |x| = |f x|) :

          Construct a VecLatHom from a linear map that preserves absolute values.

          Equations
          Instances For

            Composition of two vector lattice homomorphisms.

            Equations
            Instances For
              theorem VecLatHom.comp_apply {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] {Z : Type u_3} [AddCommGroup Z] [Lattice Z] [IsOrderedAddMonoid Z] [VectorLattice Z] (g : VecLatHom Y Z) (f : VecLatHom X Y) (x : X) :
              (g.comp f) x = g (f x)

              Evaluation of a composed VecLatHom.

              noncomputable def VecLatHom.symm {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : VecLatHom X Y) (h : Function.Bijective ⇑f) :

              The inverse of a bijective vector lattice homomorphism is again a vector lattice homomorphism.

              Equations
              Instances For
                theorem VecLatHom.symm_apply {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : VecLatHom X Y) (h : Function.Bijective ⇑f) (x : X) (y : Y) :
                (f.symm h) y = x ↔ y = f x

                The inverse bijection from symm: (f.symm h) y = x ↔ y = f x.

                theorem LLexpr.map_eval {n : ℕ} {Y : Type u_3} {Z : Type u_4} [AddCommGroup Y] [Lattice Y] [IsOrderedAddMonoid Y] [VectorLattice Y] [AddCommGroup Z] [Lattice Z] [IsOrderedAddMonoid Z] [VectorLattice Z] (T : VecLatHom Y Z) (y : Fin n → Y) (e : LLexpr n) :
                T (eval y e) = eval (fun (i : Fin n) => T (y i)) e

                A vector lattice homomorphism commutes with evaluation of lattice-linear expressions.

                def IsVecLatHom.mk' {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] (f : X → Y) (vlh : IsVecLatHom f) :

                Bundle an IsVecLatHom proof into a VecLatHom.

                Equations
                Instances For
                  @[simp]
                  theorem IsVecLatHom.mk'_apply {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] {f : X → Y} (vlh : IsVecLatHom f) (x : X) :
                  (mk' f vlh) x = f x

                  Evaluation of mk' agrees with the underlying function.

                  theorem IsVecLatHom.of_abs {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] {f : X → Y} (lin : IsLinearMap ℝ f) (abs : ∀ (x : X), f |x| = |f x|) :

                  A linear map that preserves absolute values satisfies IsVecLatHom.

                  theorem IsVecLatHom.of_disjoint {X : Type u_1} {Y : Type u_2} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] {f : X → Y} (lin : IsLinearMap ℝ f) (disj : ∀ (x y : X), x ⊓ y = 0 → f x ⊓ f y = 0) :

                  A linear map that preserves disjointness is a vector lattice homomorphism.

                  Vector lattice isomorphisms #

                  structure VecLatEquiv (X : Type u_3) (Y : Type u_4) [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] extends X ≃ₗ[ℝ] Y, LatticeHom X Y :
                  Type (max u_3 u_4)

                  A vector lattice isomorphism: a real-linear equivalence that also preserves ⊔ and ⊓.

                  Instances For
                    @[instance_reducible]

                    The canonical FunLike instance, making VecLatEquiv X Y a type of functions X → Y.

                    Equations

                    Coerce a VecLatEquiv to a VecLatHom.

                    Equations
                    Instances For

                      The identity vector lattice isomorphism.

                      Equations
                      Instances For

                        The inverse of a vector lattice isomorphism.

                        Equations
                        • e.symm = { toLinearEquiv := e.symm, map_sup' := ⋯, map_inf' := ⋯ }
                        Instances For

                          Composition of vector lattice isomorphisms.

                          Equations
                          Instances For

                            Extension from the positive cone #

                            noncomputable def Positive.extensionEquiv {X : Type u_3} {Y : Type u_4} [AddCommGroup X] [AddCommGroup Y] [Lattice X] [Lattice Y] [IsOrderedAddMonoid X] [IsOrderedAddMonoid Y] [VectorLattice X] [VectorLattice Y] [IsVLArchimedean Y] {τ : X → Y} (hτ_nn : ∀ (x : X), 0 ≤ x → 0 ≤ τ x) (hτ_add : ∀ (x y : X), 0 ≤ x → 0 ≤ y → τ (x + y) = τ x + τ y) (hτ_inj : ∀ (x y : X), 0 ≤ x → 0 ≤ y → τ x = τ y → x = y) (hτ_surj : ∀ (y : Y), 0 ≤ y → ∃ (x : X), 0 ≤ x ∧ τ x = y) :

                            An additive bijection between positive cones extends to a vector lattice isomorphism when the codomain is Archimedean.

                            Equations
                            Instances For

                              Continuous linear equivalence between Banach lattices #

                              A vector lattice isomorphism between Banach lattices extends to a continuous linear equivalence.

                              Equations
                              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.

                                Instances For
                                  @[instance_reducible]

                                  The canonical FunLike instance, making BanachLatEquiv X Y a type of functions X → Y.

                                  Equations

                                  Coerce a BanachLatEquiv to a continuous linear equivalence.

                                  Equations
                                  Instances For

                                    Coerce a BanachLatEquiv to a VecLatEquiv.

                                    Equations
                                    Instances For

                                      The inverse of a Banach lattice isometry.

                                      Equations
                                      • e.symm = { toLinearIsometryEquiv := e.symm, map_sup' := ⋯, map_inf' := ⋯ }
                                      Instances For

                                        The identity Banach lattice isometry.

                                        Equations
                                        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
                                            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.
                                              Instances For