|
|
@ -14,63 +14,41 @@ Title "Contradiction"
|
|
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
Introduction
|
|
|
|
"
|
|
|
|
"
|
|
|
|
|
|
|
|
**Du**: Sag mal Robo, das hätte ich aber auch als Widerspruch anstatt Kontraposition
|
|
|
|
|
|
|
|
beweisen können?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Robo**: Klar. `contrapose` ist eine Kontraposition, `by_contra` ein Widerspruchsbeweis.
|
|
|
|
|
|
|
|
Probiers doch einfach!
|
|
|
|
In diesem Kapitel hast du also folgende Taktiken kennengelernt:
|
|
|
|
In diesem Kapitel hast du also folgende Taktiken kennengelernt:
|
|
|
|
|
|
|
|
|
|
|
|
| | Taktik | Beispiel |
|
|
|
|
|
|
|
|
|:------|:----------------|:-------------------------------------------------------|
|
|
|
|
|
|
|
|
| 16 | `have` | Zwischenresultat annehmen. |
|
|
|
|
|
|
|
|
| 17 | `suffices` | Zwischenresultat annehmen. |
|
|
|
|
|
|
|
|
| 18 | `by_contra` | Widerspruch. (startet einen Widerspruch) |
|
|
|
|
|
|
|
|
| *3* | `contradiction` | *(Schliesst einen Widerspruchsbeweis)* |
|
|
|
|
|
|
|
|
| 19 | `contrapose` | Contraposition. |
|
|
|
|
|
|
|
|
| *9* | `revert` | Nützlich um danach `contrapose` anzuwenden. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Als Vergleich zwischen Beweisen \"per Widerspruch\"
|
|
|
|
Als Vergleich zwischen Beweisen \"per Widerspruch\"
|
|
|
|
und \"per Kontraposition\", beweise die Gleiche Aufgabe indem
|
|
|
|
und \"per Kontraposition\", beweise die Gleiche Aufgabe indem
|
|
|
|
du mit `by_contra` einen Widerspruch suchst.
|
|
|
|
du mit `by_contra` einen Widerspruch suchst.
|
|
|
|
"
|
|
|
|
"
|
|
|
|
|
|
|
|
|
|
|
|
Statement
|
|
|
|
Statement (n : ℕ) (h : Odd (n ^ 2)) : Odd n := by
|
|
|
|
"Ist n² ungerade, so ist auch n ungerade. Beweise durch Widerspruch."
|
|
|
|
Hint "**Robo**: Fang diesmal mit `by_contra g` an!"
|
|
|
|
(n : ℕ) (h : Odd (n ^ 2)) : Odd n := by
|
|
|
|
|
|
|
|
by_contra g
|
|
|
|
by_contra g
|
|
|
|
|
|
|
|
Hint "**Robo**: Jetzt würde ich einen Widerspruch zu `Odd (n ^ 2)` führen."
|
|
|
|
|
|
|
|
Hint "**Robo**: Also `suffices g : ¬ Odd (n ^ 2)`."
|
|
|
|
suffices d : ¬ Odd (n ^ 2)
|
|
|
|
suffices d : ¬ Odd (n ^ 2)
|
|
|
|
contradiction
|
|
|
|
contradiction
|
|
|
|
rw [not_odd] at *
|
|
|
|
rw [not_odd] at *
|
|
|
|
apply even_square
|
|
|
|
apply even_square
|
|
|
|
assumption
|
|
|
|
assumption
|
|
|
|
|
|
|
|
|
|
|
|
HiddenHint (n : ℕ) (h : Odd (n^2)) : Odd n =>
|
|
|
|
DisabledTactic contrapose revert
|
|
|
|
"Schreibe `by_contra h₁` um einen Beweis durch Widerspruch zu starten."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hint (n : ℕ) (g : ¬ Odd n) (h : Odd (n^2)) : False =>
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
Am sinnvollsten ist es, hier einen Widerspruch zu `Odd (n^2)` zu suchen.
|
|
|
|
|
|
|
|
Dafür kannst du
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
suffices k : ¬ Odd (n ^ 2)
|
|
|
|
|
|
|
|
contradiction
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
benützen.
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HiddenHint (n : ℕ) (g : ¬ Odd (n^2)) (h : Odd (n^2)) : False =>
|
|
|
|
|
|
|
|
"Hier brauchst du nur `contradiction`."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hint (n : ℕ) (g : ¬ Odd n) (h : Odd (n^2)) : ¬ Odd (n^2) =>
|
|
|
|
Conclusion "**Robo**: Bravo! Hier nochmals ein Überblick, was wir jetzt alles auf diesem
|
|
|
|
"Das Zwischenresultat `¬Odd (n^2)` muss auch bewiesen werden.
|
|
|
|
Mond gelernt haben:
|
|
|
|
Hier ist wieder das Lemma `not_Odd` hilfreich."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HiddenHint (n : ℕ) (g : ¬ Odd n) (h : Odd (n^2)) : Even (n^2) =>
|
|
|
|
| | Taktik | Beispiel |
|
|
|
|
"Mit `rw [not_Odd] at *` kannst du im Goal und allen Annahmen gleichzeitig umschreiben."
|
|
|
|
|:------|:----------------|:-------------------------------------------------------|
|
|
|
|
|
|
|
|
| 177 | `have` | Zwischenresultat annehmen. |
|
|
|
|
Hint (n: ℕ) (h : Odd (n ^ 2)) (g : Even n) : Even (n ^ 2) =>
|
|
|
|
| 18 | `suffices` | Zwischenresultat annehmen. |
|
|
|
|
"Diese Aussage hast du bereits als Lemma bewiesen."
|
|
|
|
| 19 | `by_contra` | Widerspruch. (startet einen Widerspruch) |
|
|
|
|
|
|
|
|
| *3* | `contradiction` | *(Schliesst einen Widerspruchsbeweis)* |
|
|
|
|
HiddenHint (n: ℕ) (h : Odd (n ^ 2)) (g : Even n) : Even (n ^ 2) =>
|
|
|
|
| 20 | `contrapose` | Kontraposition. |
|
|
|
|
"Probiers mit `apply ...`"
|
|
|
|
| *9* | `revert` | Nützlich um danach `contrapose` anzuwenden. |
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
|
|
|
|
NewTactic contradiction by_contra rw apply assumption -- TODO: suffices, have
|
|
|
|
|
|
|
|
NewDefinition Even Odd
|
|
|
|
|
|
|
|
NewLemma not_odd not_even even_square
|
|
|
|
|
|
|
|