proposition: Lemma mxEmxrow m n (A : 'M[T]_(m, n)) : A = castmx (erefl, big_ord1 _ (fun=> n)) (\mxrow__ A).
proof: Proof. apply/matrixP => i j; rewrite castmxE !mxE/= cast_ord_id. congr (A i); set j' := cast_ord _ _. suff -> : j' = (tagnat.Rank 0 j) by apply/val_inj; rewrite tagnat.Rank2K. by apply/val_inj; rewrite [RHS]tagnat.RankEsum/= big_pred0_eq add0n. 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)