proposition: Lemma eqid_mulidAl l m n (K : 'cV[R]_l) (I : 'cV[R]_m) (J : 'cV[R]_n) : (I *i (J *i K) :=: (I *i J) *i K)%IS.
proof: Proof. rewrite /mulid; apply/eqidP/andP; split; apply/subid_colP => i; case/mxvec_indexP : i => i j; rewrite !(mxE, mxvecE, big_ord1). case/mxvec_indexP : j => j k; rewrite !(mxE, mxvecE, big_ord1). rewrite (subid_trans _ (subrid (mxvec_index (mxvec_index i j) k) _)) //. by rewrite !(mxE, mxvecE, big_ord1) mulrA. case/mxvec_indexP : i => i k; rewrite !(mxE, mxvecE, big_ord1). rewrite (subid_trans _ (subrid (mxvec_index i (mxvec_index k j)) _)) //. by rewrite !(mxE, mxvecE, big_ord1) mulrA. Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat div seq path) mathcomp(ssralg fintype perm choice fingroup) mathcomp(matrix bigop zmodp mxalgebra poly) ssrcomplements