You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lean4game/server/adam/Adam/Levels/Contradiction/L06_Summary.lean

59 lines
2.2 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import Adam.Metadata
import Std.Tactic.RCases
import Mathlib.Tactic.Contrapose
import Mathlib.Tactic.Use
import Mathlib.Tactic.Ring
import Adam.ToBePorted
Game "Adam"
World "Contradiction"
Level 6
Title "Contradiction"
Introduction
"
**Du**: Aber hätten wir die letzte Aufgabe nicht genauso gut per Widerspruch beweisen können?
**Benedictus**: Klar. Ich dachte nur, ein zweiter Widerspruchsbeweis wäre langweilig. Aber Ihr könnt die Aufgabe gern noch einmal probieren. Hier, ich gebe Sie Euch mit auf die Reise. Aber nun seht zu, dass Ihr weiterkommt!"
-- Statt mit `contrapose` `by_contra` ein Widerspruchsbeweis.
-- Probiers doch einfach!
-- In diesem Kapitel hast du also folgende Taktiken kennengelernt:
-- Als Vergleich zwischen Beweisen \"per Widerspruch\"
-- und \"per Kontraposition\", beweise die Gleiche Aufgabe indem
-- du mit `by_contra` einen Widerspruch suchst.
open Nat
Statement (n : ) (h : Odd (n ^ 2)) : Odd n := by
Hint "Sobald Ihr Euch sicher vom Gravitationsfeld des Asteroiden befreit habt, beugt Ihr Euch wieder über die Aufgabe.
**Robo**: Ok, also diesmal fangen wir mit `by_contra g` an!"
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)
contradiction
rw [←even_iff_not_odd] at *
apply even_square
assumption
DisabledTactic contrapose revert
Conclusion "**Robo**: Bravo! Hier ein Überblick, was uns Benediktus gezeigt hat.
| | Taktik | Beispiel |
|:------|:----------------|:-------------------------------------------------------|
| 177 | `have` | Zwischenresultat annehmen |
| 18 | `suffices` | Zwischenresultat annehmen |
| 19 | `by_contra` | Widerspruch *(startet einen Widerspruchsbeweis)* |
| *3* | `contradiction` | *(schliesst einen Widerspruchsbeweis)* |
| 20 | `contrapose` | Kontraposition |
| *9* | `revert` | nützlich, um danach `contrapose` anzuwenden |
"