# Library CoqApprox.interval_compl

This file is part of the CoqApprox formalization of rigorous polynomial approximation in Coq: http://tamadi.gforge.inria.fr/CoqApprox/
Copyright (c) 2010-2013, ENS de Lyon and Inria.
This library is governed by the CeCILL-C license under French law and abiding by the rules of distribution of free software. You can use, modify and/or redistribute the library under the terms of the CeCILL-C license as circulated by CEA, CNRS and Inria at the following URL: http://www.cecill.info/
As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the library's author, the holder of the economic rights, and the successive licensors have only limited liability. See the COPYING file for more details.

Require Import Reals Psatz.
Require Import Interval_xreal.
Require Import Interval_interval.
Require Import ssreflect.
Require Import xreal_ssr_compat.

Set Implicit Arguments.

Lemma Xneg_as_Xmul (x : ExtendedR) : Xneg x = Xmul x (Xreal (-1)).

Lemma contains_trans (X : interval) (a b c : ExtendedR) :
contains X a -> contains X b -> contains (Interval_interval.Ibnd a b) c ->
contains X c.

Notation IIbnd := Interval_interval.Ibnd (only parsing).
Notation IInan := Interval_interval.Inan (only parsing).

Local Notation subset_ := Interval_interval.subset (only parsing).

Lemma subset_refl : forall x, subset_ x x.

Lemma contains_subset (X Y : interval) :
(exists t, contains X t) ->
(forall v : ExtendedR, contains X v -> contains Y v) ->
subset_ X Y.