proposition: Lemma hermite10 M : (hermite M) 1 0 = 0.
proof: Proof. rewrite /hermite Bezout_stepE /Bezout_mx /combine_mx. rewrite !mxE !big_ord_recl big_ord0 addr0 /=. case: egcdrP=> g u v a1 b1 heq hg ha1 hb1. rewrite ?(mxE,mulr0n,mulr1n,mulr0,mulr1,addr0,add0r) /=. have -> : lift 0 0 = 1 by move=> n; apply/ord_inj. by rewrite ha1 hb1 !mulrA -mulrDl [a1 * b1]mulrC -mulrDl addrC subrr !mul0r. Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat div seq path) mathcomp(ssralg fintype matrix mxalgebra bigop zmodp perm choice) dvdring mxstructure minor stronglydiscrete coherent edr