intros a aL Q; unfold genPcPf in |- *; case (genPcPf0 a aL Q).
intros x H'.
apply genPcP_incl with (i := a) (L1 := aL); auto.
Qed.
Hint Resolve genPcPf_incl.

(* Specifications: *)
Theorem spolyp_addEnd_genPcPf :
forall (aP R Q : list (poly A0 eqA ltM)) (a b : poly A0 eqA ltM),
~ BuchAux.zerop A A0 eqA n ltM a ->
~ BuchAux.zerop A A0 eqA n ltM b ->
In b aP ->
exists c : poly A0 eqA ltM,
In c aP /\
(In
(spolyp A A0 A1 eqA plusA invA minusA multA divA cs eqA_dec n ltM
ltM_dec os a c) (genPcPf a aP Q) \/
red A A0 A1 eqA invA minusA multA divA eqA_dec n ltM ltM_dec
(spolyp A A0 A1 eqA plusA invA minusA multA divA cs eqA_dec n ltM
ltM_dec os a c) (addEnd A A0 eqA n ltM a aP)) /\
divp A A0 eqA multA divA n ltM
(ppcp A A0 A1 eqA plusA invA minusA multA divA cs n ltM a b) c.