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/L03_ByContra.lean

54 lines
1.7 KiB
Plaintext

import Adam.Metadata
2 years ago
import Std.Tactic.RCases
import Mathlib.Tactic.LeftRight
import Mathlib.Tactic.Contrapose
import Mathlib.Tactic.Use
import Mathlib.Tactic.Ring
import Mathlib
import Adam.ToBePorted
2 years ago
Game "Adam"
2 years ago
World "Contradiction"
Level 3
Title "Widerspruch"
2 years ago
Introduction
"**Benedictus**: Hier ist noch eine Variante.
2 years ago
"
-- Eine sehr nützliche Beweismethode ist per Widerspruch.
2 years ago
-- Wir habe schon gesehen, dass `contradiction` einen Widerspruch in den Annahmen
-- sucht, und damit jegliches beweisen kann.
2 years ago
-- Um dorthin zu kommen, können wir `by_contra h` brauchen, welches das aktuelle
-- Goal auf `False` setzt und die Negierung des Goals als Annahme hinzufügt.
2 years ago
-- Insbesondere braucht man `by_contra h` meistens, wenn im Goal eine Negierung
-- steht:
2 years ago
Statement (A B : Prop) (g : A → B) (b : ¬ B) : ¬ A := by
Hint "**Robo**: Ein `¬` im Goal heißt häufig, dass Du einen Widerspruchsbeweis führen
möchtest.
2 years ago
**Du**: Und wie mache ich das? Mit `contradiction`?
**Robo**: Mit `by_contra h` fängst Du einen Widerspruchsbeweis an. Und mit `contradiction` schließt Du ihn ab."
by_contra h
Hint "**Robo**: Jetzt hast du also eine Annahme `{h} : {A}`, und damit musst Du einen Widerspruch herleiten.
Du könntest zum Beispiel jetzt mit `suffices` sagten, welchen Widerspruch Du gern herleiten möchtest, etwa `suffices k : B`
"
suffices k : B
Hint "**Du**: Ah, und jetzt kann ich einfach sagen dass sich die Annahmen `{B}` und `¬{B}` sich widersprechen."
contradiction
Hint "**Robo**: Und jetzt musst Du nur noch das Zwischenresultat herleiten, dass zu diesem Widerspruch geführt hat."
apply g
assumption
2 years ago
NewTactic by_contra
2 years ago
Conclusion "**Benedictus**: Ich sehe schon, Ihr lernt schnell!"