# Convexity of functions and derivatives #

Here we relate convexity of functions ℝ → ℝ to properties of their derivatives.

## Main results #

• MonotoneOn.convexOn_of_deriv, convexOn_of_deriv2_nonneg : if the derivative of a function is increasing or its second derivative is nonnegative, then the original function is convex.
• ConvexOn.monotoneOn_deriv: if a function is convex and differentiable, then its derivative is monotone.

## Monotonicity of f' implies convexity of f#

theorem MonotoneOn.convexOn_of_deriv {D : } (hD : ) {f : } (hf : ) (hf' : ) (hf'_mono : MonotoneOn () ()) :

If a function f is continuous on a convex set D ⊆ ℝ, is differentiable on its interior, and f' is monotone on the interior, then f is convex on D.

theorem AntitoneOn.concaveOn_of_deriv {D : } (hD : ) {f : } (hf : ) (hf' : ) (h_anti : AntitoneOn () ()) :

If a function f is continuous on a convex set D ⊆ ℝ, is differentiable on its interior, and f' is antitone on the interior, then f is concave on D.

theorem StrictMonoOn.exists_slope_lt_deriv_aux {x : } {y : } {f : } (hf : ContinuousOn f (Set.Icc x y)) (hxy : x < y) (hf'_mono : StrictMonoOn () (Set.Ioo x y)) (h : wSet.Ioo x y, deriv f w 0) :
aSet.Ioo x y, (f y - f x) / (y - x) < deriv f a
theorem StrictMonoOn.exists_slope_lt_deriv {x : } {y : } {f : } (hf : ContinuousOn f (Set.Icc x y)) (hxy : x < y) (hf'_mono : StrictMonoOn () (Set.Ioo x y)) :
aSet.Ioo x y, (f y - f x) / (y - x) < deriv f a
theorem StrictMonoOn.exists_deriv_lt_slope_aux {x : } {y : } {f : } (hf : ContinuousOn f (Set.Icc x y)) (hxy : x < y) (hf'_mono : StrictMonoOn () (Set.Ioo x y)) (h : wSet.Ioo x y, deriv f w 0) :
aSet.Ioo x y, deriv f a < (f y - f x) / (y - x)
theorem StrictMonoOn.exists_deriv_lt_slope {x : } {y : } {f : } (hf : ContinuousOn f (Set.Icc x y)) (hxy : x < y) (hf'_mono : StrictMonoOn () (Set.Ioo x y)) :
aSet.Ioo x y, deriv f a < (f y - f x) / (y - x)
theorem StrictMonoOn.strictConvexOn_of_deriv {D : } (hD : ) {f : } (hf : ) (hf' : StrictMonoOn () ()) :

If a function f is continuous on a convex set D ⊆ ℝ, and f' is strictly monotone on the interior, then f is strictly convex on D. Note that we don't require differentiability, since it is guaranteed at all but at most one point by the strict monotonicity of f'.

theorem StrictAntiOn.strictConcaveOn_of_deriv {D : } (hD : ) {f : } (hf : ) (h_anti : StrictAntiOn () ()) :

If a function f is continuous on a convex set D ⊆ ℝ and f' is strictly antitone on the interior, then f is strictly concave on D. Note that we don't require differentiability, since it is guaranteed at all but at most one point by the strict antitonicity of f'.

theorem Monotone.convexOn_univ_of_deriv {f : } (hf : ) (hf'_mono : Monotone ()) :
ConvexOn Set.univ f

If a function f is differentiable and f' is monotone on ℝ then f is convex.

theorem Antitone.concaveOn_univ_of_deriv {f : } (hf : ) (hf'_anti : Antitone ()) :
ConcaveOn Set.univ f

If a function f is differentiable and f' is antitone on ℝ then f is concave.

theorem StrictMono.strictConvexOn_univ_of_deriv {f : } (hf : ) (hf'_mono : StrictMono ()) :
StrictConvexOn Set.univ f

If a function f is continuous and f' is strictly monotone on ℝ then f is strictly convex. Note that we don't require differentiability, since it is guaranteed at all but at most one point by the strict monotonicity of f'.

theorem StrictAnti.strictConcaveOn_univ_of_deriv {f : } (hf : ) (hf'_anti : StrictAnti ()) :
StrictConcaveOn Set.univ f

If a function f is continuous and f' is strictly antitone on ℝ then f is strictly concave. Note that we don't require differentiability, since it is guaranteed at all but at most one point by the strict antitonicity of f'.

theorem convexOn_of_deriv2_nonneg {D : } (hD : ) {f : } (hf : ) (hf' : ) (hf'' : DifferentiableOn () ()) (hf''_nonneg : x, 0 deriv^[2] f x) :

If a function f is continuous on a convex set D ⊆ ℝ, is twice differentiable on its interior, and f'' is nonnegative on the interior, then f is convex on D.

theorem concaveOn_of_deriv2_nonpos {D : } (hD : ) {f : } (hf : ) (hf' : ) (hf'' : DifferentiableOn () ()) (hf''_nonpos : x, deriv^[2] f x 0) :

If a function f is continuous on a convex set D ⊆ ℝ, is twice differentiable on its interior, and f'' is nonpositive on the interior, then f is concave on D.

theorem convexOn_of_hasDerivWithinAt2_nonneg {D : } (hD : ) {f : } {f' : } {f'' : } (hf : ) (hf' : x, HasDerivWithinAt f (f' x) () x) (hf'' : x, HasDerivWithinAt f' (f'' x) () x) (hf''₀ : x, 0 f'' x) :

If a function f is continuous on a convex set D ⊆ ℝ, is twice differentiable on its interior, and f'' is nonnegative on the interior, then f is convex on D.

theorem concaveOn_of_hasDerivWithinAt2_nonpos {D : } (hD : ) {f : } {f' : } {f'' : } (hf : ) (hf' : x, HasDerivWithinAt f (f' x) () x) (hf'' : x, HasDerivWithinAt f' (f'' x) () x) (hf''₀ : x, f'' x 0) :

If a function f is continuous on a convex set D ⊆ ℝ, is twice differentiable on its interior, and f'' is nonpositive on the interior, then f is concave on D.

theorem strictConvexOn_of_deriv2_pos {D : } (hD : ) {f : } (hf : ) (hf'' : x, 0 < deriv^[2] f x) :

If a function f is continuous on a convex set D ⊆ ℝ and f'' is strictly positive on the interior, then f is strictly convex on D. Note that we don't require twice differentiability explicitly as it is already implied by the second derivative being strictly positive, except at at most one point.

theorem strictConcaveOn_of_deriv2_neg {D : } (hD : ) {f : } (hf : ) (hf'' : x, deriv^[2] f x < 0) :

If a function f is continuous on a convex set D ⊆ ℝ and f'' is strictly negative on the interior, then f is strictly concave on D. Note that we don't require twice differentiability explicitly as it already implied by the second derivative being strictly negative, except at at most one point.

theorem convexOn_of_deriv2_nonneg' {D : } (hD : ) {f : } (hf' : ) (hf'' : ) (hf''_nonneg : xD, 0 deriv^[2] f x) :

If a function f is twice differentiable on an open convex set D ⊆ ℝ and f'' is nonnegative on D, then f is convex on D.

theorem concaveOn_of_deriv2_nonpos' {D : } (hD : ) {f : } (hf' : ) (hf'' : ) (hf''_nonpos : xD, deriv^[2] f x 0) :

If a function f is twice differentiable on an open convex set D ⊆ ℝ and f'' is nonpositive on D, then f is concave on D.

theorem strictConvexOn_of_deriv2_pos' {D : } (hD : ) {f : } (hf : ) (hf'' : xD, 0 < deriv^[2] f x) :

If a function f is continuous on a convex set D ⊆ ℝ and f'' is strictly positive on D, then f is strictly convex on D. Note that we don't require twice differentiability explicitly as it is already implied by the second derivative being strictly positive, except at at most one point.

theorem strictConcaveOn_of_deriv2_neg' {D : } (hD : ) {f : } (hf : ) (hf'' : xD, deriv^[2] f x < 0) :

If a function f is continuous on a convex set D ⊆ ℝ and f'' is strictly negative on D, then f is strictly concave on D. Note that we don't require twice differentiability explicitly as it is already implied by the second derivative being strictly negative, except at at most one point.

theorem convexOn_univ_of_deriv2_nonneg {f : } (hf' : ) (hf'' : ) (hf''_nonneg : ∀ (x : ), 0 deriv^[2] f x) :
ConvexOn Set.univ f

If a function f is twice differentiable on ℝ, and f'' is nonnegative on ℝ, then f is convex on ℝ.

theorem concaveOn_univ_of_deriv2_nonpos {f : } (hf' : ) (hf'' : ) (hf''_nonpos : ∀ (x : ), deriv^[2] f x 0) :
ConcaveOn Set.univ f

If a function f is twice differentiable on ℝ, and f'' is nonpositive on ℝ, then f is concave on ℝ.

theorem strictConvexOn_univ_of_deriv2_pos {f : } (hf : ) (hf'' : ∀ (x : ), 0 < deriv^[2] f x) :
StrictConvexOn Set.univ f

If a function f is continuous on ℝ, and f'' is strictly positive on ℝ, then f is strictly convex on ℝ. Note that we don't require twice differentiability explicitly as it is already implied by the second derivative being strictly positive, except at at most one point.

theorem strictConcaveOn_univ_of_deriv2_neg {f : } (hf : ) (hf'' : ∀ (x : ), deriv^[2] f x < 0) :
StrictConcaveOn Set.univ f

If a function f is continuous on ℝ, and f'' is strictly negative on ℝ, then f is strictly concave on ℝ. Note that we don't require twice differentiability explicitly as it is already implied by the second derivative being strictly negative, except at at most one point.

## Convexity of f implies monotonicity of f'#

In this section we prove inequalities relating derivatives of convex functions to slopes of secant lines, and deduce that if f is convex then its derivative is monotone (and similarly for strict convexity / strict monotonicity).

theorem ConvexOn.slope_mono {𝕜 : Type u_1} {s : Set 𝕜} {f : 𝕜𝕜} {x : 𝕜} (hfc : ConvexOn 𝕜 s f) (hx : x s) :
MonotoneOn (slope f x) (s \ {x})

If f : 𝕜 → 𝕜 is convex on s, then for any point x ∈ s the slope of the secant line of f through x is monotone on s \ {x}.

theorem ConcaveOn.slope_anti {𝕜 : Type u_1} {s : Set 𝕜} {f : 𝕜𝕜} {x : 𝕜} (hfc : ConcaveOn 𝕜 s f) (hx : x s) :
AntitoneOn (slope f x) (s \ {x})

If f : 𝕜 → 𝕜 is concave on s, then for any point x ∈ s the slope of the secant line of f through x is antitone on s \ {x}.

### Convex functions, derivative at left endpoint of secant #

theorem ConvexOn.le_slope_of_hasDerivWithinAt_Ioi {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' () x) :
f' slope f x y

If f : ℝ → ℝ is convex on S and right-differentiable at x ∈ S, then the slope of any secant line with left endpoint at x is bounded below by the right derivative of f at x.

theorem ConvexOn.right_deriv_le_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
derivWithin f () x slope f x y

Reformulation of ConvexOn.le_slope_of_hasDerivWithinAt_Ioi using derivWithin.

theorem ConvexOn.le_slope_of_hasDerivWithinAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' S x) :
f' slope f x y

If f : ℝ → ℝ is convex on S and differentiable within S at x, then the slope of any secant line with left endpoint at x is bounded below by the derivative of f within S at x.

This is fractionally weaker than ConvexOn.le_slope_of_hasDerivWithinAt_Ioi but simpler to apply under a DifferentiableOn S hypothesis.

theorem ConvexOn.derivWithin_le_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
derivWithin f S x slope f x y

Reformulation of ConvexOn.le_slope_of_hasDerivWithinAt using derivWithin.

theorem ConvexOn.le_slope_of_hasDerivAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (ha : HasDerivAt f f' x) :
f' slope f x y

If f : ℝ → ℝ is convex on S and differentiable at x ∈ S, then the slope of any secant line with left endpoint at x is bounded below by the derivative of f at x.

theorem ConvexOn.deriv_le_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
deriv f x slope f x y

Reformulation of ConvexOn.le_slope_of_hasDerivAt using deriv

### Convex functions, derivative at right endpoint of secant #

theorem ConvexOn.slope_le_of_hasDerivWithinAt_Iio {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' () y) :
slope f x y f'

If f : ℝ → ℝ is convex on S and left-differentiable at y ∈ S, then the slope of any secant line with right endpoint at y is bounded above by the left derivative of f at y.

theorem ConvexOn.slope_le_left_deriv {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y derivWithin f () y

Reformulation of ConvexOn.slope_le_of_hasDerivWithinAt_Iio using derivWithin.

theorem ConvexOn.slope_le_of_hasDerivWithinAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' S y) :
slope f x y f'

If f : ℝ → ℝ is convex on S and differentiable within S at y, then the slope of any secant line with right endpoint at y is bounded above by the derivative of f within S at y.

This is fractionally weaker than ConvexOn.slope_le_of_hasDerivWithinAt_Iio but simpler to apply under a DifferentiableOn S hypothesis.

theorem ConvexOn.slope_le_derivWithin {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y derivWithin f S y

Reformulation of ConvexOn.slope_le_of_hasDerivWithinAt using derivWithin.

theorem ConvexOn.slope_le_of_hasDerivAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivAt f f' y) :
slope f x y f'

If f : ℝ → ℝ is convex on S and differentiable at y ∈ S, then the slope of any secant line with right endpoint at y is bounded above by the derivative of f at y.

theorem ConvexOn.slope_le_deriv {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y deriv f y

Reformulation of ConvexOn.slope_le_of_hasDerivAt using deriv.

### Convex functions, monotonicity of derivative #

theorem ConvexOn.monotoneOn_derivWithin {S : } {f : } (hfc : ) (hfd : ) :

If f is convex on S and differentiable on S, then its derivative within S is monotone on S.

theorem ConvexOn.monotoneOn_deriv {S : } {f : } (hfc : ) (hfd : xS, ) :

If f is convex on S and differentiable at all points of S, then its derivative is monotone on S.

### Strict convex functions, derivative at left endpoint of secant #

theorem StrictConvexOn.lt_slope_of_hasDerivWithinAt_Ioi {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' () x) :
f' < slope f x y

If f : ℝ → ℝ is strictly convex on S and right-differentiable at x ∈ S, then the slope of any secant line with left endpoint at x is strictly greater than the right derivative of f at x.

theorem StrictConvexOn.right_deriv_lt_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
derivWithin f () x < slope f x y
theorem StrictConvexOn.lt_slope_of_hasDerivWithinAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' S x) :
f' < slope f x y

If f : ℝ → ℝ is strictly convex on S and differentiable within S at x ∈ S, then the slope of any secant line with left endpoint at x is strictly greater than the derivative of f within S at x.

This is fractionally weaker than StrictConvexOn.lt_slope_of_hasDerivWithinAt_Ioi but simpler to apply under a DifferentiableOn S hypothesis.

theorem StrictConvexOn.derivWithin_lt_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
derivWithin f S x < slope f x y
theorem StrictConvexOn.lt_slope_of_hasDerivAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivAt f f' x) :
f' < slope f x y

If f : ℝ → ℝ is strictly convex on S and differentiable at x ∈ S, then the slope of any secant line with left endpoint at x is strictly greater than the derivative of f at x.

theorem StrictConvexOn.deriv_lt_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
deriv f x < slope f x y

### Strict convex functions, derivative at right endpoint of secant #

theorem StrictConvexOn.slope_lt_of_hasDerivWithinAt_Iio {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' () y) :
slope f x y < f'

If f : ℝ → ℝ is strictly convex on S and differentiable at y ∈ S, then the slope of any secant line with right endpoint at y is strictly less than the left derivative at y.

theorem StrictConvexOn.slope_lt_left_deriv {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y < derivWithin f () y
theorem StrictConvexOn.slope_lt_of_hasDerivWithinAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' S y) :
slope f x y < f'

If f : ℝ → ℝ is strictly convex on S and differentiable within S at y ∈ S, then the slope of any secant line with right endpoint at y is strictly less than the derivative of f within S at y.

This is fractionally weaker than StrictConvexOn.slope_lt_of_hasDerivWithinAt_Iio but simpler to apply under a DifferentiableOn S hypothesis.

theorem StrictConvexOn.slope_lt_derivWithin {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y < derivWithin f S y
theorem StrictConvexOn.slope_lt_of_hasDerivAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivAt f f' y) :
slope f x y < f'

If f : ℝ → ℝ is strictly convex on S and differentiable at y ∈ S, then the slope of any secant line with right endpoint at y is strictly less than the derivative of f at y.

theorem StrictConvexOn.slope_lt_deriv {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y < deriv f y

### Strict convex functions, strict monotonicity of derivative #

theorem StrictConvexOn.strictMonoOn_derivWithin {S : } {f : } (hfc : ) (hfd : ) :

If f is convex on S and differentiable on S, then its derivative within S is monotone on S.

theorem StrictConvexOn.strictMonoOn_deriv {S : } {f : } (hfc : ) (hfd : xS, ) :

If f is convex on S and differentiable at all points of S, then its derivative is monotone on S.

### Concave functions, derivative at left endpoint of secant #

theorem ConcaveOn.slope_le_of_hasDerivWithinAt_Ioi {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' () x) :
slope f x y f'
theorem ConcaveOn.slope_le_right_deriv {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y derivWithin f () x
theorem ConcaveOn.slope_le_of_hasDerivWithinAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : HasDerivWithinAt f f' S x) :
slope f x y f'
theorem ConcaveOn.slope_le_derivWithin {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y derivWithin f S x
theorem ConcaveOn.slope_le_of_hasDerivAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivAt f f' x) :
slope f x y f'
theorem ConcaveOn.slope_le_deriv {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y deriv f x

### Concave functions, derivative at right endpoint of secant #

theorem ConcaveOn.le_slope_of_hasDerivWithinAt_Iio {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' () y) :
f' slope f x y
theorem ConcaveOn.left_deriv_le_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
derivWithin f () y slope f x y
theorem ConcaveOn.le_slope_of_hasDerivWithinAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' S y) :
f' slope f x y
theorem ConcaveOn.derivWithin_le_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
derivWithin f S y slope f x y
theorem ConcaveOn.le_slope_of_hasDerivAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivAt f f' y) :
f' slope f x y
theorem ConcaveOn.deriv_le_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
deriv f y slope f x y

### Concave functions, anti-monotonicity of derivative #

theorem ConcaveOn.antitoneOn_derivWithin {S : } {f : } (hfc : ) (hfd : ) :
theorem ConcaveOn.antitoneOn_deriv {S : } {f : } (hfc : ) (hfd : xS, ) :

If f is concave on S and differentiable at all points of S, then its derivative is antitone (monotone decreasing) on S.

### Strict concave functions, derivative at left endpoint of secant #

theorem StrictConcaveOn.slope_lt_of_hasDerivWithinAt_Ioi {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' () x) :
slope f x y < f'
theorem StrictConcaveOn.slope_lt_right_deriv {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y < derivWithin f () x
theorem StrictConcaveOn.slope_lt_of_hasDerivWithinAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : HasDerivWithinAt f f' S x) :
slope f x y < f'
theorem StrictConcaveOn.slope_lt_derivWithin {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y < derivWithin f S x
theorem StrictConcaveOn.slope_lt_of_hasDerivAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : HasDerivAt f f' x) :
slope f x y < f'
theorem StrictConcaveOn.slope_lt_deriv {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
slope f x y < deriv f x

### Strict concave functions, derivative at right endpoint of secant #

theorem StrictConcaveOn.lt_slope_of_hasDerivWithinAt_Iio {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' () y) :
f' < slope f x y
theorem StrictConcaveOn.left_deriv_lt_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
derivWithin f () y < slope f x y
theorem StrictConcaveOn.lt_slope_of_hasDerivWithinAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivWithinAt f f' S y) :
f' < slope f x y
theorem StrictConcaveOn.derivWithin_lt_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
derivWithin f S y < slope f x y
theorem StrictConcaveOn.lt_slope_of_hasDerivAt {S : } {f : } {x : } {y : } {f' : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hf' : HasDerivAt f f' y) :
f' < slope f x y
theorem StrictConcaveOn.deriv_lt_slope {S : } {f : } {x : } {y : } (hfc : ) (hx : x S) (hy : y S) (hxy : x < y) (hfd : ) :
deriv f y < slope f x y

### Strict concave functions, anti-monotonicity of derivative #

theorem StrictConcaveOn.strictAntiOn_derivWithin {S : } {f : } (hfc : ) (hfd : ) :
theorem StrictConcaveOn.strictAntiOn_deriv {S : } {f : } (hfc : ) (hfd : xS, ) :