Definition switch_row_matrix {n : nat} (r1 r2 : ⟦ n ⟧ %stn) : Matrix R n n. Proof. intros i. induction (stn_eq_or_neq i r1). - exact (@identity_matrix R n r2). - induction (stn_eq_or_neq i r2). + exact (@identity_matrix R n r1). + exact (@identity_matrix R n i). 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.Matrix. Require Import UniMath.Algebra.RigsAndRings. Require Import UniMath.Algebra.IteratedBinaryOperations. Require Import UniMath.Algebra.Domains_and_Fields. Require Import UniMath.Algebra.GaussianElimination.Auxiliary. Require Import UniMath.Algebra.GaussianElimination.Vectors. Require Import UniMath.Algebra.GaussianElimination.Matrices.