proposition: Lemma maxrankfun_inj : injective mxf.
proof: Proof. move=> i j eqAij; have /row_free_inj := maxrowsub_free. move=> /(_ 1) /(_ (delta_mx 0 i) (delta_mx 0 j)). rewrite -!rowE !row_rowsub eqAij => /(_ erefl) /matrixP /(_ 0 i) /eqP. by rewrite !mxE !eqxx/=; case: (i =P j); rewrite // oner_eq0. 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 finalg zmodp matrix)