This commit is contained in:
Jon Eugster
2023-03-30 21:01:35 +02:00
parent 62fb4f52bd
commit 0e5891371a
13 changed files with 70 additions and 37 deletions
@@ -27,7 +27,7 @@ Statement (A B : Prop) (hb : B) : A → (A ∧ B) := by
**Robo** *(leise zurück)*: So wie der aussieht, fürchte ich, das wird er auch nicht verstehen.
Schreib den Beweis lieber aus.
*Du**: Aber wie denn? Ich glaube, ich würde als erstes gern so etwas sagen wie 'Nehmen wir also an, `{A}` gilt …'
**Du**: Aber wie denn? Ich glaube, ich würde als erstes gern so etwas sagen wie 'Nehmen wir also an, `{A}` gilt …'
**Robo**: Ja, gute Idee. Wähle dazu für Deine Annahme einfach einen Namen, zum Beispiel `h`, und schreib `intro h`."
intro hA
@@ -24,7 +24,7 @@ Statement (A B C D : Prop) (h₁ : C ↔ D) (h₂ : A ↔ B) (h₃ : A ↔ D) :
rw [h₁]
Hint "**Du** Und wenn ich in die andere Richtung umschreiben möchte?
**Robo**: Dann schreibst du ein `←` vor den Namen, also `rw [← hₓ]`."
**Robo**: Dann schreibst du ein `←` (`\\l`, also klein \"L\") vor den Namen, also `rw [← hₓ]`."
Branch
rw [← h₃]
Hint "**Du**: Ehm, das war verkehrt.
@@ -32,7 +32,7 @@ Statement (A B C D : Prop) (h₁ : C ↔ D) (h₂ : A ↔ B) (h₃ : A ↔ D) :
**Robo**: Ja, anders herum wär's besser gewesen. Aber wenn du jetzt einfach weitermachst, bis Du
sowas wie `A ↔ A` erhältst, kann `rfl` das beweisen.
**Robo: Da fällt mir ein, `rw` wendet ohnehin auch versuchsweise `rfl` an.
**Robo: Da fällt mir ein, `rw` wendet ohnehin auch versuchsweise `rfl` an.
Das heißt, Du musst `rfl` nicht einmal ausschreiben."
rw [h₂]
rw [←h₂]
@@ -39,5 +39,5 @@ Conclusion
"
DisabledTactic tauto apply
NewLemma not_not
NewLemma Classical.not_not
LemmaTab "Logic"