proposition: Lemma mxblock_recul {p q : nat} {p_ : 'I_p.+1 -> nat} {q_ : 'I_q.+1 -> nat} (B_ : forall i j, 'M[T]_(p_ i, q_ j)) : \mxblock_(i, j) B_ i j = castmx e (block_mx (B_ 0 0) (\mxrow_j B_ ord0 (l0 j)) (\mxcol_i B_ (l0 i) ord0) (\mxblock_(i, j) B_ (l0 i) (l0 j))).
proof: Proof. rewrite mxblock_recl mxcol_recu mxblock_recu -cast_row_mx -block_mxEh. by rewrite castmx_comp; apply: eq_castmx. 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)