Documentation

Mathlib.Analysis.Convex.Function

Convex and concave functions #

This file defines convex and concave functions in vector spaces and proves the finite Jensen inequality. The integral version can be found in Analysis.Convex.Integral.

A function f : E β†’ Ξ² is ConvexOn a set s if s is itself a convex set, and for any two points x y ∈ s, the segment joining (x, f x) to (y, f y) is above the graph of f. Equivalently, ConvexOn π•œ f s means that the epigraph {p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 ≀ p.2} is a convex set.

Main declarations #

def ConvexOn (π•œ : Type u_1) {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] (s : Set E) (f : E β†’ Ξ²) :

Convexity of functions

Equations
def ConcaveOn (π•œ : Type u_1) {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] (s : Set E) (f : E β†’ Ξ²) :

Concavity of functions

Equations
def StrictConvexOn (π•œ : Type u_1) {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] (s : Set E) (f : E β†’ Ξ²) :

Strict convexity of functions

Equations
def StrictConcaveOn (π•œ : Type u_1) {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] (s : Set E) (f : E β†’ Ξ²) :

Strict concavity of functions

Equations
theorem ConvexOn.dual {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) :
ConcaveOn π•œ s (⇑OrderDual.toDual ∘ f)
theorem ConcaveOn.dual {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) :
ConvexOn π•œ s (⇑OrderDual.toDual ∘ f)
theorem StrictConvexOn.dual {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) :
StrictConcaveOn π•œ s (⇑OrderDual.toDual ∘ f)
theorem StrictConcaveOn.dual {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) :
StrictConvexOn π•œ s (⇑OrderDual.toDual ∘ f)
theorem convexOn_id {π•œ : Type u_1} {Ξ² : Type u_5} [OrderedSemiring π•œ] [OrderedAddCommMonoid Ξ²] [SMul π•œ Ξ²] {s : Set Ξ²} (hs : Convex π•œ s) :
ConvexOn π•œ s id
theorem concaveOn_id {π•œ : Type u_1} {Ξ² : Type u_5} [OrderedSemiring π•œ] [OrderedAddCommMonoid Ξ²] [SMul π•œ Ξ²] {s : Set Ξ²} (hs : Convex π•œ s) :
ConcaveOn π•œ s id
theorem ConvexOn.congr {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (hfg : Set.EqOn f g s) :
ConvexOn π•œ s g
theorem ConcaveOn.congr {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (hfg : Set.EqOn f g s) :
ConcaveOn π•œ s g
theorem StrictConvexOn.congr {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) (hfg : Set.EqOn f g s) :
StrictConvexOn π•œ s g
theorem StrictConcaveOn.congr {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) (hfg : Set.EqOn f g s) :
StrictConcaveOn π•œ s g
theorem ConvexOn.subset {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Set E} (hf : ConvexOn π•œ t f) (hst : s βŠ† t) (hs : Convex π•œ s) :
ConvexOn π•œ s f
theorem ConcaveOn.subset {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Set E} (hf : ConcaveOn π•œ t f) (hst : s βŠ† t) (hs : Convex π•œ s) :
ConcaveOn π•œ s f
theorem StrictConvexOn.subset {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Set E} (hf : StrictConvexOn π•œ t f) (hst : s βŠ† t) (hs : Convex π•œ s) :
StrictConvexOn π•œ s f
theorem StrictConcaveOn.subset {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Set E} (hf : StrictConcaveOn π•œ t f) (hst : s βŠ† t) (hs : Convex π•œ s) :
StrictConcaveOn π•œ s f
theorem ConvexOn.comp {π•œ : Type u_1} {E : Type u_2} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ±] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : Ξ² β†’ Ξ±} (hg : ConvexOn π•œ (f '' s) g) (hf : ConvexOn π•œ s f) (hg' : MonotoneOn g (f '' s)) :
ConvexOn π•œ s (g ∘ f)
theorem ConcaveOn.comp {π•œ : Type u_1} {E : Type u_2} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ±] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : Ξ² β†’ Ξ±} (hg : ConcaveOn π•œ (f '' s) g) (hf : ConcaveOn π•œ s f) (hg' : MonotoneOn g (f '' s)) :
ConcaveOn π•œ s (g ∘ f)
theorem ConvexOn.comp_concaveOn {π•œ : Type u_1} {E : Type u_2} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ±] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : Ξ² β†’ Ξ±} (hg : ConvexOn π•œ (f '' s) g) (hf : ConcaveOn π•œ s f) (hg' : AntitoneOn g (f '' s)) :
ConvexOn π•œ s (g ∘ f)
theorem ConcaveOn.comp_convexOn {π•œ : Type u_1} {E : Type u_2} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ±] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : Ξ² β†’ Ξ±} (hg : ConcaveOn π•œ (f '' s) g) (hf : ConvexOn π•œ s f) (hg' : AntitoneOn g (f '' s)) :
ConcaveOn π•œ s (g ∘ f)
theorem StrictConvexOn.comp {π•œ : Type u_1} {E : Type u_2} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ±] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : Ξ² β†’ Ξ±} (hg : StrictConvexOn π•œ (f '' s) g) (hf : StrictConvexOn π•œ s f) (hg' : StrictMonoOn g (f '' s)) (hf' : Set.InjOn f s) :
StrictConvexOn π•œ s (g ∘ f)
theorem StrictConcaveOn.comp {π•œ : Type u_1} {E : Type u_2} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ±] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : Ξ² β†’ Ξ±} (hg : StrictConcaveOn π•œ (f '' s) g) (hf : StrictConcaveOn π•œ s f) (hg' : StrictMonoOn g (f '' s)) (hf' : Set.InjOn f s) :
StrictConcaveOn π•œ s (g ∘ f)
theorem StrictConvexOn.comp_strictConcaveOn {π•œ : Type u_1} {E : Type u_2} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ±] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : Ξ² β†’ Ξ±} (hg : StrictConvexOn π•œ (f '' s) g) (hf : StrictConcaveOn π•œ s f) (hg' : StrictAntiOn g (f '' s)) (hf' : Set.InjOn f s) :
StrictConvexOn π•œ s (g ∘ f)
theorem StrictConcaveOn.comp_strictConvexOn {π•œ : Type u_1} {E : Type u_2} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ±] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : Ξ² β†’ Ξ±} (hg : StrictConcaveOn π•œ (f '' s) g) (hf : StrictConvexOn π•œ s f) (hg' : StrictAntiOn g (f '' s)) (hf' : Set.InjOn f s) :
StrictConcaveOn π•œ s (g ∘ f)
theorem ConvexOn.add {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [DistribMulAction π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (hg : ConvexOn π•œ s g) :
ConvexOn π•œ s (f + g)
theorem ConcaveOn.add {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [DistribMulAction π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (hg : ConcaveOn π•œ s g) :
ConcaveOn π•œ s (f + g)
theorem convexOn_const {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} (c : Ξ²) (hs : Convex π•œ s) :
ConvexOn π•œ s fun (x : E) => c
theorem concaveOn_const {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} (c : Ξ²) (hs : Convex π•œ s) :
ConcaveOn π•œ s fun (x : E) => c
theorem ConvexOn.add_const {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (b : Ξ²) :
ConvexOn π•œ s (f + fun (x : E) => b)
theorem ConcaveOn.add_const {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (b : Ξ²) :
ConcaveOn π•œ s (f + fun (x : E) => b)
theorem convexOn_of_convex_epigraph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (h : Convex π•œ {p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 ≀ p.2}) :
ConvexOn π•œ s f
theorem concaveOn_of_convex_hypograph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (h : Convex π•œ {p : E Γ— Ξ² | p.1 ∈ s ∧ p.2 ≀ f p.1}) :
ConcaveOn π•œ s f
theorem ConvexOn.convex_le {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (r : Ξ²) :
Convex π•œ {x : E | x ∈ s ∧ f x ≀ r}
theorem ConcaveOn.convex_ge {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (r : Ξ²) :
Convex π•œ {x : E | x ∈ s ∧ r ≀ f x}
theorem ConvexOn.convex_epigraph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) :
Convex π•œ {p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 ≀ p.2}
theorem ConcaveOn.convex_hypograph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) :
Convex π•œ {p : E Γ— Ξ² | p.1 ∈ s ∧ p.2 ≀ f p.1}
theorem convexOn_iff_convex_epigraph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConvexOn π•œ s f ↔ Convex π•œ {p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 ≀ p.2}
theorem concaveOn_iff_convex_hypograph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConcaveOn π•œ s f ↔ Convex π•œ {p : E Γ— Ξ² | p.1 ∈ s ∧ p.2 ≀ f p.1}
theorem ConvexOn.translate_right {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (c : E) :
ConvexOn π•œ ((fun (z : E) => c + z) ⁻¹' s) (f ∘ fun (z : E) => c + z)

Right translation preserves convexity.

theorem ConcaveOn.translate_right {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (c : E) :
ConcaveOn π•œ ((fun (z : E) => c + z) ⁻¹' s) (f ∘ fun (z : E) => c + z)

Right translation preserves concavity.

theorem ConvexOn.translate_left {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (c : E) :
ConvexOn π•œ ((fun (z : E) => c + z) ⁻¹' s) (f ∘ fun (z : E) => z + c)

Left translation preserves convexity.

theorem ConcaveOn.translate_left {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (c : E) :
ConcaveOn π•œ ((fun (z : E) => c + z) ⁻¹' s) (f ∘ fun (z : E) => z + c)

Left translation preserves concavity.

theorem convexOn_iff_forall_pos {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConvexOn π•œ s f ↔ Convex π•œ s ∧ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ f (a β€’ x + b β€’ y) ≀ a β€’ f x + b β€’ f y
theorem concaveOn_iff_forall_pos {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConcaveOn π•œ s f ↔ Convex π•œ s ∧ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ f x + b β€’ f y ≀ f (a β€’ x + b β€’ y)
theorem convexOn_iff_pairwise_pos {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConvexOn π•œ s f ↔ Convex π•œ s ∧ s.Pairwise fun (x y : E) => βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ f (a β€’ x + b β€’ y) ≀ a β€’ f x + b β€’ f y
theorem concaveOn_iff_pairwise_pos {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConcaveOn π•œ s f ↔ Convex π•œ s ∧ s.Pairwise fun (x y : E) => βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ f x + b β€’ f y ≀ f (a β€’ x + b β€’ y)
theorem LinearMap.convexOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] (f : E β†’β‚—[π•œ] Ξ²) {s : Set E} (hs : Convex π•œ s) :
ConvexOn π•œ s ⇑f

A linear map is convex.

theorem LinearMap.concaveOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] (f : E β†’β‚—[π•œ] Ξ²) {s : Set E} (hs : Convex π•œ s) :
ConcaveOn π•œ s ⇑f

A linear map is concave.

theorem StrictConvexOn.convexOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) :
ConvexOn π•œ s f
theorem StrictConcaveOn.concaveOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) :
ConcaveOn π•œ s f
theorem StrictConvexOn.convex_lt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) (r : Ξ²) :
Convex π•œ {x : E | x ∈ s ∧ f x < r}
theorem StrictConcaveOn.convex_gt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) (r : Ξ²) :
Convex π•œ {x : E | x ∈ s ∧ r < f x}
theorem LinearOrder.convexOn_of_lt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [LinearOrder E] {s : Set E} {f : E β†’ Ξ²} (hs : Convex π•œ s) (hf : βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ x < y β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ f (a β€’ x + b β€’ y) ≀ a β€’ f x + b β€’ f y) :
ConvexOn π•œ s f

For a function on a convex set in a linearly ordered space (where the order and the algebraic structures aren't necessarily compatible), in order to prove that it is convex, it suffices to verify the inequality f (a β€’ x + b β€’ y) ≀ a β€’ f x + b β€’ f y only for x < y and positive a, b. The main use case is E = π•œ however one can apply it, e.g., to π•œ^n with lexicographic order.

theorem LinearOrder.concaveOn_of_lt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [LinearOrder E] {s : Set E} {f : E β†’ Ξ²} (hs : Convex π•œ s) (hf : βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ x < y β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ f x + b β€’ f y ≀ f (a β€’ x + b β€’ y)) :
ConcaveOn π•œ s f

For a function on a convex set in a linearly ordered space (where the order and the algebraic structures aren't necessarily compatible), in order to prove that it is concave it suffices to verify the inequality a β€’ f x + b β€’ f y ≀ f (a β€’ x + b β€’ y) for x < y and positive a, b. The main use case is E = ℝ however one can apply it, e.g., to ℝ^n with lexicographic order.

theorem LinearOrder.strictConvexOn_of_lt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [LinearOrder E] {s : Set E} {f : E β†’ Ξ²} (hs : Convex π•œ s) (hf : βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ x < y β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ f (a β€’ x + b β€’ y) < a β€’ f x + b β€’ f y) :
StrictConvexOn π•œ s f

For a function on a convex set in a linearly ordered space (where the order and the algebraic structures aren't necessarily compatible), in order to prove that it is strictly convex, it suffices to verify the inequality f (a β€’ x + b β€’ y) < a β€’ f x + b β€’ f y for x < y and positive a, b. The main use case is E = π•œ however one can apply it, e.g., to π•œ^n with lexicographic order.

theorem LinearOrder.strictConcaveOn_of_lt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [LinearOrder E] {s : Set E} {f : E β†’ Ξ²} (hs : Convex π•œ s) (hf : βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ x < y β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ f x + b β€’ f y < f (a β€’ x + b β€’ y)) :
StrictConcaveOn π•œ s f

For a function on a convex set in a linearly ordered space (where the order and the algebraic structures aren't necessarily compatible), in order to prove that it is strictly concave it suffices to verify the inequality a β€’ f x + b β€’ f y < f (a β€’ x + b β€’ y) for x < y and positive a, b. The main use case is E = π•œ however one can apply it, e.g., to π•œ^n with lexicographic order.

theorem ConvexOn.comp_linearMap {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [AddCommMonoid F] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ F] [SMul π•œ Ξ²] {f : F β†’ Ξ²} {s : Set F} (hf : ConvexOn π•œ s f) (g : E β†’β‚—[π•œ] F) :
ConvexOn π•œ (⇑g ⁻¹' s) (f ∘ ⇑g)

If g is convex on s, so is (f ∘ g) on f ⁻¹' s for a linear f.

theorem ConcaveOn.comp_linearMap {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [AddCommMonoid F] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ F] [SMul π•œ Ξ²] {f : F β†’ Ξ²} {s : Set F} (hf : ConcaveOn π•œ s f) (g : E β†’β‚—[π•œ] F) :
ConcaveOn π•œ (⇑g ⁻¹' s) (f ∘ ⇑g)

If g is concave on s, so is (g ∘ f) on f ⁻¹' s for a linear f.

theorem StrictConvexOn.add_convexOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [DistribMulAction π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) (hg : ConvexOn π•œ s g) :
StrictConvexOn π•œ s (f + g)
theorem ConvexOn.add_strictConvexOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [DistribMulAction π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (hg : StrictConvexOn π•œ s g) :
StrictConvexOn π•œ s (f + g)
theorem StrictConvexOn.add {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [DistribMulAction π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) (hg : StrictConvexOn π•œ s g) :
StrictConvexOn π•œ s (f + g)
theorem StrictConcaveOn.add_concaveOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [DistribMulAction π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) (hg : ConcaveOn π•œ s g) :
StrictConcaveOn π•œ s (f + g)
theorem ConcaveOn.add_strictConcaveOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [DistribMulAction π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (hg : StrictConcaveOn π•œ s g) :
StrictConcaveOn π•œ s (f + g)
theorem StrictConcaveOn.add {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [DistribMulAction π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) (hg : StrictConcaveOn π•œ s g) :
StrictConcaveOn π•œ s (f + g)
theorem StrictConvexOn.add_const {π•œ : Type u_1} {E : Type u_2} [OrderedSemiring π•œ] [AddCommMonoid E] [SMul π•œ E] {s : Set E} {Ξ³ : Type u_7} {f : E β†’ Ξ³} [OrderedCancelAddCommMonoid Ξ³] [Module π•œ Ξ³] (hf : StrictConvexOn π•œ s f) (b : Ξ³) :
StrictConvexOn π•œ s (f + fun (x : E) => b)
theorem StrictConcaveOn.add_const {π•œ : Type u_1} {E : Type u_2} [OrderedSemiring π•œ] [AddCommMonoid E] [SMul π•œ E] {s : Set E} {Ξ³ : Type u_7} {f : E β†’ Ξ³} [OrderedCancelAddCommMonoid Ξ³] [Module π•œ Ξ³] (hf : StrictConcaveOn π•œ s f) (b : Ξ³) :
StrictConcaveOn π•œ s (f + fun (x : E) => b)
theorem ConvexOn.convex_lt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (r : Ξ²) :
Convex π•œ {x : E | x ∈ s ∧ f x < r}
theorem ConcaveOn.convex_gt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (r : Ξ²) :
Convex π•œ {x : E | x ∈ s ∧ r < f x}
theorem ConvexOn.openSegment_subset_strict_epigraph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (p : E Γ— Ξ²) (q : E Γ— Ξ²) (hp : p.1 ∈ s ∧ f p.1 < p.2) (hq : q.1 ∈ s ∧ f q.1 ≀ q.2) :
openSegment π•œ p q βŠ† {p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 < p.2}
theorem ConcaveOn.openSegment_subset_strict_hypograph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (p : E Γ— Ξ²) (q : E Γ— Ξ²) (hp : p.1 ∈ s ∧ p.2 < f p.1) (hq : q.1 ∈ s ∧ q.2 ≀ f q.1) :
openSegment π•œ p q βŠ† {p : E Γ— Ξ² | p.1 ∈ s ∧ p.2 < f p.1}
theorem ConvexOn.convex_strict_epigraph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) :
Convex π•œ {p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 < p.2}
theorem ConcaveOn.convex_strict_hypograph {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) :
Convex π•œ {p : E Γ— Ξ² | p.1 ∈ s ∧ p.2 < f p.1}
theorem ConvexOn.sup {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (hg : ConvexOn π•œ s g) :
ConvexOn π•œ s (f βŠ” g)

The pointwise maximum of convex functions is convex.

theorem ConcaveOn.inf {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (hg : ConcaveOn π•œ s g) :
ConcaveOn π•œ s (f βŠ“ g)

The pointwise minimum of concave functions is concave.

theorem StrictConvexOn.sup {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) (hg : StrictConvexOn π•œ s g) :
StrictConvexOn π•œ s (f βŠ” g)

The pointwise maximum of strictly convex functions is strictly convex.

theorem StrictConcaveOn.inf {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) (hg : StrictConcaveOn π•œ s g) :
StrictConcaveOn π•œ s (f βŠ“ g)

The pointwise minimum of strictly concave functions is strictly concave.

theorem ConvexOn.le_on_segment' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} (hx : x ∈ s) (hy : y ∈ s) {a : π•œ} {b : π•œ} (ha : 0 ≀ a) (hb : 0 ≀ b) (hab : a + b = 1) :
f (a β€’ x + b β€’ y) ≀ max (f x) (f y)

A convex function on a segment is upper-bounded by the max of its endpoints.

theorem ConcaveOn.ge_on_segment' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} (hx : x ∈ s) (hy : y ∈ s) {a : π•œ} {b : π•œ} (ha : 0 ≀ a) (hb : 0 ≀ b) (hab : a + b = 1) :
min (f x) (f y) ≀ f (a β€’ x + b β€’ y)

A concave function on a segment is lower-bounded by the min of its endpoints.

theorem ConvexOn.le_on_segment {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ segment π•œ x y) :
f z ≀ max (f x) (f y)

A convex function on a segment is upper-bounded by the max of its endpoints.

theorem ConcaveOn.ge_on_segment {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ segment π•œ x y) :
min (f x) (f y) ≀ f z

A concave function on a segment is lower-bounded by the min of its endpoints.

theorem StrictConvexOn.lt_on_open_segment' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) {x : E} {y : E} (hx : x ∈ s) (hy : y ∈ s) (hxy : x β‰  y) {a : π•œ} {b : π•œ} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) :
f (a β€’ x + b β€’ y) < max (f x) (f y)

A strictly convex function on an open segment is strictly upper-bounded by the max of its endpoints.

theorem StrictConcaveOn.lt_on_open_segment' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) {x : E} {y : E} (hx : x ∈ s) (hy : y ∈ s) (hxy : x β‰  y) {a : π•œ} {b : π•œ} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) :
min (f x) (f y) < f (a β€’ x + b β€’ y)

A strictly concave function on an open segment is strictly lower-bounded by the min of its endpoints.

theorem StrictConvexOn.lt_on_openSegment {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hxy : x β‰  y) (hz : z ∈ openSegment π•œ x y) :
f z < max (f x) (f y)

A strictly convex function on an open segment is strictly upper-bounded by the max of its endpoints.

theorem StrictConcaveOn.lt_on_openSegment {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hxy : x β‰  y) (hz : z ∈ openSegment π•œ x y) :
min (f x) (f y) < f z

A strictly concave function on an open segment is strictly lower-bounded by the min of its endpoints.

theorem ConvexOn.le_left_of_right_le' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} (hx : x ∈ s) (hy : y ∈ s) {a : π•œ} {b : π•œ} (ha : 0 < a) (hb : 0 ≀ b) (hab : a + b = 1) (hfy : f y ≀ f (a β€’ x + b β€’ y)) :
f (a β€’ x + b β€’ y) ≀ f x
theorem ConcaveOn.left_le_of_le_right' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} (hx : x ∈ s) (hy : y ∈ s) {a : π•œ} {b : π•œ} (ha : 0 < a) (hb : 0 ≀ b) (hab : a + b = 1) (hfy : f (a β€’ x + b β€’ y) ≀ f y) :
f x ≀ f (a β€’ x + b β€’ y)
theorem ConvexOn.le_right_of_left_le' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} {a : π•œ} {b : π•œ} (hx : x ∈ s) (hy : y ∈ s) (ha : 0 ≀ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x ≀ f (a β€’ x + b β€’ y)) :
f (a β€’ x + b β€’ y) ≀ f y
theorem ConcaveOn.right_le_of_le_left' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} {a : π•œ} {b : π•œ} (hx : x ∈ s) (hy : y ∈ s) (ha : 0 ≀ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a β€’ x + b β€’ y) ≀ f x) :
f y ≀ f (a β€’ x + b β€’ y)
theorem ConvexOn.le_left_of_right_le {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ openSegment π•œ x y) (hyz : f y ≀ f z) :
f z ≀ f x
theorem ConcaveOn.left_le_of_le_right {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ openSegment π•œ x y) (hyz : f z ≀ f y) :
f x ≀ f z
theorem ConvexOn.le_right_of_left_le {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ openSegment π•œ x y) (hxz : f x ≀ f z) :
f z ≀ f y
theorem ConcaveOn.right_le_of_le_left {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ openSegment π•œ x y) (hxz : f z ≀ f x) :
f y ≀ f z
theorem ConvexOn.lt_left_of_right_lt' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} (hx : x ∈ s) (hy : y ∈ s) {a : π•œ} {b : π•œ} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfy : f y < f (a β€’ x + b β€’ y)) :
f (a β€’ x + b β€’ y) < f x
theorem ConcaveOn.left_lt_of_lt_right' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} (hx : x ∈ s) (hy : y ∈ s) {a : π•œ} {b : π•œ} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfy : f (a β€’ x + b β€’ y) < f y) :
f x < f (a β€’ x + b β€’ y)
theorem ConvexOn.lt_right_of_left_lt' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} {a : π•œ} {b : π•œ} (hx : x ∈ s) (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x < f (a β€’ x + b β€’ y)) :
f (a β€’ x + b β€’ y) < f y
theorem ConcaveOn.lt_right_of_left_lt' {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} {a : π•œ} {b : π•œ} (hx : x ∈ s) (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a β€’ x + b β€’ y) < f x) :
f y < f (a β€’ x + b β€’ y)
theorem ConvexOn.lt_left_of_right_lt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ openSegment π•œ x y) (hyz : f y < f z) :
f z < f x
theorem ConcaveOn.left_lt_of_lt_right {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ openSegment π•œ x y) (hyz : f z < f y) :
f x < f z
theorem ConvexOn.lt_right_of_left_lt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConvexOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ openSegment π•œ x y) (hxz : f x < f z) :
f z < f y
theorem ConcaveOn.lt_right_of_left_lt {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) {x : E} {y : E} {z : E} (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ openSegment π•œ x y) (hxz : f z < f x) :
f y < f z
@[simp]
theorem neg_convexOn_iff {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConvexOn π•œ s (-f) ↔ ConcaveOn π•œ s f

A function -f is convex iff f is concave.

@[simp]
theorem neg_concaveOn_iff {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConcaveOn π•œ s (-f) ↔ ConvexOn π•œ s f

A function -f is concave iff f is convex.

@[simp]
theorem neg_strictConvexOn_iff {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
StrictConvexOn π•œ s (-f) ↔ StrictConcaveOn π•œ s f

A function -f is strictly convex iff f is strictly concave.

@[simp]
theorem neg_strictConcaveOn_iff {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
StrictConcaveOn π•œ s (-f) ↔ StrictConvexOn π•œ s f

A function -f is strictly concave iff f is strictly convex.

theorem ConcaveOn.neg {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConcaveOn π•œ s f β†’ ConvexOn π•œ s (-f)

Alias of the reverse direction of neg_convexOn_iff.


A function -f is convex iff f is concave.

theorem ConvexOn.neg {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConvexOn π•œ s f β†’ ConcaveOn π•œ s (-f)

Alias of the reverse direction of neg_concaveOn_iff.


A function -f is concave iff f is convex.

theorem StrictConcaveOn.neg {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
StrictConcaveOn π•œ s f β†’ StrictConvexOn π•œ s (-f)

Alias of the reverse direction of neg_strictConvexOn_iff.


A function -f is strictly convex iff f is strictly concave.

theorem StrictConvexOn.neg {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
StrictConvexOn π•œ s f β†’ StrictConcaveOn π•œ s (-f)

Alias of the reverse direction of neg_strictConcaveOn_iff.


A function -f is strictly concave iff f is strictly convex.

theorem ConvexOn.sub {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (hg : ConcaveOn π•œ s g) :
ConvexOn π•œ s (f - g)
theorem ConcaveOn.sub {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (hg : ConvexOn π•œ s g) :
ConcaveOn π•œ s (f - g)
theorem StrictConvexOn.sub {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) (hg : StrictConcaveOn π•œ s g) :
StrictConvexOn π•œ s (f - g)
theorem StrictConcaveOn.sub {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) (hg : StrictConvexOn π•œ s g) :
StrictConcaveOn π•œ s (f - g)
theorem ConvexOn.sub_strictConcaveOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConvexOn π•œ s f) (hg : StrictConcaveOn π•œ s g) :
StrictConvexOn π•œ s (f - g)
theorem ConcaveOn.sub_strictConvexOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : ConcaveOn π•œ s f) (hg : StrictConvexOn π•œ s g) :
StrictConcaveOn π•œ s (f - g)
theorem StrictConvexOn.sub_concaveOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) (hg : ConcaveOn π•œ s g) :
StrictConvexOn π•œ s (f - g)
theorem StrictConcaveOn.sub_convexOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCommMonoid E] [OrderedAddCommGroup Ξ²] [SMul π•œ E] [Module π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {g : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) (hg : ConvexOn π•œ s g) :
StrictConcaveOn π•œ s (f - g)
theorem StrictConvexOn.translate_right {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCancelCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) (c : E) :
StrictConvexOn π•œ ((fun (z : E) => c + z) ⁻¹' s) (f ∘ fun (z : E) => c + z)

Right translation preserves strict convexity.

theorem StrictConcaveOn.translate_right {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCancelCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) (c : E) :
StrictConcaveOn π•œ ((fun (z : E) => c + z) ⁻¹' s) (f ∘ fun (z : E) => c + z)

Right translation preserves strict concavity.

theorem StrictConvexOn.translate_left {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCancelCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConvexOn π•œ s f) (c : E) :
StrictConvexOn π•œ ((fun (z : E) => c + z) ⁻¹' s) (f ∘ fun (z : E) => z + c)

Left translation preserves strict convexity.

theorem StrictConcaveOn.translate_left {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedSemiring π•œ] [AddCancelCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} (hf : StrictConcaveOn π•œ s f) (c : E) :
StrictConcaveOn π•œ ((fun (z : E) => c + z) ⁻¹' s) (f ∘ fun (z : E) => z + c)

Left translation preserves strict concavity.

theorem ConvexOn.smul {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedCommSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {c : π•œ} (hc : 0 ≀ c) (hf : ConvexOn π•œ s f) :
ConvexOn π•œ s fun (x : E) => c β€’ f x
theorem ConcaveOn.smul {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [OrderedCommSemiring π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {c : π•œ} (hc : 0 ≀ c) (hf : ConcaveOn π•œ s f) :
ConcaveOn π•œ s fun (x : E) => c β€’ f x
theorem ConvexOn.comp_affineMap {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} {Ξ² : Type u_5} [LinearOrderedField π•œ] [AddCommGroup E] [AddCommGroup F] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ F] [SMul π•œ Ξ²] {f : F β†’ Ξ²} (g : E →ᡃ[π•œ] F) {s : Set F} (hf : ConvexOn π•œ s f) :
ConvexOn π•œ (⇑g ⁻¹' s) (f ∘ ⇑g)

If a function is convex on s, it remains convex when precomposed by an affine map.

theorem ConcaveOn.comp_affineMap {π•œ : Type u_1} {E : Type u_2} {F : Type u_3} {Ξ² : Type u_5} [LinearOrderedField π•œ] [AddCommGroup E] [AddCommGroup F] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ F] [SMul π•œ Ξ²] {f : F β†’ Ξ²} (g : E →ᡃ[π•œ] F) {s : Set F} (hf : ConcaveOn π•œ s f) :
ConcaveOn π•œ (⇑g ⁻¹' s) (f ∘ ⇑g)

If a function is concave on s, it remains concave when precomposed by an affine map.

theorem convexOn_iff_div {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [LinearOrderedField π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConvexOn π•œ s f ↔ Convex π•œ s ∧ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ 0 < a + b β†’ f ((a / (a + b)) β€’ x + (b / (a + b)) β€’ y) ≀ (a / (a + b)) β€’ f x + (b / (a + b)) β€’ f y
theorem concaveOn_iff_div {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [LinearOrderedField π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
ConcaveOn π•œ s f ↔ Convex π•œ s ∧ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ 0 < a + b β†’ (a / (a + b)) β€’ f x + (b / (a + b)) β€’ f y ≀ f ((a / (a + b)) β€’ x + (b / (a + b)) β€’ y)
theorem strictConvexOn_iff_div {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [LinearOrderedField π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
StrictConvexOn π•œ s f ↔ Convex π•œ s ∧ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ x β‰  y β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ f ((a / (a + b)) β€’ x + (b / (a + b)) β€’ y) < (a / (a + b)) β€’ f x + (b / (a + b)) β€’ f y
theorem strictConcaveOn_iff_div {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [LinearOrderedField π•œ] [AddCommMonoid E] [OrderedAddCommMonoid Ξ²] [SMul π•œ E] [SMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} :
StrictConcaveOn π•œ s f ↔ Convex π•œ s ∧ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃y : E⦄, y ∈ s β†’ x β‰  y β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ (a / (a + b)) β€’ f x + (b / (a + b)) β€’ f y < f ((a / (a + b)) β€’ x + (b / (a + b)) β€’ y)
theorem OrderIso.strictConvexOn_symm {π•œ : Type u_1} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [OrderedAddCommMonoid Ξ±] [SMul π•œ Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ Ξ²] (f : Ξ± ≃o Ξ²) (hf : StrictConcaveOn π•œ Set.univ ⇑f) :
StrictConvexOn π•œ Set.univ ⇑f.symm
theorem OrderIso.convexOn_symm {π•œ : Type u_1} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [OrderedAddCommMonoid Ξ±] [SMul π•œ Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ Ξ²] (f : Ξ± ≃o Ξ²) (hf : ConcaveOn π•œ Set.univ ⇑f) :
ConvexOn π•œ Set.univ ⇑f.symm
theorem OrderIso.strictConcaveOn_symm {π•œ : Type u_1} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [OrderedAddCommMonoid Ξ±] [SMul π•œ Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ Ξ²] (f : Ξ± ≃o Ξ²) (hf : StrictConvexOn π•œ Set.univ ⇑f) :
StrictConcaveOn π•œ Set.univ ⇑f.symm
theorem OrderIso.concaveOn_symm {π•œ : Type u_1} {Ξ± : Type u_4} {Ξ² : Type u_5} [OrderedSemiring π•œ] [OrderedAddCommMonoid Ξ±] [SMul π•œ Ξ±] [OrderedAddCommMonoid Ξ²] [SMul π•œ Ξ²] (f : Ξ± ≃o Ξ²) (hf : ConvexOn π•œ Set.univ ⇑f) :
ConcaveOn π•œ Set.univ ⇑f.symm
theorem StrictConvexOn.eq_of_isMinOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [LinearOrderedField π•œ] [OrderedAddCommMonoid Ξ²] [AddCommMonoid E] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {f : E β†’ Ξ²} {s : Set E} {x : E} {y : E} (hf : StrictConvexOn π•œ s f) (hfx : IsMinOn f s x) (hfy : IsMinOn f s y) (hx : x ∈ s) (hy : y ∈ s) :
x = y

A strictly convex function admits at most one global minimum.

theorem StrictConcaveOn.eq_of_isMaxOn {π•œ : Type u_1} {E : Type u_2} {Ξ² : Type u_5} [LinearOrderedField π•œ] [OrderedAddCommMonoid Ξ²] [AddCommMonoid E] [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {f : E β†’ Ξ²} {s : Set E} {x : E} {y : E} (hf : StrictConcaveOn π•œ s f) (hfx : IsMaxOn f s x) (hfy : IsMaxOn f s y) (hx : x ∈ s) (hy : y ∈ s) :
x = y

A strictly concave function admits at most one global maximum.

theorem ConvexOn.le_right_of_left_le'' {π•œ : Type u_1} {Ξ² : Type u_5} [LinearOrderedField π•œ] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {x : π•œ} {y : π•œ} {z : π•œ} {s : Set π•œ} {f : π•œ β†’ Ξ²} (hf : ConvexOn π•œ s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x < y) (hyz : y ≀ z) (h : f x ≀ f y) :
f y ≀ f z
theorem ConvexOn.le_left_of_right_le'' {π•œ : Type u_1} {Ξ² : Type u_5} [LinearOrderedField π•œ] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {x : π•œ} {y : π•œ} {z : π•œ} {s : Set π•œ} {f : π•œ β†’ Ξ²} (hf : ConvexOn π•œ s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x ≀ y) (hyz : y < z) (h : f z ≀ f y) :
f y ≀ f x
theorem ConcaveOn.right_le_of_le_left'' {π•œ : Type u_1} {Ξ² : Type u_5} [LinearOrderedField π•œ] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {x : π•œ} {y : π•œ} {z : π•œ} {s : Set π•œ} {f : π•œ β†’ Ξ²} (hf : ConcaveOn π•œ s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x < y) (hyz : y ≀ z) (h : f y ≀ f x) :
f z ≀ f y
theorem ConcaveOn.left_le_of_le_right'' {π•œ : Type u_1} {Ξ² : Type u_5} [LinearOrderedField π•œ] [LinearOrderedCancelAddCommMonoid Ξ²] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {x : π•œ} {y : π•œ} {z : π•œ} {s : Set π•œ} {f : π•œ β†’ Ξ²} (hf : ConcaveOn π•œ s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x ≀ y) (hyz : y < z) (h : f y ≀ f z) :
f x ≀ f y