--- title: Pruebas de "∑_{i # 1. Demostración en lenguaje natural Basta demostrar que \\[ 2\\sum_{i auxiliar n x a) _ = card (range n) • (n - 1) := sum_const (n - 1) _ = card (range n) * (n - 1) := nsmul_eq_mul _ _ _ = n * (n - 1) := congrArg (. * (n - 1)) (card_range n) -- 2ª demostración example : ∑ i ∈ range n, i = n * (n - 1) / 2 := by suffices _ : (∑ i ∈ range n, i) * 2 = n * (n - 1) by omega calc (∑ i ∈ range n, i) * 2 = (∑ i ∈ range n, i) + (∑ i ∈ range n, (n - 1 - i)) := by rw [sum_range_reflect (fun i => i) n, mul_two] _ = ∑ i ∈ range n, (i + (n - 1 - i)) := sum_add_distrib.symm _ = ∑ i ∈ range n, (n - 1) := sum_congr rfl (auxiliar n) _ = n * (n - 1) := by rw [sum_const, card_range, Nat.nsmul_eq_mul] -- 3ª demostración example : ∑ i ∈ range n, i = n * (n - 1) / 2 := by suffices _ : (∑ i ∈ range n, i) * 2 = n * (n - 1) by omega show (∑ i ∈ range n, i) * 2 = n * (n - 1) exact sum_range_id_mul_two n -- 4ª demostración example : ∑ i ∈ range n, i = n * (n - 1) / 2 := by rw [← sum_range_id_mul_two n] -- ⊢ ∑ i ∈ range n, i = (∑ i ∈ range n, i) * 2 / 2 rw [Nat.mul_div_cancel _ zero_lt_two] -- 5ª demostración example : (∑ i ∈ range n, i) = n * (n - 1) / 2 := sum_range_id n -- Lemas usados -- ============ -- variable (m : ℕ) -- variable (f g : ℕ → ℕ) -- variable (s t : Finset ℕ) -- #check (Nat.mul_div_cancel m : 0 < n → m * n / n = m) -- #check (add_sub_of_le : n ≤ m → n + (m - n) = m) -- #check (card_range n : card (range n) = n) -- #check (le_pred_of_lt : n < m → n ≤ m - 1) -- #check (mem_range : m ∈ range n ↔ m < n) -- #check (mul_two n : n * 2 = n + n) -- #check (nsmul_eq_mul m n : m • n = m * n) -- #check (sum_add_distrib : ∑ x ∈ s, (f x + g x) = ∑ x ∈ s, f x + ∑ x ∈ s, g x) -- #check (sum_congr : s = t → (∀ x ∈ t, f x = g x) → s.sum f = t.sum g) -- #check (sum_const m : ∑ _ ∈ s, m = card s • m) -- #check (sum_range_id n : ∑ i ∈ range n, i = n * (n - 1) / 2) -- #check (sum_range_id_mul_two n : (∑ i ∈ range n, i) * 2 = n * (n - 1)) -- #check (sum_range_reflect f n : ∑ j ∈ range n, f (n - 1 - j) = ∑ j ∈ range n, f j) ~~~ Se puede interactuar con las demostraciones anteriores en [Lean 4 Web](https://live.lean-lang.org/#url=https://raw.githubusercontent.com/jaalonso/Calculemus2_es/main/src/Formula_de_Gauss_de_la_suma.lean). # 3. Demostraciones con Isabelle/HOL ~~~isabelle theory Formula_de_Gauss_de_la_suma imports Main begin lemma fixes n :: nat shows "2 * (∑i