intros l a b H' H'0 H'1; split; simpl in |- *; auto.
apply olist_cons; auto.
repeat split; auto.
inversion H'1; simpl in H0; intuition.
apply canonical_nzeroP with (p := l); auto.
Qed.

(* Specifications: *)
Theorem canonical_pX_eqT :
forall a b p,
canonical (pX a p) ->
eqT a b -> ~ zeroP (A:=A) A0 eqA (n:=n) b -> canonical (pX b p).