Inductive ConfluentReduce (Q : list (poly A0 eqA ltM)) : Prop :=
    ConfluentReduce0 :
      (forall p : list (Term A n),
       canonical A0 eqA ltM p ->
       ReduStarConfluent A A0 A1 eqA invA minusA multA divA eqA_dec n ltM
         ltM_dec Q p) -> ConfluentReduce Q.Inductive ConfluentReduce (Q : list (poly A0 eqA ltM)) : Prop :=
    ConfluentReduce0 :
      (forall p : list (Term A n),
       canonical A0 eqA ltM p ->
       ReduStarConfluent A A0 A1 eqA invA minusA multA divA eqA_dec n ltM
         ltM_dec Q p) -> ConfluentReduce Q.

Theorem SpolyQ_imp_ConfluentReduce : forall Q : list (poly A0 eqA ltM), SpolyQ A A0 A1 eqA invA minusA multA divA eqA_dec n ltM ltM_dec Q -> ConfluentReduce Q.