Lemma matrix_product_transpose { m n p : nat } (A : Matrix CR m n) (B : Matrix CR n p) : (transpose (A ** B)) = ((transpose B) ** (transpose A)). Proof. intros. apply funextfun. intros i. apply funextfun. intros k. apply vecsum_eq. intros j. unfold col, row, pointwise, transpose, flip; cbn. apply rigcomm2. Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.Combinatorics.StandardFiniteSets. Require Import UniMath.Combinatorics.Vectors. Require Import UniMath.Algebra.RigsAndRings. Require Import UniMath.Algebra.IteratedBinaryOperations. Require Import UniMath.Algebra.Matrix. Require Import UniMath.Algebra.Domains_and_Fields. Require Import UniMath.Algebra.GaussianElimination.Auxiliary. Require Import UniMath.Algebra.GaussianElimination.Vectors.