(************************************************************************)
(*         *      The Rocq Prover / The Rocq Development Team           *)
(*  v      *         Copyright INRIA, CNRS and contributors             *)
(* <O___,, * (see version control and CREDITS file for authors & dates) *)
(*   \VV/  **************************************************************)
(*    //   *    This file is distributed under the terms of the         *)
(*         *     GNU Lesser General Public License Version 2.1          *)
(*         *     (see LICENSE file for the text of the license)         *)
(************************************************************************)
Local Open Scope R_scope.
Local Ltac Tauto.intuition_solver ::= auto with rorders real.
(** * Preliminaries lemmas *)

(* Specifications: *)
Lemma f_incr_implies_g_incr_interv : forall f g:R->R, forall lb ub,
lb < ub ->
(forall x y, lb <= x -> x < y -> y <= ub -> f x < f y) ->
(forall x, f lb <= x -> x <= f ub -> (comp f g) x = id x) ->
(forall x , f lb <= x -> x <= f ub -> lb <= g x <= ub) ->
(forall x y, f lb <= x -> x < y -> y <= f ub -> g x < g y).
Lemma derivable_pt_id_interv : forall (lb ub x:R),
lb <= x <= ub ->
derivable_pt id x.
Lemma pr_nu_var2_interv : forall (f g : R -> R) (lb ub x : R) (pr1 : derivable_pt f x)
(pr2 : derivable_pt g x),
lb < ub ->
lb < x < ub ->
(forall h : R, lb < h < ub -> f h = g h) -> derive_pt f x pr1 = derive_pt g x pr2.
(* begin hide *)
Lemma leftinv_is_rightinv : forall (f g:R->R),
(forall x y, x < y -> f x < f y) ->
(forall x, (comp f g) x = id x) ->
(forall x, (comp g f) x = id x).