@ -65,11 +65,11 @@ Ihr wollt bestimmt weiter zu Quantus, unserem Schestermond, oder?
**Du**: Ehm, vielleicht …
**Du**: Ehm, vielleicht …
**Operationsleiter**: Dann habe ich noch eine letzte Bitte. Ich habe hier noch einen Brief für die Königin von Quantus! Auch schon von meinem Vorgänger geerbt. Die Post will ihn nicht annehmen, weil ich die Adresse nicht weiß. Könntet Ihr ihn vielleicht zu ihr mitnehmen?
**Operationsleiter**: Dann habe ich noch eine letzte Bitte. Ich habe hier noch ein Päckchen für die Königin von Quantus! Auch schon von meinem Vorgänger geerbt. Die Post will es nicht annehmen, weil ich die Adresse nicht weiß. Könntet Ihr es vielleicht zu ihr mitnehmen?
**Du**: Klar! Robo, halt mal.
**Du**: Klar! Robo, halt mal.
Robo nimmt den Brief und lässt ihn irgendwo in seinem Innern verschwinden.
Robo nimmt das Päckchen und lässt es irgendwo in seinem Innern verschwinden.
Introduction "Eure Reise geht weiter zum zweiten Mond. Dieser ist etwas grösser und
Introduction "Auf dem Schwestermond Quantus erwartet Euch bereits ein großer Ansammlung von Formalosopheninnen. Sie reden alle wild durcheinander und Ihr habt Probleme, Euch überhaupt Gehör zu verschaffen. Robo produziert schließlich ein lautes Gong-Geräusch, das sie kurzzeitig zur Ruhe bringt.
komplett mit buschartigen Pflanzen überwachsen. Der Landeanflug sit etwas kniffliger,
aber offenbar kann Robo nicht nur Lean übersetzen, sondern auch mit maschineller Genauigkeit
navigieren.
Ihr werdet sofort empfangen und man führt euch zur lokalen Machthaberin.
**Du**: Wir haben einen Brief für Eure Königin. Könntet Ihr uns zu Eurer Königin führen?
Ihr kommt an verschiedensten riesigen Büschen vorbei, die offensichtlich innen Ausgehöhlt sind
und so als Wände für Behausungen der Wesen hier dienen.
Man führt euch in einen der Büsche. Nun entdecksts du dass das Blätterdach künstlich verstärkt ist,
**Alle** *(im Chor)*: Wir sind schon alle hier!
offensichtlich um Regen abzuweisen.
Vor euch steht eine Frau, die euch als Machthabering *Evenine* vorgestellt wird."
**Du**: Ok. Und wer von Euch ist die Königin?
Nun herrscht betretenes Schweigen. Alle zucken mit den Schultern.
**Du**: Habt Ihr überhaupt eine Königin?
**Alle** *(im Chor)*: Ja, ja. Wir haben eine Königen, wir haben eine Königen.
**Robo** *(zu Dir)*: Ich fasse mal zusammen. Es existiert eine Königen, aber keiner weiß, wer sie ist …
**Du**: Ist das nicht ein Widerspruch?
**Robo**: Fragst Du, Du als Mathematiker? Nein, das ist kein Widerspruch. Das ist einfach eine „reine Existenzaussage“.
Du bist Dir nicht ganz sicher, wie ernst er das meint.
**Du**: Dann ich schlage vor, wir übergeben das Päckchen einfach an *alle* Bewohner. Dann haben wir es ja insbesondere der Königin übergeben.
**Du** *(in die Menge*): Wir haben Euch ein Päckchen von Implis gebracht. Hier, das ist für Euch.
Robo spuckt es aus, wirft es in die Menge, und die Formalosophinnen reißen es auf. Darin befinden sich ein paar loser Seiten, die sie sofort eingehend studieren.
Zwei Minuten später liegen die Seiten wieder bei Euch. Es sind wieder mathematische Probleme. Und die Formalosophinnen wollen sehen, wie Ihr sie löst.
Müde ruht ihr euch in eurer Bleibe aus. Du schaust doch eine Lücke in den Blättern vielen
Beim nächsten Problem bekommt ihr ausnahmsweise Hilfe vom Publikum.
kleinen Vögeln bei der Nahrungssuche zu.
**Du**: Sag mal Robo, ich hab vorhin ein Kind überhört, dass seinem Spielgefährten erklärt hat,
**Alle**: `rfl`, `rfl`, …
folgendes sei mit `rfl` zu beweisen:
"
"
Statement : 1 + 1 = 2 := by
Statement : 1 + 1 = 2 := by
Hint "**Du**: Wieso nicht `ring`?
Hint "**Du**: Wieso nicht `ring`?
**Robo**: Klar, `ring` geht auch und ist intuitiver.
**Robo**: Klar, `ring` würde normalerweise auch funktioneren. Aber ich würde mich hier dem Mehrheitswillen beugen …"
Für `rfl` kommt es darauf an, wie die Sachen genau definiert sind: `1 + 1` ist als
`(0.succ).succ` definiert und `2` halt ebenfalls.
"
rfl
rfl
OnlyTactic rfl
OnlyTactic rfl
Conclusion
Conclusion
"
"
**Du**: Dann war das mehr Glück?
**Robo**: Der Grund, warum hier ausnahmsweise auch mal `rfl` funktioniert hat, ist, dass auf beiden Seiten tatsächlich *per Definition* dasselbe steht. Das soll heißen, wenn man links in `1 + 1` die Definition von `1` und `+ 1` einsetzt, und rechts die Definition von `2`, dann erhält man *buchstäblich* dasselbe (nämlich `(0.succ).succ`).
**Robo**: Das ist eine Art die Welt zu sehen…
**Du**: Na schön. Muss ich mir jetzt diese Definition von `2` merken?
Am nächsten Tag erklärt euch *Evenine*, dass es auf dem Mond zwei Gruppierungen gibt,
Ihr habt nun alle Fragen aus dem königlichen Päckchen beantwortet, und die Formalosophinnen applaudieren. Dann wollen Sie aber auch noch ein paar Fragen stellen, aber sie können sich nicht einigen, welche.
ihre und die ihres Halbbruders *Oddeus*. Die Mottos sind
Ihr heute abwechselnd die Rufe „Even“ und „Odd“ aus der Menge heraus. Deshalb zeigt Dir Robo vorsichtshalber schon einmal die entsprechenden Definitionen an:
```
```
def Even (n : ℕ) : Prop := ∃ r, n = r + r
def Even (n : ℕ) : Prop := ∃ r, n = r + r
@ -29,18 +29,20 @@ und
def Odd (n : ℕ) : Prop := ∃ r, n = 2 * r + 1
def Odd (n : ℕ) : Prop := ∃ r, n = 2 * r + 1
```
```
**Evenine**: Hier, ich zeige euch mal etwas was man bei uns machen kann:
Schließlich taucht von irgendwo aus der Menge folgendes Papier auf:
"
"
Statement even_square (n : ℕ) (h : Even n) : Even (n ^ 2) := by
Statement even_square (n : ℕ) (h : Even n) : Even (n ^ 2) := by
Hint "**Robo**: Du kannst Dir mit `unfold Even` auch hier auf dem Papier die Definition sehen."
Branch
Branch
unfold Even
unfold Even
Hint "Rob**: Am besten machst du auch noch `unfold Even at h`, damit du verstehst was los ist."
Hint "Robo**: Am besten machst Du auch noch `unfold Even at h`, damit Du verstehst, was los ist."
Hint "**Robo**: Wie du oben siehst, ist `Even n` dadurch definiert,
Hint "**Robo**: Wie Du oben siehst, ist `Even n` dadurch definiert,
dass ein `r` existiert so dass `r + r = n`. Am besten
dass ein `r` existiert so dass `r + r = n` ist. Am besten
öffnest du diese Definition mit `unfold Even at *` einmal, dann siehst du besser, was los ist. "
öffnest du diese Definition mit `unfold Even at *` einmal.
Dann siehst Du besser, was los ist. "
unfold Even at *
unfold Even at *
Hint "**Du**: Also von `{h}` weiss ich jetzt dass ein `r` existiert, so dass `r + r = n`…
Hint "**Du**: Also von `{h}` weiß ich jetzt, dass ein `r` existiert, so dass `r + r = n` …
**Robo**: Mit `rcases h with ⟨r, hr⟩` kannst du dieses `r` tatsächlich einführen."
**Robo**: Mit `rcases h with ⟨r, hr⟩` kannst du dieses `r` tatsächlich einführen."
rcases h with ⟨r, hr⟩
rcases h with ⟨r, hr⟩
@ -48,18 +50,18 @@ Statement even_square (n : ℕ) (h : Even n) : Even (n ^ 2) := by
**Robo**: Genau. Und mit `use _` gibst du diese Zahl an."
**Robo**: Genau. Und mit `use _` gibst du diese Zahl an."
Hint (hidden := true) "**Robo**: Also sowas ähnliches wie `use 4 * r ^ 3`, aber ich kann
Hint (hidden := true) "**Robo**: Also sowas ähnliches wie `use 4 * r ^ 3`, aber ich kann
dir leider nicht sagen, welche Zahl passt.
Dir leider nicht sagen, welche Zahl passt.
"
"
Branch
Branch
rw [hr]
rw [hr]
Hint "**Robo**: Das geht auch, jetzt musst du aber wirklich `use` verwenden."
Hint "**Robo**: Das geht auch, jetzt musst Du aber wirklich `use` verwenden."
use 2 * r ^ 2
use 2 * r ^ 2
ring
ring
use 2 * r ^ 2
use 2 * r ^ 2
Hint "**Du**: Ah und jetzt `ring`!
Hint "**Du**: Ah, und jetzt `ring`!
**Robo**: Aber zuerst must du noch mit
**Robo**: Aber zuerst musst Du noch mit
`rw` `n` durch `r + r` ersetzen, da `ring` das sonst nicht weiss."
`rw` `n` durch `r + r` ersetzen, da `ring` das sonst nicht weiß."
rw [hr]
rw [hr]
ring
ring
@ -70,4 +72,4 @@ Statement even_square (n : ℕ) (h : Even n) : Even (n ^ 2) := by