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.
45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
import TestGame.Metadata
|
|
|
|
set_option tactic.hygienic false
|
|
|
|
Game "TestGame"
|
|
World "Implication"
|
|
Level 8
|
|
|
|
Title "Genau dann wenn"
|
|
|
|
Introduction
|
|
"
|
|
Nun schauen wir uns Option 1) an, die du schon von UND kennst:
|
|
|
|
1. Mit `h.mp` und `h.mpr` (oder `h.1` und `h.2`) kann man die einzelnen Implikationen
|
|
direkt auswählen.
|
|
|
|
`h.mp` und `h.mpr` (oder `h.1` und `h.2`) sind die einzelnen Implikationen, und du kannst
|
|
mit denen ensprechend arbeiten. Insbesondere kannst du mit `apply h.mp` die Implikation
|
|
$A \\Rightarrow B$ anwenden, wenn das Goal $B$ ist.
|
|
|
|
*(PS: das `.mp` kommt von \"Modus Ponens\", ein Ausdruck as der Logik.)*
|
|
"
|
|
|
|
Statement
|
|
"Angenommen man hat $A \\iff B$ und $B \\Rightarrow C$, zeige $A \\Rightarrow C$."
|
|
(A B C : Prop) (h : A ↔ B) (g : B → C) : A → C := by
|
|
intro hA
|
|
apply g
|
|
apply h.mp
|
|
assumption
|
|
|
|
HiddenHint (A : Prop) (B : Prop) (C : Prop) (h : A ↔ B) (g : B → C) : A → C =>
|
|
"Fange wie immer mit `intro` an."
|
|
|
|
HiddenHint (A : Prop) (B : Prop) (C : Prop) (h : A ↔ B) (g : B → C) (hA : A) : C =>
|
|
"Wie im Implikationen-Level kannst du nun `apply` verwenden."
|
|
|
|
Hint (A : Prop) (B : Prop) (C : Prop) (h : A ↔ B) (g : B → C) (hA : A) : B =>
|
|
"Mit `apply h.mp` kannst du nun die Implikation `A → B` anwenden."
|
|
|
|
Conclusion "Im nächsten Level findest du die zweite Option."
|
|
|
|
NewTactics apply assumption
|