proposition: Lemma pulse_function_sums_to_point { n : nat } (f : ⟦ n ⟧%stn -> R) (i : ⟦ n ⟧%stn) (f_pulse_function : is_pulse_function i f) : Σ f = f i.
proof: Proof. destruct (stn_inhabited_implies_succ i) as [n' e_n_Sn']. destruct (!e_n_Sn'). rewrite (vecsum_dni f i). rewrite vecsum_eq_zero. { rewrite riglunax1. apply idpath. } intros k. unfold funcomp. unfold const_vec. assert (i_neq_dni : i ≠ dni i k). { exact (dni_neq_i i k). } intros; destruct (stn_eq_or_neq i (dni i k) ) as [eq | neq]. - apply (stnneq_iff_nopath i (dni i k)) in eq. apply weqtoempty. intros. apply eq. assumption. exact (dni_neq_i i k). - apply f_pulse_function; exact neq. 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