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.
47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
import TestGame.Metadata
|
|
import Std.Tactic.RCases
|
|
import Mathlib.Tactic.LeftRight
|
|
|
|
Game "TestGame"
|
|
World "Proposition"
|
|
Level 7
|
|
|
|
Title "Widerspruch beweist alles."
|
|
|
|
Introduction
|
|
"
|
|
Als nächstes kommen drei Querulanten. Der erste hat folgendes Problem:
|
|
"
|
|
|
|
Statement
|
|
"Sei $A$ eine Aussage und angenommen man hat einen Beweis für `False`.
|
|
Zeige, dass daraus $A$ folgt."
|
|
(A : Prop) (h : False) : A := by
|
|
contradiction
|
|
|
|
Hint (A : Prop) (h : False) : A =>
|
|
"
|
|
**Du** Wenn ich das jetzt richtig lese, ist `A` eine Aussage, und wir haben außerdem eine Annahme names `h`, die besagt …
|
|
|
|
**Robo** … die besagt, dass `False` gilt.
|
|
|
|
**Du** Ich dachte, `False` gilt nie?
|
|
|
|
**Robo** Ja, genau. Die Annahme ist `False`, also falsch. Und aus einer falschen Annahme kann man bekanntlich alles beweisen! Insbesondere die gesuchte Aussage `A`.
|
|
|
|
**Du** Und wie erkläre ich das jetzt diesem Formalosophen?
|
|
|
|
**Robo** Ich glaube, Du musst ihn darauf hinweisen, dass zwischen der allgemeingültigen Annahme `True` und seiner Annahme `False` ein Widerspruch besteht. Probier mal `contradiction`.
|
|
"
|
|
|
|
Conclusion
|
|
"Der erste Querulant ist offenbar zufrieden.
|
|
|
|
**Du** War das jetzt ein Widerspruchsbeweis?
|
|
|
|
**Robo** Nein, nein, ein Widerspruchsbeweis sieht anders aus. Das Argument hier war: wir haben eine `contradiction` in unserem Annahmen, also folgt jede beliebige Aussage.
|
|
"
|
|
|
|
NewTactics contradiction
|
|
DisabledTactics tauto
|