proposition: Lemma pointwise_prod_stdb_vector {n : nat} (v : Vector R n) (i : ⟦ n ⟧%stn) : v *pw (stdb_vector i) = scalar_lmult_vec (v i) (stdb_vector i).
proof: Proof. apply funextfun. intros j. unfold scalar_lmult_vec, vector_fmap, pointwise. destruct (stn_eq_or_neq i j) as [i_eq_j | i_neq_j]. - rewrite i_eq_j; apply idpath. - unfold stdb_vector. rewrite (stn_eq_or_neq_right i_neq_j). now do 2 rewrite rigmultx0. Defined.
imports: UniMath.Foundations.PartA UniMath.Foundations.NaturalNumbers UniMath.MoreFoundations.PartA UniMath.MoreFoundations.Nat UniMath.MoreFoundations.Tactics UniMath.Combinatorics.StandardFiniteSets UniMath.Combinatorics.Vectors UniMath.Algebra.RigsAndRings UniMath.Algebra.IteratedBinaryOperations UniMath.Algebra.Matrix UniMath.Algebra.GaussianElimination.Auxiliary