(* Contribution to the Coq Library   V6.3 (July 1999)                    *)
(****************************************************************************)
(*                 The Calculus of Inductive Constructions                  *)
(*                                                                          *)
(*                                Projet Coq                                *)
(*                                                                          *)
(*                     INRIA                        ENS-CNRS                *)
(*              Rocquencourt                        Lyon                    *)
(*                                                                          *)
(*                                Coq V5.10                                 *)
(*                              Nov 25th 1994                               *)
(*                                                                          *)
(****************************************************************************)
(*                                  Zle.v                                   *)
(****************************************************************************)
Require Export Arith.
Require Export misc.
Require Export groups.
Require Export Zbase.
Require Export Z_succ_pred.
Require Export Zadd.
(**************)
(* order on Z *)
(**************)
(************)
Definition leZ (x y : Z) :=
match x return Prop with
| OZ =>
match y return Prop with
| OZ => True
| pos n => True
| neg n => False
end
| pos n =>
match y return Prop with
| OZ => False
| pos m => n <= m
| neg m => False
end
| neg n =>
match y return Prop with
| OZ => True
| pos m => True
| neg m => m <= n
end
end.

(* Specifications: *)
(**************)
Lemma sign_absZ : forall x : Z, leZ OZ (absZ x).
(********************)
Lemma tech_le_pos_abs : forall x : Z, leZ OZ x -> absZ x = x.
(************************)
Theorem leZ_antisymmetric : antisym Z leZ.
Definition ltZ (x y : Z) := leZ (succZ x) y.