intros a b p H' H'0 H'1.
split; auto.
apply olist_pX_eqT with (a := a); auto.
simpl in |- *; split; auto.
case H'; simpl in |- *; intuition.
Qed.

Theorem canonical_pX_order :
forall l a b, canonical (pX a (pX b l)) -> ltT b a.