Documentation

Tdaf.Analysis.Convex.Lattice

The complete lattice of convex functions #

The convex functions on E, pointwise ordered, form a complete lattice. The least upper bound of a family is the pointwise supremum, since a pointwise supremum of convex functions is convex. The greatest lower bound is not the pointwise infimum, which need not be convex; it is the convex hull conv {f i}, the greatest convex minorant of the family. ConvexFns.exists_coe_inf_lt_inf makes the difference concrete on ℝ: the indicators of {0} and {1} have pointwise minimum ⊤ at 1/2, while their meet, the indicator of [0, 1], is 0 there. So the coercion to E → EReal is an sSupHom but cannot be an sInfHom.

Main definitions #

Main results #

Implementation notes #

ConvexFns E is a reducible abbreviation for the subtype gci_val_convHullFn is stated about, so that coreflection lifts to a CompleteLattice directly and the order is definitionally the pointwise one.

References #

The type of convex functions #

@[reducible, inline]

The convex functions on E, bundled as a type carrying the pointwise order.

Equations
Instances For
    @[instance_reducible]

    The convex functions on E, pointwise ordered, form a complete lattice. The instance is the coreflection gci_val_convHullFn transported by GaloisCoinsertion.liftCompleteLattice, so every field is the corresponding operation on E → EReal followed by convHullFn; the lemmas below evaluate that hull.

    Equations

    The coercion ConvexFns E → (E → EReal) is an order embedding: f ≤ g in the lattice of convex functions means exactly f x ≤ g x for every x.

    Equations
    Instances For
      @[simp]

      A convex function is a member of the lattice, and only convex functions are.

      Suprema: the join is pointwise #

      @[simp]

      The least upper bound is the pointwise supremum (Rockafellar's "sup {f i}").

      theorem Tdaf.ConvexAnalysis.ConvexFns.coe_iSup {E : Type u_1} [AddCommGroup E] [Module ℝ E] {ι : Sort u_2} (f : ι → ConvexFns E) :
      ↑(⨆ (i : ι), f i) = ⨆ (i : ι), ↑(f i)
      @[simp]
      theorem Tdaf.ConvexAnalysis.ConvexFns.coe_iSup_apply {E : Type u_1} [AddCommGroup E] [Module ℝ E] {ι : Sort u_2} (f : ι → ConvexFns E) (x : E) :
      ↑(⨆ (i : ι), f i) x = ⨆ (i : ι), ↑(f i) x
      theorem Tdaf.ConvexAnalysis.ConvexFns.coe_sSup_apply {E : Type u_1} [AddCommGroup E] [Module ℝ E] (s : Set (ConvexFns E)) (x : E) :
      ↑(sSup s) x = ⨆ f ∈ s, ↑f x
      @[simp]
      theorem Tdaf.ConvexAnalysis.ConvexFns.coe_sup {E : Type u_1} [AddCommGroup E] [Module ℝ E] (f g : ConvexFns E) :
      ↑(f ⊔ g) = ↑f ⊔ ↑g

      The binary case: the join of two convex functions is their pointwise maximum.

      The coercion to E → EReal as an sSupHom: it preserves arbitrary suprema. There is no companion sInfHom — see ConvexFns.not_coe_inf_eq_inf.

      Equations
      Instances For

        Infima: the meet is a convex hull #

        The greatest lower bound is a convex hull, conv of the pointwise infimum.

        @[simp]
        theorem Tdaf.ConvexAnalysis.ConvexFns.coe_iInf {E : Type u_1} [AddCommGroup E] [Module ℝ E] {ι : Sort u_2} (f : ι → ConvexFns E) :
        ↑(⨅ (i : ι), f i) = convFn fun (i : ι) => ↑(f i)

        Rockafellar's conv {f i | i ∈ I}. The greatest lower bound of a family of convex functions is their convex hull convFn, not their pointwise infimum, which is generally not convex.

        @[simp]
        theorem Tdaf.ConvexAnalysis.ConvexFns.coe_inf {E : Type u_1} [AddCommGroup E] [Module ℝ E] (f g : ConvexFns E) :
        ↑(f ⊓ g) = convFn₂ ↑f ↑g

        The binary case: the meet of two convex functions is their binary convex hull convFn₂.

        theorem Tdaf.ConvexAnalysis.ConvexFns.coe_inf_le_inf {E : Type u_1} [AddCommGroup E] [Module ℝ E] (f g : ConvexFns E) :
        ↑(f ⊓ g) ≤ ↑f ⊓ ↑g

        The meet lies below the pointwise infimum, and generally strictly: ConvexFns.exists_coe_inf_lt_inf.

        The extreme elements #

        @[simp]

        The greatest convex function is the constant ⊤.

        @[simp]

        The least convex function is the constant ⊥.

        The meet is not the pointwise infimum #

        theorem Tdaf.ConvexAnalysis.ConvexFns.exists_coe_inf_lt_inf :
        ∃ (f : ConvexFns ℝ) (g : ConvexFns ℝ) (x : ℝ), ↑(f ⊓ g) x < (↑f ⊓ ↑g) x

        The meet of ConvexFns is strictly below the pointwise infimum, in general.

        theorem Tdaf.ConvexAnalysis.ConvexFns.not_coe_inf_eq_inf :
        ¬∀ (f g : ConvexFns ℝ), ↑(f ⊓ g) = ↑f ⊓ ↑g

        The coercion ConvexFns E → (E → EReal) is not an sInfHom, not even a lattice homomorphism: it does not commute with binary meets. Contrast ConvexFns.coeSSupHom.