proposition: Lemma zero_row_product { m n p : nat } (A : Matrix R m n) (B : Matrix R n p) (i : ⟦m⟧%stn) (Ai_zero : row A i = const_vec 0%rig) : row (A ** B) i = const_vec 0%rig.
proof: Proof. apply toforallpaths in Ai_zero. apply funextfun; intro k. apply vecsum_eq_zero. intro j; unfold pointwise. etrans. { apply maponpaths_2, Ai_zero. } apply rigmult0x. Defined.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.Combinatorics.StandardFiniteSets UniMath.Combinatorics.Vectors UniMath.Algebra.RigsAndRings UniMath.Algebra.IteratedBinaryOperations UniMath.Algebra.Matrix UniMath.Algebra.Domains_and_Fields UniMath.Algebra.GaussianElimination.Auxiliary UniMath.Algebra.GaussianElimination.Vectors