Working…

This commit is contained in:
Stefan Kebekus committed 2026-08-11 13:59:48 +02:00
1 parent 609214a230
commit daae893145
95 files changed
+253 -48008

No files matched your search

+18 -13
View File
@@ -49,13 +49,13 @@ example (x y : ℚ) (h : x = y) : x + 1 = y + 1 := by
Definition 2.1.1 des Skripts:
> *Definition (Gruppe).* Eine Gruppe ist eine nicht-leere Menge `G`
> mit einer Abbildung `m : G ⨯ G → G`, sodass folgende Eigenschaften
> gelten. _Assoziativität:_ … _Neutrales Element:_ Es gibt genau ein
> Element `e` aus `G`, sodass für alle `a` aus `G` gilt:
> `m(e,a) = m(a,e) = a`. _Inverse Elemente:_ Für alle `a` aus `G`
> gibt es genau ein Element `b` aus `G`, sodass `m(a,b) = m(b,a) = e`
> ist.
> *Definition (Gruppe).* Eine Gruppe ist eine nicht-leere Menge $`G`
mit einer Abbildung $`m : G \times G \to G`, sodass folgende
Eigenschaften gelten. _Assoziativität:_ … _Neutrales Element:_ Es
gibt genau ein Element $`e` aus $`G`, sodass für alle $`a` aus $`G`
gilt: $`m(e,a) = m(a,e) = a`. _Inverse Elemente:_ Für alle $`a`
aus $`G` gibt es genau ein Element $`b` aus $`G`, sodass
$`m(a,b) = m(b,a) = e` ist.
In Mathlib ist eine Gruppe eine Typklasse `Group G`. Die Verknüpfung
schreibt sich `a * b`, das neutrale Element `1`, das Inverse `a⁻¹`;
@@ -68,9 +68,10 @@ Widerspruch — die Eindeutigkeit folgt aus den übrigen Axiomen. Genau
das beweisen wir jetzt, mit dem Standardargument aus der linearen
Algebra:
> Es sei `e` ein weiteres Element, das von links neutral wirkt. Weil
> `1` neutral ist, gilt `e·1 = e`. Weil `e` neutral wirkt, gilt
> `e·1 = 1`. Zusammen folgt `e = e·1 = 1`.
> Es sei $`e` ein weiteres Element, das von links neutral wirkt.
Weil $`1` neutral ist, gilt $`e \cdot 1 = e`. Weil $`e` neutral
wirkt, gilt $`e \cdot 1 = 1`. Zusammen folgt
$`e = e \cdot 1 = 1`.
Der Lean-Beweis benutzt die Taktik `calc`, die eine Kette von
Gleichungen Schritt für Schritt abarbeitet — das Lean-Gegenstück zur
@@ -87,9 +88,13 @@ theorem neutral_eindeutig {G : Type*} [Group G] (e : G)
# Übungsaufgabe
Zeigen Sie ebenso die Eindeutigkeit des Inversen: Wenn `a·b = 1` ist,
dann ist `b` bereits _das_ Inverse `a⁻¹`. Das Standardargument:
`b = 1·b = (a⁻¹·a)·b = a⁻¹·(a·b) = a⁻¹·1 = a⁻¹`. Öffnen Sie
Zeigen Sie ebenso die Eindeutigkeit des Inversen: Wenn
$`a \cdot b = 1` ist, dann ist $`b` bereits _das_ Inverse $`a^{-1}`.
Das Standardargument:
$$`b = 1 \cdot b = (a^{-1} \cdot a) \cdot b = a^{-1} \cdot (a \cdot b) = a^{-1} \cdot 1 = a^{-1}`
Öffnen Sie
`AlgebraInLean/Basics.lean` und ersetzen Sie das `sorry` durch einen
Beweis — `calc` und die Lemmata `one_mul`, `inv_mul_cancel`,
`mul_assoc`, `mul_one` genügen.