import TestGame.Metadata import TestGame.Options.BigOperators import Mathlib set_option tactic.hygienic false Game "TestGame" World "Sum" Level 2 Title "endliche Summe" Introduction " Generell sind aber nur solche Lemmas `@[simp]` markiert, klar eine Vereinfachung darstellen. So ist ein Lemma wie `Finset.sum_add_distrib` kein `simp`-Lemma, da beide Seiten je nach Situation bevorzugt sein könnte: $$ \\sum_{i = 0}^n a_i + b_i = \\sum_{i = 0}^n a_i + \\sum_{j = 0}^n b_j $$ Dieses Lemma kann aber mit `rw` angewendet werden. " open BigOperators Statement "Zeige dass $\\sum_{i=0}^{n-1} (i + 1) = n + \\sum_{i=0}^{n-1} i$." (n : ℕ) : ∑ i : Fin n, ((i : ℕ) + 1) = n + (∑ i : Fin n, (i : ℕ)) := by rw [Finset.sum_add_distrib] simp ring NewLemmas Finset.sum_add_distrib add_comm Hint (n : ℕ) : ∑ x : Fin n, ↑x + ∑ x : Fin n, 1 = n + ∑ i : Fin n, ↑i => "Die zweite Summe `∑ x : Fin n, 1` kann `simp` zu `n` vereinfacht werden." Hint (n : ℕ) : ∑ x : Fin n, ↑x + n = n + ∑ x : Fin n, ↑x => "Bis auf Umordnung sind jetzt beide Seiten gleich, darum kann `ring` das Goal schließen. Alternativ kann man auch mit `rw [add_comm]` dies explizit umordnen."