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.