levels
This commit is contained in:
@@ -204,3 +204,5 @@ LemmaDoc congrFun as "congrFun" in "Function"
|
|||||||
|
|
||||||
LemmaDoc Iff.symm as "Iff.symm" in "Logic"
|
LemmaDoc Iff.symm as "Iff.symm" in "Logic"
|
||||||
""
|
""
|
||||||
|
|
||||||
|
DefinitionDoc subset as "⊆" "Test"
|
||||||
|
|||||||
@@ -30,4 +30,5 @@ Statement
|
|||||||
|
|
||||||
OnlyTactic rfl
|
OnlyTactic rfl
|
||||||
|
|
||||||
Conclusion "**Du**: Ha. ha… Na aber jetzt mal ehrlich, wie funktioniert das eigentlich?"
|
Conclusion "**Du**: Ha. ha… Na aber jetzt mal ehrlich, könnt ihr mir ein bisschen mehr
|
||||||
|
erzählen?"
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ sein neustes Buch, das er leider nicht lesen kann. Nich tnur ist es der zweite B
|
|||||||
(der Erste hat offensichtlich was mit \"Urbildern\" zu tun), sondern ist es auch in einem
|
(der Erste hat offensichtlich was mit \"Urbildern\" zu tun), sondern ist es auch in einem
|
||||||
Dialekt geschrieben, der anscheinend nur auf einem Nachbarsmond gesprochen wird.
|
Dialekt geschrieben, der anscheinend nur auf einem Nachbarsmond gesprochen wird.
|
||||||
|
|
||||||
Ihr beschliesst dem herzlichen Golem zu helfen und sowohl dem Mond einen Besuch abzustatten,
|
Ihr beschliesst dem herzlichen Golem zu helfen und beiden Monden einen Besuch abzustatten,
|
||||||
um den Dialekt zu lernen, wie auch auf dem zweiten Mond in der Bibliothek nach dem
|
sowohl um den Dialekt zu lernen, wie auch in der Bibliothek auf dem anderen Mond nach dem
|
||||||
ersten Band zu suchen.
|
ersten Band zu suchen.
|
||||||
"
|
"
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ vermutlich noch viel besser mit alter Sprache und Schrift auskennt.
|
|||||||
|
|
||||||
**Du**: Hoffen wir, dass sie uns weiterhelfen können dieses Buch der Urbilder zu entschlüsseln.
|
**Du**: Hoffen wir, dass sie uns weiterhelfen können dieses Buch der Urbilder zu entschlüsseln.
|
||||||
|
|
||||||
Sofort begrüßt euch eine ältere Frau, die sich als *Mengitte*, die Beschützerin des Mondes,
|
Sofort begrüßt euch eine ältere Frau, die sich als *Mengea*, die Beschützerin des Mondes,
|
||||||
vorstellt.
|
vorstellt.
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|||||||
@@ -14,11 +14,11 @@ Title "Mengen"
|
|||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
"
|
"
|
||||||
**Mengitte**: Ich würde leider den Inhalt jenes Buches eh nicht verstehen. Aber der beste Weg für
|
**Mengea**: Ich würde leider den Inhalt jenes Buches eh nicht verstehen. Aber der beste Weg für
|
||||||
euch, dieses zu entschlüsseln ist, euch ausgiebig mit der Bevölkerung hier zu unterhalten.
|
euch, dieses zu entschlüsseln ist, euch ausgiebig mit der Bevölkerung hier zu unterhalten.
|
||||||
Lebt mit ihnen, redet mit ihnen und ihr werdet die Sprache automatisch lernen.
|
Lebt mit ihnen, redet mit ihnen und ihr werdet die Sprache automatisch lernen.
|
||||||
|
|
||||||
**Mengitte**: Seit aber vorgewarnt, die Leute hier denken ganz viel über Mengen nach,
|
**Mengea**: Seit aber vorgewarnt, die Leute hier denken ganz viel über Mengen nach,
|
||||||
womit sie immer *homogene Mengen* meinen. Eine Menge natürlicher Zahlen `{1, 4, 6}` ist
|
womit sie immer *homogene Mengen* meinen. Eine Menge natürlicher Zahlen `{1, 4, 6}` ist
|
||||||
verständlich, aber sowas wie eine Menge `{(2 : ℕ), {3, 1}, \"e\", (1 : ℂ)}` gibt es hier
|
verständlich, aber sowas wie eine Menge `{(2 : ℕ), {3, 1}, \"e\", (1 : ℂ)}` gibt es hier
|
||||||
einfach nicht. Punkt.
|
einfach nicht. Punkt.
|
||||||
@@ -26,35 +26,32 @@ einfach nicht. Punkt.
|
|||||||
**Robo**: Als Kontext: Wenn `A` ein beliebiger `Type` ist, dann ist `(U : Set A)` eine Menge
|
**Robo**: Als Kontext: Wenn `A` ein beliebiger `Type` ist, dann ist `(U : Set A)` eine Menge
|
||||||
mit Elementen aus `A`
|
mit Elementen aus `A`
|
||||||
|
|
||||||
**Mengitte**: Damit ich weiss, dass ihr euch grundsätzlich mit den Leuten austauschen könnt,
|
**Mengea**: Damit ich weiss, dass ihr euch grundsätzlich mit den Leuten austauschen könnt,
|
||||||
erklärt mir doch folgendes:
|
erklärt mir doch folgendes:
|
||||||
"
|
"
|
||||||
|
|
||||||
open Set
|
open Set
|
||||||
|
|
||||||
Statement mem_univ "" {A : Type} (x : A) : x ∈ (univ : Set A) := by
|
Statement mem_univ "" {A : Type} (x : A) : x ∈ (univ : Set A) := by
|
||||||
|
Hint "**Du**: Also `A` ist ein `Type`, `x` ist ein Element in `A`…
|
||||||
|
|
||||||
|
**Robo** … und `univ` ist die Menge aller Elemente in `A`.
|
||||||
|
|
||||||
|
**Du** ist das nicht einfach `A` selber?
|
||||||
|
|
||||||
|
**Robo** Fast, aber das eine ist ein `Type`, das andere eine Menge, also vom Typ `Set A`.
|
||||||
|
|
||||||
|
**Du**: Unlogisch.
|
||||||
|
|
||||||
|
**Mengites**: Naja, Typen und Mengen sind halt zwei unterschiedliche Sachen und wenn ihr
|
||||||
|
über Mengen sprechen wollt, müssen alles Mengen sein.
|
||||||
|
|
||||||
|
**Du**: Na gut. Und wieso `x ∈ univ` und nicht `x : univ` wie bei Typen?
|
||||||
|
|
||||||
|
**Robo**: Jedes Element `(x : A)` hat entweder die Eigenschaft `x ∈ U` oder `x ∉ U` für eine
|
||||||
|
Menge `(U : Set A)`. (`\\in`, `\\nin`)
|
||||||
|
|
||||||
|
**Du**: Also das ist ja dann `trivial`. Hoffentlich sehen die das hier auch so…"
|
||||||
trivial
|
trivial
|
||||||
|
|
||||||
Hint (A : Type) (x : A) : x ∈ (univ : Set A) =>
|
Conclusion "**Mengea**: Ja das stimmt schon. Dann wünsche ich euch viel Erfolg auf eurer Reise!"
|
||||||
"**Du**: Also `A` ist ein `Type`, `x` ist ein Element in `A`…
|
|
||||||
|
|
||||||
**Robo** … und `univ` ist die Menge aller Elemente in `A`.
|
|
||||||
|
|
||||||
**Du** ist das nicht einfach `A` selber?
|
|
||||||
|
|
||||||
**Robo** Fast, aber das eine ist ein `Type`, das andere eine Menge, also vom Typ `Set A`.
|
|
||||||
|
|
||||||
**Du**: Unlogisch.
|
|
||||||
|
|
||||||
**Mengites**: Naja, Typen und Mengen sind halt zwei unterschiedliche Sachen und wenn ihr
|
|
||||||
über Mengen sprechen wollt, müssen alles Mengen sein.
|
|
||||||
|
|
||||||
**Du**: Na gut. Und wieso `x ∈ univ` und nicht `x : univ` wie bei Typen?
|
|
||||||
|
|
||||||
**Robo**: Jedes Element `(x : A)` hat entweder die Eigenschaft `x ∈ U` oder `x ∉ U` für eine
|
|
||||||
Menge `(U : Set A)`. (`\\in`, `\\nin`)
|
|
||||||
|
|
||||||
**Du**: Also das ist ja dann trivial. Hoffentlich sehen die das hier auch so…
|
|
||||||
"
|
|
||||||
|
|
||||||
Conclusion "**Mengitte**: Ja das stimmt schon. Dann wünsche ich euch viel Erfolg auf eurer Reise!"
|
|
||||||
|
|||||||
@@ -20,15 +20,16 @@ open Set
|
|||||||
|
|
||||||
Statement not_mem_empty "" {A : Type} (x : A) :
|
Statement not_mem_empty "" {A : Type} (x : A) :
|
||||||
x ∉ (∅ : Set A) := by
|
x ∉ (∅ : Set A) := by
|
||||||
|
Hint "**Du**: Kein Element ist in der leeren Menge enthalten? Das ist ja alles
|
||||||
|
tautologisches Zeugs...
|
||||||
|
|
||||||
|
**Robo**: Dann behaupte das doch."
|
||||||
tauto
|
tauto
|
||||||
|
|
||||||
NewLemma mem_univ
|
NewLemma mem_univ
|
||||||
|
|
||||||
Hint (A : Type) (x : A) : x ∉ (∅ : Set A) =>
|
|
||||||
"**Du**: Kein Element ist in der leeren Menge enthalten? Das ist ja alles tautologisches Zeugs...
|
|
||||||
|
|
||||||
**Robo**: Dann behaupte das doch. (`\\empty`)"
|
|
||||||
|
|
||||||
Conclusion "Der Junge rennt weiter.
|
Conclusion "Der Junge rennt weiter.
|
||||||
|
|
||||||
**Du**: So wird das ganze schon angenehmer."
|
**Du**: So wird das ganze schon angenehmer.
|
||||||
|
|
||||||
|
**Robo**: Die Leere Menge schreibst du mit `\\empty` falls du die nochmals brauchst."
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ Title "Teilmengen"
|
|||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
"
|
"
|
||||||
|
Ihr bemerkt, dass mit dem Jungen noch zwei andere
|
||||||
|
Kinder zuhörten. Eines der beiden Mädchen hat ebenfalls eine Frage.
|
||||||
|
|
||||||
|
|
||||||
Hat man zwei Mengen `(A B : Set ℕ)` kann man fragen, ob diese Teilmengen
|
Hat man zwei Mengen `(A B : Set ℕ)` kann man fragen, ob diese Teilmengen
|
||||||
voneinander sind: `A ⊆ B` (`\\sub`/`\\ss`) ist die Notation für Teilmengen, die auch gleich
|
voneinander sind: `A ⊆ B` (`\\sub`/`\\ss`) ist die Notation für Teilmengen, die auch gleich
|
||||||
sein können.
|
sein können.
|
||||||
@@ -28,18 +32,15 @@ namespace MySet
|
|||||||
|
|
||||||
open Set
|
open Set
|
||||||
|
|
||||||
-- theorem mem_univ {A : Type _} (x : A) : x ∈ (univ : Set A) := by
|
Statement (A : Set ℕ) : A ⊆ univ := by
|
||||||
-- trivial
|
Hint "**Robo**: `A ⊆ B` ist als `∀ x, x ∈ A → x ∈ B` definiert.
|
||||||
|
|
||||||
-- theorem not_mem_empty {A : Type _} (x : A) : x ∉ (∅ : Set A) := by
|
**Du**: Also kann ich mit `intro` anfangen, wie ich das bei einem `∀`?"
|
||||||
-- tauto
|
|
||||||
|
|
||||||
Statement subset_empty_iff
|
|
||||||
"." (A : Set ℕ) : A ⊆ univ := by
|
|
||||||
intro h hA
|
intro h hA
|
||||||
trivial --apply mem_univ -- or `trivial`.
|
trivial --apply mem_univ -- or `trivial`.
|
||||||
|
|
||||||
NewTactic intro trivial apply
|
NewTactic intro trivial apply
|
||||||
|
NewDefinition subset
|
||||||
-- blocked: tauto simp
|
-- blocked: tauto simp
|
||||||
|
|
||||||
end MySet
|
end MySet
|
||||||
|
|||||||
@@ -36,5 +36,3 @@ example (n : ℕ) (h : 5 ≤ n) : n^2 < 2 ^ n
|
|||||||
| 0 | 1 | 2 | 3 | 4 => by
|
| 0 | 1 | 2 | 3 | 4 => by
|
||||||
sorry
|
sorry
|
||||||
| n + 5 => by sorry
|
| n + 5 => by sorry
|
||||||
|
|
||||||
NewTactic rw simp ring
|
|
||||||
|
|||||||
@@ -32,4 +32,3 @@ Statement
|
|||||||
-- ring
|
-- ring
|
||||||
-- rw [Nat.succ_eq_one_add]
|
-- rw [Nat.succ_eq_one_add]
|
||||||
-- rw []
|
-- rw []
|
||||||
NewTactic rw simp ring
|
|
||||||
|
|||||||
Reference in New Issue
Block a user