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/testgame/TestGame/Levels/Negation/L04_Contra.lean

36 lines
1.1 KiB
Plaintext

2 years ago
import TestGame.Metadata
import Std.Tactic.RCases
import Mathlib.Tactic.LeftRight
2 years ago
Game "TestGame"
World "Predicate"
Level 2
2 years ago
Title "Widerspruch"
2 years ago
Introduction
"
Im weiteren kann man auch Widersprüche erhalten, wenn man Annahmen der Form
2 years ago
`A ≠ A` (`\\ne`) hat, oder Aussagen der Form
`A = B` hat, wo Lean weiss, dass `A` und `B` unterschiedlich sind, wie zum Beispiel `0 = 1` in ``.
*Bemerkung:* `X ≠ Y` muss man als `¬ (X = Y)` lesen, und auch so behandeln.
2 years ago
"
Statement
2 years ago
"Angenommen man hat $a = b = c$ und $a \\ne c$ natürliche Zahlen $a, b, c$.
Zeige, dass man daraus jede beliebige Aussage beweisen kann."
(A : Prop) (a b c : ) (g₁ : a = b) (g₂ : b = c) (h : a ≠ c) : A := by
rw [g₁] at h
contradiction
Message (A : Prop) (a : ) (b : ) (c : ) (g₁ : a = b) (g₂ : b = c) (h : a ≠ c) : A =>
2 years ago
"Benütze `rw [...] at ...` um zwei Aussagen zu bekommen die genau das Gegenteil
aussagen."
2 years ago
2 years ago
Hint (A : Prop) (a : ) (b : ) (g₁ : a = b) (h : a ≠ b) : A =>
"`X ≠ Y` muss man als `¬ (X = Y)` lesen. Deshalb findet `contradiction` hier direkt
einen Widerspruch."
2 years ago
Tactics contradiction