intros a b x y H' H'0; try assumption.
apply Trans with (module_mult a y); unfold module_mult in |- *.
apply Ap_comp; auto with algebra.
apply Ap_comp; auto with algebra.
Qed.

(* Specifications: *)
Lemma MODULE_assoc :
forall (a b : R) (x : Mod),
Equal (module_mult (ring_mult a b) x) (module_mult a (module_mult b x)).