intros Q p q H'; elim H'.
intros p0 q0 H'0; inversion H'0.
intros H'1 H'2; left; split; auto.
apply irreducible_eqp_com with (1 := cs) (p := q0); auto.
apply eqp_imp_canonical with (p := p0) (1 := cs); auto.
apply (eqp_sym _ _ _ _ _ _ _ _ _ cs n); auto.
intros H'1 H'2; right; exists y; split; auto.
apply reducestar0; auto.
Qed.

(* Specifications: *)
Lemma pO_reducestar :
forall (Q : list (poly A0 eqA ltM)) (p : list (Term A n)),
reducestar Q (pO A n) p -> p = pO A n.