Module OrderedPositive <: OrderedType.
Definition t := positive.
Definition eq (x y: t) := x = y.
Definition lt := Plt.
Proof (@refl_equal t).
Proof (@sym_equal t).
Proof (@trans_equal t).
Proof Plt_trans.
Proof Plt_ne.
Definition lt (x y: t) :=
A.lt (fst x) (fst y) \/
(A.eq (fst x) (fst y) /\ B.lt (snd x) (snd y)).

Lemma lt_not_eq : forall x y : t, lt x y -> ~ eq x y.