84 lines
2.8 KiB
Lean4
84 lines
2.8 KiB
Lean4
-- Wurzeldokument der Kursnotizen: `lake exe algebrainlean
|
|
-- --output _out` rendert sie nach `_out/html-multi`.
|
|
import VersoManual
|
|
|
|
import Book.Basics
|
|
import Book.Quotients
|
|
import Book.Ideals
|
|
import Book.Polynomials
|
|
import Book.Degrees
|
|
import Book.LittleFermat
|
|
import Book.Cauchy
|
|
import Book.Frobenius
|
|
import Book.Galois
|
|
import Book.Reciprocity
|
|
|
|
open Verso.Genre Manual
|
|
|
|
#doc (Manual) "Algebra in Lean" =>
|
|
%%%
|
|
tag := "algebra-in-lean"
|
|
authors := ["Stefan Kebekus"]
|
|
%%%
|
|
|
|
Dies sind Kursnotizen zum Formalisieren von Algebra mit dem
|
|
interaktiven Theorembeweiser [Lean](https://lean-lang.org) und seiner
|
|
Mathematikbibliothek [Mathlib](https://leanprover-community.github.io).
|
|
Sie begleiten die Vorlesung _Algebra und Zahlentheorie_ (Universität
|
|
Freiburg, Winter 2026/27) mit ihrem deutschsprachigen Skript und sind
|
|
dafür gedacht, parallel zum Kurs
|
|
[_Interactive Theorem Proving using Lean_](https://pfaffelh.github.io/leancourse/)
|
|
von Peter Pfaffelhuber gelesen zu werden, der Lean selbst einführt.
|
|
Wir gehen hier den komplementären Weg: Wir nehmen an, dass Sie gerade
|
|
die _Algebra_ lernen, und zeigen an Beispielen, dass sich der Stoff der
|
|
Vorlesung mit vertretbarem Aufwand formalisieren lässt — und dass das
|
|
sogar richtig Spaß machen kann.
|
|
|
|
*Wie diese Notizen funktionieren.* Ausgewählte Beweise aus dem Skript
|
|
werden _Satz für Satz_ nach Lean übersetzt: Jeder deutsche Originalsatz
|
|
steht als Kommentar direkt über dem Lean-Code, der ihn umsetzt. Sie
|
|
werden sehen, dass die Standardphrasen eines Vorlesungsbeweises —
|
|
„Ansonsten liefert die Restklasse …“, „Nach dem Satz von Lagrange …“,
|
|
„Also existiert mindestens ein …“ — wiedererkennbaren Zügen in Lean
|
|
entsprechen. Jedes Kapitel endet mit einer Übungsaufgabe, deren
|
|
`sorry` Sie durch einen Beweis ersetzen sollen.
|
|
|
|
*Woher bekomme ich das Material?* Die Übungsdateien liegen im selben
|
|
Repository wie diese Notizen, im Ordner `AlgebraInLean/`:
|
|
|
|
```
|
|
git clone https://git.cplx.vm.uni-freiburg.de/kebekus/AlgebraInLean.git
|
|
cd AlgebraInLean
|
|
lake exe cache get
|
|
code .
|
|
```
|
|
|
|
Öffnen Sie dann zum Beispiel `AlgebraInLean/LittleFermat.lean`.
|
|
Warten Sie, bis die orangefarbenen Balken verschwinden; setzen Sie den
|
|
Cursor in einen Beweis und beobachten Sie, wie das _Infoview_-Panel
|
|
den aktuellen Beweiszustand anzeigt. Für die Installation von Lean
|
|
und VS Code selbst folgen Sie der
|
|
[Anleitung der Lean-Community](https://leanprover-community.github.io/get_started.html)
|
|
oder der ausführlichen Anleitung am Anfang der
|
|
[Notizen von Peter Pfaffelhuber](https://pfaffelh.github.io/leancourse/).
|
|
|
|
{include 0 Book.Basics}
|
|
|
|
{include 0 Book.Quotients}
|
|
|
|
{include 0 Book.Ideals}
|
|
|
|
{include 0 Book.Polynomials}
|
|
|
|
{include 0 Book.Degrees}
|
|
|
|
{include 0 Book.LittleFermat}
|
|
|
|
{include 0 Book.Cauchy}
|
|
|
|
{include 0 Book.Frobenius}
|
|
|
|
{include 0 Book.Galois}
|
|
|
|
{include 0 Book.Reciprocity}
|