intros bound p length base; case length; simpl in |- *;
case (Pcompare bound p Datatypes.Eq); auto;
(intros H; case H; auto; fail) || (intros p' H; case H; auto).
Qed.

(* Specifications: *)
Theorem compare_SUP_dec :
forall p q : positive,
Pcompare p q Datatypes.Eq = Datatypes.Gt \/
Pcompare p q Datatypes.Eq <> Datatypes.Gt.