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 Adam.Metadata
|
|
|
|
|
import Std.Tactic.RCases
|
|
|
|
|
import Mathlib.Tactic.Cases
|
|
|
|
|
import Mathlib
|
|
|
|
|
|
|
|
|
|
Game "Adam"
|
|
|
|
|
World "Implication"
|
|
|
|
|
Level 11
|
|
|
|
|
|
|
|
|
|
Title "by_cases"
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
|
"
|
|
|
|
|
**Du**: Sagt mal, hätte ich da nicht auch einfach zwei Fälle anschauen können:
|
|
|
|
|
Wenn `A` wahr ist, beweis ich die rechte Seite, sonst die Linke.
|
|
|
|
|
|
|
|
|
|
**Robo**: Tatsächlich, `by_cases h : A` würde genau das machen!
|
|
|
|
|
"
|
|
|
|
|
|
|
|
|
|
Statement (A : Prop) : ¬A ∨ A := by
|
|
|
|
|
Hint (hidden := true) "**Du**: Wie?
|
|
|
|
|
|
|
|
|
|
**Robo**: Also `by_cases h : A` erstellt zwei Goals. Im ersten hast Du `(h : A)` zur
|
|
|
|
|
Verfügung, im zweiten `(h : ¬ A)`."
|
|
|
|
|
by_cases h : A
|
|
|
|
|
Hint "**Du**: "
|
|
|
|
|
right
|
|
|
|
|
assumption
|
|
|
|
|
left
|
|
|
|
|
assumption
|
|
|
|
|
|
|
|
|
|
Conclusion
|
|
|
|
|
"
|
|
|
|
|
**Du**: Das kann noch ganz nützlich sein.
|
|
|
|
|
"
|
|
|
|
|
|
|
|
|
|
NewTactic by_cases
|
|
|
|
|
DisabledTactic tauto
|