fact: Fixpoint ker_c m n : forall (M : 'M_(m,n)), 'M_(dim_ker_c M,m) := if n is p.+1 then fun (M : 'M_(m,1 + _)) => let G1 := ker_col (lsubmx M) in ker_c (G1 *m rsubmx M) *m G1 else fun => 1%:M.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat div seq path) mathcomp(ssralg fintype perm choice matrix bigop zmodp mxalgebra poly) ssrcomplements dvdring stronglydiscrete