Working
This commit is contained in:
@@ -41,7 +41,9 @@ Jedes Kapitel existiert **zweimal**, mit demselben Dateinamen:
|
||||
Wer Mathematik ändert, muss **beide Seiten anfassen**; sie driften sonst
|
||||
auseinander. Neue Kapitel zusätzlich in `AlgebraInLean.lean` (Import) und
|
||||
`Book.lean` (Import + `{include 0 Book.X}`) eintragen, und die Tabelle in
|
||||
`README.md` ergänzen (dort fehlen derzeit `Elements` und `Transitivity`).
|
||||
`README.md` ergänzen. Achtung: Eine Übungsdatei, die nicht in
|
||||
`AlgebraInLean.lean` importiert ist, wird von `lake build` **gar nicht
|
||||
kompiliert** — sie kann also unbemerkt kaputt sein.
|
||||
|
||||
Konventionen in `Book/`:
|
||||
|
||||
@@ -54,6 +56,53 @@ Konventionen in `Book/`:
|
||||
`file` bestimmt den Pfad in `_out/html-multi/`; Slugs nicht nachträglich
|
||||
ändern, sonst brechen Links auf dem Server.
|
||||
* Mathe im Verso-Dialekt: `$`…`` inline, `` $$`…` `` abgesetzt.
|
||||
* Skript-Zitate als Blockquotes (`>`); Folgezeilen ohne `>` werden per
|
||||
Lazy Continuation fortgesetzt, müssen aber eingerückt sein.
|
||||
* `open`- und `variable`-Deklarationen gelten **über Codeblöcke hinweg**
|
||||
für das ganze Kapitel.
|
||||
* In Kapiteln, die `Polynomial` öffnen, nur `open Verso.Genre` schreiben,
|
||||
**nie** `open Verso.Genre Manual` — sonst ist `C` doppeldeutig
|
||||
(`Manual.C` vs. `Polynomial.C`).
|
||||
* Verso warnt bei Codezeilen über **60 Spalten** (`verso.code.warnLineLength`);
|
||||
Lean-Code entsprechend umbrechen. Die Warnungen stehen in der vollen
|
||||
Build-Ausgabe — nicht durch `tail` pipen, sondern nach `too long` greppen.
|
||||
|
||||
## Kapitelaufbau
|
||||
|
||||
Bewährte Gliederung eines Buchkapitels (an bestehenden Kapiteln orientieren,
|
||||
z. B. `Book/Elements.lean`):
|
||||
|
||||
1. Einleitung mit Bezug zum Skript (Satznummer!).
|
||||
2. `# Das Mathlib-Wörterbuch` — Begriffe des Skripts ↔ Mathlib-Namen.
|
||||
Nicht duplizieren: Folgekapitel verweisen auf das Wörterbuch des
|
||||
Vorkapitels.
|
||||
3. Hauptsatz mit kurzem Beweis, der die Mathlib-Lemmata **ehrlich zitiert**
|
||||
(„der gesamte Rest des Beweises ist das Lemma …“).
|
||||
4. `# Übungsaufgabe` — genau ein `sorry`; im Text den Pfad der zugehörigen
|
||||
Übungsdatei nennen. Die Musterlösung vor dem Einchecken **separat
|
||||
verifizieren** (in einer Scratch-Datei kompilieren), dann wieder durch
|
||||
`sorry` ersetzen.
|
||||
5. `# Der vollständige Beweis` — der Skript-Beweis Satz für Satz, jeder
|
||||
deutsche Originalsatz als Kommentar über dem Lean-Code.
|
||||
|
||||
## Arbeitsweise für neue Beweise
|
||||
|
||||
* Erst in einer Scratch-Datei (außerhalb des Repos) mit `import Mathlib`
|
||||
prototypen, bis alles kompiliert; dann mit `#min_imports` die
|
||||
Minimal-Imports fürs Buchkapitel bestimmen und dort einpflegen.
|
||||
Kapitel-Builds dauern damit Sekunden statt Minuten.
|
||||
* Nach dem Deploy die Live-Seite prüfen (z. B. `curl` auf `<title>`).
|
||||
|
||||
## Verzahnung mit dem Skript
|
||||
|
||||
* Das LaTeX-Skript liegt in `../AlgebraZahlentheorie`. Dort verlinkt das
|
||||
Makro `\leanlink{slug}` auf
|
||||
`https://cplx.vm.uni-freiburg.de/storage/algebra-in-lean/<slug>/` —
|
||||
der `file`-Slug eines Kapitels ist also Teil der Schnittstelle.
|
||||
Neues Kapitel ⇒ ggf. `\leanlink` an der passenden Stelle im Skript setzen.
|
||||
* Skript-Labels (`satz:3-5-4`, `kor:TdA`, …) stimmen **nicht** immer mit den
|
||||
gedruckten Nummern überein; verbindlich ist
|
||||
`../AlgebraZahlentheorie/AlgebraZahlentheorie.aux`.
|
||||
|
||||
## Build-Setup
|
||||
|
||||
|
||||
@@ -37,6 +37,8 @@ Lean/Mathlib.
|
||||
| `AlgebraInLean/Ideals.lean` | Kapitel 9 | Ideals; ℤ is a principal ideal ring |
|
||||
| `AlgebraInLean/Polynomials.lean` | Kapitel 7 | Polynomials; Eisenstein's criterion applied |
|
||||
| `AlgebraInLean/Degrees.lean` | Kapitel 3 | Field extensions; the tower law |
|
||||
| `AlgebraInLean/Elements.lean` | Kapitel 3 | The degree of an algebraic element |
|
||||
| `AlgebraInLean/Transitivity.lean` | Kapitel 3 | Transitivity of algebraicity |
|
||||
| `AlgebraInLean/LittleFermat.lean` | Kapitel 17 | Fermat's little theorem via Lagrange |
|
||||
| `AlgebraInLean/Cauchy.lean` | Kapitel 18 | The key lemma on fixed points and Cauchy's theorem |
|
||||
| `AlgebraInLean/Frobenius.lean` | Kapitel 14 | Finite fields; the Frobenius endomorphism |
|
||||
|
||||
Reference in New Issue
Block a user