import Game.Levels.Addition.L09add_left_comm World "Addition" Level 11 Title "The final boss" namespace MyNat Introduction " We saw in the last level that by performing an algorithm repeating `add_assoc` and then applying `add_comm` and `add_left_comm` to sort variables, enables us to manually prove arbitrary identities involving addition of natural numbers. Let's now write a tactic which automates this. **TODO** ac_rfl tactic " macro_rules | `(tactic| ac_rfl) => `(tactic| simp only [add_assoc, add_left_comm, add_comm]) /-- If $a, b,\ldots h$ are arbitrary natural numbers, we have $(d + f) + (h + (a + c)) + (g + e + b) = a + b + c + d + e + f + g + h$. -/ Statement (a b c d e f g h : ℕ) : (d + f) + (h + (a + c)) + (g + e + b) = a + b + c + d + e + f + g + h := by ac_rfl NewTactic ac_rfl LemmaTab "Add" Conclusion " Congratulations! You finished addition world. Now go back to the overworld by clicking the home button in the top left. If you want to press on to the final boss of the game then go to Multiplication world next. If you are in no hurry, and would like to learn some more tactics, then you can try Advanced Addition World. "