(**************************************************************************)
(*                                                                        *)
(*  The Why3 Verification Platform   /   The Why3 Development Team        *)
(*  Copyright 2010-2013   --   INRIA - CNRS - Paris-Sud University        *)
(*                                                                        *)
(*  This software is distributed under the terms of the GNU Lesser        *)
(*  General Public License version 2.1, with the special exception        *)
(*  on linking described in file LICENSE.                                 *)
(*                                                                        *)
(*  File modified by CEA (Commissariat à l'énergie atomique et aux        *)
(*                        énergies alternatives).                         *)
(*                                                                        *)
(**************************************************************************)

(* this is a prelude for Alt-Ergo*)
(** The theory BuiltIn_ must be appended to this file*)
(** The theory Bool_ must be appended to this file*)
(** The theory real_Real_ must be appended to this file*)
function sqr(x: real) : real = (x * x)

logic sqrt : real -> real

axiom Sqrt_positive : (forall x:real. ((0.0 <= x) -> (0.0 <= sqrt(x))))

axiom Sqrt_square : (forall x:real. ((0.0 <= x) -> (sqr(sqrt(x)) = x)))

axiom Square_sqrt : (forall x:real. ((0.0 <= x) -> (sqrt((x * x)) = x)))

axiom Sqrt_mul :
  (forall x:real. forall y:real. (((0.0 <= x) and (0.0 <= y)) ->
  (sqrt((x * y)) = (sqrt(x) * sqrt(y)))))

axiom Sqrt_le :
  (forall x:real. forall y:real. (((0.0 <= x) and (x <= y)) ->
  (sqrt(x) <= sqrt(y))))

