(** * Mean value theorem *)

Lemma MVT_gen (f : R -> R) (a b : R) (df : R -> R) :
let a0 := Rmin a b in
let b0 := Rmax a b in
(forall x, a0 < x < b0 -> is_derive f x (df x))
-> (forall x, a0 <= x <= b0 -> continuity_pt f x)
-> exists c, a0 <= c <= b0 /\ f b - f a = df c * (b - a).