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.
42 lines
1.6 KiB
Plaintext
42 lines
1.6 KiB
Plaintext
import Adam.Metadata
|
|
|
|
Game "Adam"
|
|
World "Implication"
|
|
Level 6
|
|
|
|
Title "Genau dann, wenn"
|
|
|
|
Introduction
|
|
"
|
|
**Operationsleiter:** Wir hatten auch mal ein paar Förderbänder, die in beide Richtungen laufen konnten. Die hatte ich vorsichtshalber alle abgestellt, weil in den neusten Handbüchern von solchen Doppelbändern abgeraten wird. Aber vielleicht sind sie ja unter bestimmten Voraussetzungen doch sicher? Was meint Ihr zu diesem Fall?
|
|
"
|
|
|
|
Statement (A B : Prop) (mp : A → B) (mpr : B → A) : A ↔ B := by
|
|
Hint "**Robo**: `→` ist natürlich Leansch für `$\iff$`.
|
|
Die Aussage `A ↔ B` besteht also aus zwei Teilen; sie ist als `⟨A → B, B → A⟩` definiert.
|
|
|
|
**Du**: Also ganz ähnlich wie das UND, `A ∧ B`?
|
|
|
|
**Robo**: Genau. Entsprechend kannst Du auch hier mit `constructor` anfangen."
|
|
constructor
|
|
Hint "**Du**: Ah, und die beiden Teile habe ich schon in den Annahmen."
|
|
assumption
|
|
assumption
|
|
|
|
Conclusion
|
|
"
|
|
**Operationsleiter**: Ok, das leuchtet mir ein.
|
|
|
|
**Robo** *(zu Dir)*: Übrigens, so wie bei `(h : A ∧ B)` die beiden Teile `h.left` und `h.right` heißen,
|
|
heißen bei `(h : A ↔ B)` die beiden Teile `h.mp` und `h.mpr`.
|
|
|
|
**Du**: Also `h.mp` ist `A → B`? Wieso `mp`?
|
|
|
|
**Robo**: `mp` steht für Modus Ponens`. Der Modus ponens ist eine schon in der antiken Logik geläufige Schlussfigur, die in vielen logischen Systemen … Ach nee, das wolltest Du ja nicht hören. Das \"r\" in `mpr` steht für \"reverse\", weil's die Rückrichtung ist.
|
|
"
|
|
|
|
NewTactic constructor
|
|
DisabledTactic tauto rw
|
|
|
|
-- TODO : `case mpr =>` ist mathematisch noch sinnvoll.
|