rename message to hint
This commit is contained in:
@@ -42,11 +42,11 @@ Statement
|
||||
assumption
|
||||
contradiction
|
||||
|
||||
Message (A : Prop) (B : Prop) (h : A → ¬ B) (g : A ∧ B) : False =>
|
||||
Hint (A : Prop) (B : Prop) (h : A → ¬ B) (g : A ∧ B) : False =>
|
||||
" Fang mal damit an, das UND in den Annahmen mit `rcases` aufzuteilen.
|
||||
"
|
||||
|
||||
Message (A : Prop) (B : Prop) (h : A → ¬ B) (g : A) (f : B) : False =>
|
||||
Hint (A : Prop) (B : Prop) (h : A → ¬ B) (g : A) (f : B) : False =>
|
||||
"
|
||||
Auf Deutsch: \"Als Zwischenresultat haben wir `¬ B`.\"
|
||||
|
||||
|
||||
@@ -42,11 +42,11 @@ Statement
|
||||
apply h
|
||||
assumption
|
||||
|
||||
Message (A : Prop) (B : Prop) (h : A → ¬ B) (g : A ∧ B) : False =>
|
||||
Hint (A : Prop) (B : Prop) (h : A → ¬ B) (g : A ∧ B) : False =>
|
||||
" Fang mal damit an, das UND in den Annahmen mit `rcases` aufzuteilen.
|
||||
"
|
||||
|
||||
Message (A : Prop) (B : Prop) (h : A → ¬ B) (g : A) (f : B) : False =>
|
||||
Hint (A : Prop) (B : Prop) (h : A → ¬ B) (g : A) (f : B) : False =>
|
||||
" Auf Deutsch: \"Es genügt `¬ B` zu zeigen, da dies zu einem direkten Widerspruch führt.\"
|
||||
|
||||
In Lean :
|
||||
|
||||
@@ -39,14 +39,14 @@ muss."
|
||||
assumption
|
||||
|
||||
|
||||
Hint (A : Prop) (B : Prop) (h : A → B) (b : ¬ B) : ¬ A =>
|
||||
HiddenHint (A : Prop) (B : Prop) (h : A → B) (b : ¬ B) : ¬ A =>
|
||||
"`by_contra h` nimmt das Gegenteil des Goal als Annahme `(h : A)` und setzt das
|
||||
Goal auf `False`."
|
||||
|
||||
Message (A : Prop) (B : Prop) (h : A → B) (b : ¬ B) (a : A) : False =>
|
||||
Hint (A : Prop) (B : Prop) (h : A → B) (b : ¬ B) (a : A) : False =>
|
||||
"Jetzt kannst du mit `suffices` oder `have` Fortschritt machen."
|
||||
|
||||
Hint (A : Prop) (B : Prop) (h : A → B) (b : ¬ B) (a : A) : False =>
|
||||
HiddenHint (A : Prop) (B : Prop) (h : A → B) (b : ¬ B) (a : A) : False =>
|
||||
"Zum Beispiel `suffices hb : B`."
|
||||
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ Statement not_imp_not
|
||||
-- TODO: Forbidden Tactics: apply, rw
|
||||
-- TODO: forbidden Lemma: not_not
|
||||
|
||||
Hint (A : Prop) (B : Prop) : A → B ↔ (¬ B → ¬ A) =>
|
||||
HiddenHint (A : Prop) (B : Prop) : A → B ↔ (¬ B → ¬ A) =>
|
||||
""
|
||||
|
||||
|
||||
|
||||
@@ -43,22 +43,22 @@ Statement
|
||||
rw [not_odd]
|
||||
apply even_square
|
||||
|
||||
Hint (n : ℕ) (h : Odd (n ^ 2)) : Odd n =>
|
||||
HiddenHint (n : ℕ) (h : Odd (n ^ 2)) : Odd n =>
|
||||
"Um `contrapose` anzuwenden, brauchen wir eine Implikation `Odd (n ^ 2) → Odd n` im
|
||||
Goal. Benutze `revert h`!"
|
||||
|
||||
Message (n : ℕ) : Odd (n ^ 2) → Odd n =>
|
||||
Hint (n : ℕ) : Odd (n ^ 2) → Odd n =>
|
||||
"Mit `contrapose` kann man die Implikation zu
|
||||
`¬ (Not n) → ¬ (Odd n^2)` umkehren."
|
||||
|
||||
Message (n : ℕ) : ¬Odd n → ¬Odd (n ^ 2) => "Erinnere dich an das Lemma `not_odd`."
|
||||
Hint (n : ℕ) : ¬Odd n → ¬Odd (n ^ 2) => "Erinnere dich an das Lemma `not_odd`."
|
||||
|
||||
Hint (n : ℕ) : ¬Odd n → ¬Odd (n ^ 2) => "Dieses kann mit `rw` gebraucht werden."
|
||||
HiddenHint (n : ℕ) : ¬Odd n → ¬Odd (n ^ 2) => "Dieses kann mit `rw` gebraucht werden."
|
||||
|
||||
Message (n : ℕ) : Even n → ¬Odd (n ^ 2) =>
|
||||
Hint (n : ℕ) : Even n → ¬Odd (n ^ 2) =>
|
||||
"rw [not_odd] muss hier zweimal angewendet werden."
|
||||
|
||||
Message (n : ℕ) : Even n → Even (n ^ 2) =>
|
||||
Hint (n : ℕ) : Even n → Even (n ^ 2) =>
|
||||
"Diese Aussage hast du bereits als Lemma bewiesen, schau mal in der Bibliothek."
|
||||
|
||||
Tactics contrapose rw apply
|
||||
|
||||
@@ -40,10 +40,10 @@ Statement
|
||||
apply even_square
|
||||
assumption
|
||||
|
||||
Hint (n : ℕ) (h : Odd (n^2)) : Odd n =>
|
||||
HiddenHint (n : ℕ) (h : Odd (n^2)) : Odd n =>
|
||||
"Schreibe `by_contra h₁` um einen Beweis durch Widerspruch zu starten."
|
||||
|
||||
Message (n : ℕ) (g : ¬ Odd n) (h : Odd (n^2)) : False =>
|
||||
Hint (n : ℕ) (g : ¬ Odd n) (h : Odd (n^2)) : False =>
|
||||
"
|
||||
Am sinnvollsten ist es, hier einen Widerspruch zu `Odd (n^2)` zu suchen.
|
||||
Dafür kannst du
|
||||
@@ -54,20 +54,20 @@ contradiction
|
||||
benützen.
|
||||
"
|
||||
|
||||
Hint (n : ℕ) (g : ¬ Odd (n^2)) (h : Odd (n^2)) : False =>
|
||||
HiddenHint (n : ℕ) (g : ¬ Odd (n^2)) (h : Odd (n^2)) : False =>
|
||||
"Hier brauchst du nur `contradiction`."
|
||||
|
||||
Message (n : ℕ) (g : ¬ Odd n) (h : Odd (n^2)) : ¬ Odd (n^2) =>
|
||||
Hint (n : ℕ) (g : ¬ Odd n) (h : Odd (n^2)) : ¬ Odd (n^2) =>
|
||||
"Das Zwischenresultat `¬Odd (n^2)` muss auch bewiesen werden.
|
||||
Hier ist wieder das Lemma `not_Odd` hilfreich."
|
||||
|
||||
Hint (n : ℕ) (g : ¬ Odd n) (h : Odd (n^2)) : Even (n^2) =>
|
||||
HiddenHint (n : ℕ) (g : ¬ Odd n) (h : Odd (n^2)) : Even (n^2) =>
|
||||
"Mit `rw [not_Odd] at *` kannst du im Goal und allen Annahmen gleichzeitig umschreiben."
|
||||
|
||||
Message (n: ℕ) (h : Odd (n ^ 2)) (g : Even n) : Even (n ^ 2) =>
|
||||
Hint (n: ℕ) (h : Odd (n ^ 2)) (g : Even n) : Even (n ^ 2) =>
|
||||
"Diese Aussage hast du bereits als Lemma bewiesen."
|
||||
|
||||
Hint (n: ℕ) (h : Odd (n ^ 2)) (g : Even n) : Even (n ^ 2) =>
|
||||
HiddenHint (n: ℕ) (h : Odd (n ^ 2)) (g : Even n) : Even (n ^ 2) =>
|
||||
"Probiers mit `apply ...`"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user