proposition: Lemma row_mxdiag (B_ : forall i, 'M[V]_(p_ i)) k : let B'_ i := if sig1 k == i then conform_mx 0 (B_ i) else 0 in row k (\mxdiag_ i B_ i) = row (sig2 k) (\mxrow_i B'_ i).
proof: Proof. rewrite /= row_mxblock row_mxrow; apply/eq_mxrow => i. by case: eqVneq => // e; congr row; rewrite e. Qed.
imports: HB(structures) mathcomp(ssreflect ssrbool ssrfun eqtype ssrnat seq choice) mathcomp(fintype finfun bigop finset fingroup perm order) mathcomp(div prime binomial ssralg countalg finalg zmodp)