intros Q H'; red in |- *; intros H'0.
lapply (not_nil_in_polySet_elm Q (pO A n));
[ intros H'3; apply H'3 || elim H'3 | idtac ]; auto.
Qed.

(* Specifications: *)
Lemma inPolySet_is_pX :
forall (p : list (Term A n)) (L : list (poly A0 eqA ltM)),
inPolySet p L ->
exists a : Term A n, (exists q : list (Term A n), p = pX a q).