intros Q p q H'; elim H'; auto.
intros a b nZb p0 q0 H'0.
apply reducetop with (b := b) (nZb := nZb) (q := q0); auto.
apply pick_inv_in with (a := a); auto.
apply pick_inv_eqT with (Q := Q) (q := q0); auto.
Qed.
Definition s2p : poly A0 eqA ltM -> list (Term A n).
intros H'; elim H'.
intros x H'0; exact x.
Defined.

(* Specifications: *)
Theorem In_inp_inPolySet :
forall (Q : list (poly A0 eqA ltM)) (p : poly A0 eqA ltM),
In p Q -> ~ eqP A eqA n (s2p p) (pO A n) -> inPolySet (s2p p) Q.