Remark CombLinear_trans_cons_lem :
 forall (a : list (Term A n)) (R : list (poly A0 eqA ltM)),
 CombLinear R a ->
 forall (b : poly A0 eqA ltM) (Q : list (poly A0 eqA ltM)),
 R = b :: Q -> CombLinear Q (s2p A A0 eqA n ltM b) -> CombLinear Q a.

Theorem reduce_cb : forall (a b : list (Term A n)) (Q : list (poly A0 eqA ltM)), reduce A A0 A1 eqA invA minusA multA divA eqA_dec n ltM ltM_dec Q a b -> canonical A0 eqA ltM a -> CombLinear Q a -> CombLinear Q b.