Lemma matrix_inverse_to_right_and_left_inverse {n : nat} (A : Matrix R n n) : (matrix_inverse A) -> matrix_left_inverse A × matrix_right_inverse A. Proof. intros inv; split. - apply matrix_left_inverse_of_inverse; exact inv. - apply matrix_right_inverse_of_inverse; exact inv. 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.