import Adam.Metadata
import Mathlib

Game "Adam"
World "Predicate"
Level 2

Title "Rewrite"

Introduction
"
Robo spuckt den Brief aus, den er dabei hatte, und gibt ihn *Evenine*.

**Evenine**: Das verstehe ich nicht, wisst ihr was damit gemeint ist?

Und sie händigt Dir den Brief:
"

Statement (a b c d : ℕ) (h₁ : c = d) (h₂ : a = b) (h₃ : a = d) : b = c := by
  Hint "**Du**: Schau mal, das ist ja fast genau, was wir auf *Implis* gemacht haben,
  nur jetzt mit Gleichheiten von Zahlen anstatt Genau-Dann-Wenn-Aussagen!

  **Robo**: `=` und `↔` kannst du praktisch gleich behandeln wenns um `rw` geht."
  Hint (hidden := true) "**Du**: Also auch `rw [hₓ]` und `rw [← hₓ]`?

  **Robo**: Probiers doch einfach."
  rw [h₁]
  Hint (hidden := true) "**Du**: Wie war das nochmals mit rückwärts umschreiben?

  **Robo**: `←` ist `\\l`. Und dann `rw [← hₓ]`"
  rw [←h₂]
  assumption

Conclusion
"
**Evenine**: Danke viemals, das hilft uns vermutlich, jetzt Frage ich mich aber…
"

NewTactic assumption rw
