proposition: Lemma mulcA : associative mulc.
proof: Proof. move=> [a b] [c d] [e f] /=. rewrite !mulrDr !mulrDl !mulrN !mulNr !mulrA !opprD -!addrA. by congr ((_ + _) +i* (_ + _)); rewrite !addrA addrAC; congr (_ + _); rewrite addrC. Qed.
imports: HB(structures) mathcomp.ssreflect.ssreflect mathcomp(ssrfun ssrbool eqtype ssrnat seq choice fintype) mathcomp(bigop order ssralg ssrint div ssrnum rat poly closed_field) mathcomp(polyrcf matrix mxalgebra tuple mxpoly zmodp binomial realalg) mathcomp(mxpoly)