Section Preducestar.
Load "hCoefStructure".
Load "hOrderStructure".
Load "hReduceplus".
Inductive reducestar (Q : list (poly A0 eqA ltM)) :
list (Term A n) -> list (Term A n) -> Prop :=
reducestar0 :
forall p q : list (Term A n),
reduceplus A A0 A1 eqA invA minusA multA divA eqA_dec n ltM ltM_dec Q p
q ->
irreducible A A0 A1 eqA invA minusA multA divA eqA_dec n ltM ltM_dec Q
q -> reducestar Q p q.

Theorem reducestar_eqp_com :
forall (Q : list (poly A0 eqA ltM)) (p q r s : list (Term A n)),
reducestar Q p q ->
canonical A0 eqA ltM p ->
eqP A eqA n p r -> eqP A eqA n q s -> reducestar Q r s.