compute which tactics are available in which level

This commit is contained in:
Alexander Bentkamp
2023-02-03 17:04:09 +01:00
parent 03faa3ffed
commit 76d1a08948
84 changed files with 195 additions and 147 deletions
@@ -37,4 +37,4 @@ HiddenHint (A : Prop) (B : Prop) (hb : B) : A → (A ∧ B) =>
Hint (A : Prop) (B : Prop) (ha : A) (hb : B) : (A ∧ B) =>
"Jetzt kannst du die Taktiken aus dem letzten Kapitel verwenden."
Tactics intro constructor assumption
NewTactics intro constructor assumption
@@ -39,4 +39,4 @@ dass $B$ wahr ist."
HiddenHint (A : Prop) (B : Prop) (ha : A) (h : A → B): B =>
"Mit `revert ha` kann man die Annahme `ha` als Implikationsprämisse vorne ans Goal anhängen."
Tactics revert assumption
NewTactics revert assumption
@@ -32,7 +32,7 @@ HiddenHint (A : Prop) (B : Prop) (hA : A) (g : A → B) : A =>
"Nachdem du die Implikation `A → B` angewendet hast, musst du nur noch $A$ zeigen,
dafür hast du bereits einen Beweis in den Annahmen."
Tactics apply assumption
NewTactics apply assumption
-- Katex notes
-- `\\( \\)` or `$ $` for inline
@@ -32,4 +32,4 @@ HiddenHint (A : Prop) (B : Prop) (C : Prop) (hA : A) (f : A → B) (g : B → C)
"Du willst $C$ beweisen. Suche also nach einer Implikation $\\ldots \\Rightarrow C$ und wende
diese mit `apply` an."
Tactics intro apply assumption revert
NewTactics intro apply assumption revert
@@ -48,6 +48,6 @@ Hint (A : Prop) (B : Prop) (C : Prop) (D : Prop) (E : Prop) (F : Prop)
(i : D → E) (k : E → F) (m : C → F) : D =>
"Sackgasse. Probier doch einen anderen Weg."
Tactics apply assumption revert intro
NewTactics apply assumption revert intro
-- https://www.jmilne.org/not/Mamscd.pdf
@@ -38,6 +38,6 @@ aus mehreren Einzelteilen besteht: `⟨A → B, B → A⟩`. Man sagt also Lean,
ob das Goal aus solchen Einzelteilen \"konstruiert\" werden kann.
"
Tactics constructor assumption
NewTactics constructor assumption
-- TODO : `case mpr =>` ist mathematisch noch sinnvoll.
@@ -71,4 +71,4 @@ Hint (A : Prop) (B : Prop) (C : Prop) (D : Prop) (h₁ : C ↔ D) (h₂ : D ↔
"Das ist nicht der optimale Weg..."
Tactics rw assumption
NewTactics rw assumption
@@ -41,4 +41,4 @@ Hint (A : Prop) (B : Prop) (C : Prop) (h : A ↔ B) (g : B → C) (hA : A) : B =
Conclusion "Im nächsten Level findest du die zweite Option."
Tactics apply assumption
NewTactics apply assumption
@@ -36,7 +36,7 @@ Conclusion
"
"
Tactics intro apply rcases assumption
NewTactics intro apply rcases assumption
-- -- TODO: The new `cases` works differntly. There is also `cases'`
-- example (A B : Prop) : (A ↔ B) → (A → B) := by
@@ -50,6 +50,6 @@ Conclusion
"
"
Tactics apply left right assumption
NewTactics apply left right assumption
Lemmas not_or_of_imp
NewLemmas not_or_of_imp
@@ -34,6 +34,6 @@ Conclusion
`rw` hat automatisch `rfl` ausgeführt und dadurch den Beweis beendet.
"
Tactics rw
NewTactics rw
Lemmas not_not not_or_of_imp
NewLemmas not_not not_or_of_imp
@@ -76,6 +76,6 @@ HiddenHint (A : Prop) (B: Prop) (h : ¬ A ∨ B) (ha : A) : B =>
HiddenHint (A : Prop) (B: Prop) (ha : A) (ha' : ¬A) : B =>
"Findest du einen Widerspruch?"
Tactics rfl assumption trivial left right constructor rcases
NewTactics rfl assumption trivial left right constructor rcases
Lemmas not_not not_or_of_imp
NewLemmas not_not not_or_of_imp