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).
unfold proper in |- *.
intros a; case a; unfold R in |- *; simpl in |- *; auto with arith.
Qed.
(*Is R factorizable ?*)
Notation Factorizable := (factorizable _) (only parsing).

Lemma is_factorizable : factorizable _ R.