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.
|
|
|
|
import TestGame.Metadata
|
|
|
|
|
import Std.Tactic.RCases
|
|
|
|
|
import Mathlib.Tactic.LeftRight
|
|
|
|
|
|
|
|
|
|
set_option tactic.hygienic false
|
|
|
|
|
|
|
|
|
|
Game "TestGame"
|
|
|
|
|
World "TestWorld"
|
|
|
|
|
Level 16
|
|
|
|
|
|
|
|
|
|
Title "Oder"
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
|
"
|
|
|
|
|
Übung macht den Meister...
|
|
|
|
|
"
|
|
|
|
|
|
|
|
|
|
Statement and_or_imp
|
|
|
|
|
"Benutze alle vier Methoden mit UND und ODER umzugehen um folgende Aussage zu beweisen."
|
|
|
|
|
(A B C : Prop) (h : (A ∧ B) ∨ (A → C)) (hA : A) : (B ∨ (C ∧ A)) := by
|
|
|
|
|
rcases h with h₁ | h₂
|
|
|
|
|
left
|
|
|
|
|
rcases h₁ with ⟨x, y⟩
|
|
|
|
|
assumption
|
|
|
|
|
right
|
|
|
|
|
constructor
|
|
|
|
|
apply h₂
|
|
|
|
|
assumption
|
|
|
|
|
assumption
|
|
|
|
|
|
|
|
|
|
Message (A : Prop) (B : Prop) (C : Prop) (h : A ∧ B ∨ (A → C)) (hA : A) : B ∨ (C ∧ A) =>
|
|
|
|
|
"Ein ODER in den Annahmen teilt man mit `rcases h with h₁ | h₂`. Der `|` signalisiert
|
|
|
|
|
dass `h₁` und `h2` die Namen der neuen Annahmen in den verschiedenen Fällen sind."
|
|
|
|
|
|
|
|
|
|
Message (A : Prop) (B : Prop) (C : Prop) (h : A ∧ B) (hA : A) : B ∨ (C ∧ A) =>
|
|
|
|
|
"Ein ODER im Goal kann mit `left` oder `right` angegangen werden."
|
|
|
|
|
|
|
|
|
|
Message (A : Prop) (B : Prop) (C : Prop) (h : A ∧ B) (hA : A) : B =>
|
|
|
|
|
"Ein UND in den Annahmen kann man mit `rcases h with ⟨h₁, h₂⟩` aufteilen.
|
|
|
|
|
Der Konstruktor `⟨⟩` signalisiert hier, dass dann nur ein Goal aber zwei neu benannte
|
|
|
|
|
Annahmen erhält."
|
|
|
|
|
|
|
|
|
|
Message (A : Prop) (B : Prop) (C : Prop) (h : A ∧ B) : C =>
|
|
|
|
|
"Sackgasse."
|
|
|
|
|
|
|
|
|
|
Message (A : Prop) (B : Prop) (C : Prop) (h : A ∧ B) : C ∧ A =>
|
|
|
|
|
"Hmmm..."
|
|
|
|
|
|
|
|
|
|
Message (A : Prop) (B : Prop) (C : Prop) (h : A → C) : C ∧ A =>
|
|
|
|
|
"Ein UND im Goal kann mit `constructor` aufgeteilt werden."
|
|
|
|
|
|
|
|
|
|
Tactics left right assumption constructor rcases
|