# mathlibdocumentation

analysis.convex.slope

# Slopes of convex functions #

This file relates convexity/concavity of functions in a linearly ordered field and the monotonicity of their slopes.

The main use is to show convexity/concavity from monotonicity of the derivative.

theorem convex_on.slope_mono_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} (hf : s f) {x y z : 𝕜} (hx : x s) (hz : z s) (hxy : x < y) (hyz : y < z) :
(f y - f x) / (y - x) (f z - f y) / (z - y)

If f : 𝕜 → 𝕜 is convex, then for any three points x < y < z the slope of the secant line of f on [x, y] is less than the slope of the secant line of f on [x, z].

theorem concave_on.slope_anti_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} (hf : s f) {x y z : 𝕜} (hx : x s) (hz : z s) (hxy : x < y) (hyz : y < z) :
(f z - f y) / (z - y) (f y - f x) / (y - x)

If f : 𝕜 → 𝕜 is concave, then for any three points x < y < z the slope of the secant line of f on [x, y] is greater than the slope of the secant line of f on [x, z].

theorem strict_convex_on.slope_strict_mono_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} (hf : f) {x y z : 𝕜} (hx : x s) (hz : z s) (hxy : x < y) (hyz : y < z) :
(f y - f x) / (y - x) < (f z - f y) / (z - y)

If f : 𝕜 → 𝕜 is strictly convex, then for any three points x < y < z the slope of the secant line of f on [x, y] is strictly less than the slope of the secant line of f on [x, z].

theorem strict_concave_on.slope_anti_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} (hf : f) {x y z : 𝕜} (hx : x s) (hz : z s) (hxy : x < y) (hyz : y < z) :
(f z - f y) / (z - y) < (f y - f x) / (y - x)

If f : 𝕜 → 𝕜 is strictly concave, then for any three points x < y < z the slope of the secant line of f on [x, y] is strictly greater than the slope of the secant line of f on [x, z].

theorem convex_on_of_slope_mono_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} (hs : s) (hf : ∀ {x y z : 𝕜}, x sz sx < yy < z(f y - f x) / (y - x) (f z - f y) / (z - y)) :
s f

If for any three points x < y < z, the slope of the secant line of f : 𝕜 → 𝕜 on [x, y] is less than the slope of the secant line of f on [x, z], then f is convex.

theorem concave_on_of_slope_anti_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} (hs : s) (hf : ∀ {x y z : 𝕜}, x sz sx < yy < z(f z - f y) / (z - y) (f y - f x) / (y - x)) :
s f

If for any three points x < y < z, the slope of the secant line of f : 𝕜 → 𝕜 on [x, y] is greater than the slope of the secant line of f on [x, z], then f is concave.

theorem strict_convex_on_of_slope_strict_mono_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} (hs : s) (hf : ∀ {x y z : 𝕜}, x sz sx < yy < z(f y - f x) / (y - x) < (f z - f y) / (z - y)) :
f

If for any three points x < y < z, the slope of the secant line of f : 𝕜 → 𝕜 on [x, y] is strictly less than the slope of the secant line of f on [x, z], then f is strictly convex.

theorem strict_concave_on_of_slope_strict_anti_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} (hs : s) (hf : ∀ {x y z : 𝕜}, x sz sx < yy < z(f z - f y) / (z - y) < (f y - f x) / (y - x)) :
f

If for any three points x < y < z, the slope of the secant line of f : 𝕜 → 𝕜 on [x, y] is strictly greater than the slope of the secant line of f on [x, z], then f is strictly concave.

theorem convex_on_iff_slope_mono_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} :
s f s ∀ ⦃x y z : 𝕜⦄, x sz sx < yy < z(f y - f x) / (y - x) (f z - f y) / (z - y)

A function f : 𝕜 → 𝕜 is convex iff for any three points x < y < z the slope of the secant line of f on [x, y] is less than the slope of the secant line of f on [x, z].

theorem concave_on_iff_slope_anti_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} :
s f s ∀ ⦃x y z : 𝕜⦄, x sz sx < yy < z(f z - f y) / (z - y) (f y - f x) / (y - x)

A function f : 𝕜 → 𝕜 is concave iff for any three points x < y < z the slope of the secant line of f on [x, y] is greater than the slope of the secant line of f on [x, z].

theorem strict_convex_on_iff_slope_strict_mono_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} :
f s ∀ ⦃x y z : 𝕜⦄, x sz sx < yy < z(f y - f x) / (y - x) < (f z - f y) / (z - y)

A function f : 𝕜 → 𝕜 is strictly convex iff for any three points x < y < z the slope of the secant line of f on [x, y] is strictly less than the slope of the secant line of f on [x, z].

theorem strict_concave_on_iff_slope_strict_anti_adjacent {𝕜 : Type u_1} {s : set 𝕜} {f : 𝕜 → 𝕜} :
f s ∀ ⦃x y z : 𝕜⦄, x sz sx < yy < z(f z - f y) / (z - y) < (f y - f x) / (y - x)

A function f : 𝕜 → 𝕜 is strictly concave iff for any three points x < y < z the slope of the secant line of f on [x, y] is strictly greater than the slope of the secant line of f on [x, z].