intros p L H'.
apply cb_compo with (L1 := red L); auto.
intros q H'0.
apply red_cb; auto.
Qed.
Hypothesis
nf_div_zero1 :
forall (p : poly) (L : list poly),
~ zerop p ->
zerop (nf L p) -> ex (fun q : poly => In q L /\ divp p q /\ ~ zerop q).

(* Specifications: *)
Theorem redacc_divp :
forall (L1 L2 : list poly) (p : poly),
~ zerop p ->
In p (L1 ++ L2) ->
exists q : poly, In q (redacc L1 L2 ++ L2) /\ divp p q /\ ~ zerop q.