(* This code is copyrighted by its authors; it is distributed under  *)
(* the terms of the LGPL license (see LICENSE and description files) *)
(* Contribution to the Coq Library   V6.3 (July 1999)                    *)
(****************************************************************************)
(*                                                                          *)
(*                                                                          *)
(*                   Solange Coupet-Grimal & Line Jakubiec                  *)
(*                                                                          *)
(*                                                                          *)
(*              Laboratoire d'Informatique de Marseille                     *)
(*               CMI-Technopole de Chateau-Gombert                          *)
(*                   39, Rue F. Joliot Curie                                *)
(*                   13453 MARSEILLE Cedex 13                               *)
(*           e-mail:{Solange.Coupet,Line.Jakubiec}@lim.univ-mrs.fr          *)
(*                                                                          *)
(*                                                                          *)
(*                                Coq V5.10                                 *)
(*                              May 30th 1996                               *)
(*                                                                          *)
(****************************************************************************)
(*                         Comparator_Relations.v                            *)
(****************************************************************************)
Require Export Compare_Nat.
Require Export Factorization.
Require Export Compare_Num.
Section Comparator_Rel.
Variable BASE : BT.
Definition FR (n : nat) (o : order) (x y : inf n) : order :=
match o return order with
| L => L
| E => Compare_Nat.comparison (val_inf n x) (val_inf n y)
| G => G
end.
Definition R (n : nat) (o : order) (x y : inf n)
(o' : order) : Prop := o' = FR n o x y.
(*Is R proper ?*)
Notation Proper := (proper _) (only parsing).

(* Specifications: *)
Lemma is_proper : proper _ BASE R.
unfold proper in |- *.