proposition: Lemma left_inv_matrix_prod_is_left_inv {m n : nat} (A : Matrix R m n) (A' : Matrix R n n) (pa : matrix_left_inverse A) (pb : matrix_left_inverse A') : (matrix_left_inverse (A ** A')).
proof: Proof. intros. exists ((pr1 pb) ** (pr1 pa)); simpl. rewrite matrix_mult_assoc, <- (matrix_mult_assoc _ A _). now rewrite (pr2 pa), matlunax2, (pr2 pb). 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