For the topic "{topic}", below are block candidates, each as "Title — Description". **Judge by the CONTENT (after the —), not the title.** Decide for EACH entry: a real, standalone block → `keep`, otherwise discard (into no list). CANDIDATES (decide on each): {rest} What a block IS: a standalone LEARNING UNIT — a concept, a method, a problem, a definition, a named theorem WITH substantive content. **Define test (decisive):** Does the CONTENT describe a standalone concept you can explain to a learner — WITHOUT reference to a specific proof step or a particular spot in the script? Yes → include. No → discard. What is NOT a block (→ discard, EVEN if a description is attached): - Auxiliary constructs that exist only WITHIN a proof/reduction: "Knoten z", "Hilfsvariable", "Bedingung (**)" (a helper node / a marked condition — not a standalone concept). - Proof fragments/intermediate steps: "Beweis (b) Güte", "Beweis ⊂ Richtung", "Eigenschaft (a)". - Generic placeholders without their own concept: "Optimale Lösung", "Lösung" (only meaningful in the context of a concrete problem). - Pure references WITHOUT substantive description: "Satz 7.18" (nothing meaningful after the —). - Too vague or evidently fabricated. **Reference title WITH real content → include AND rename:** If an entry has an uninformative title ("Satz 7.18", "Korollar 6.18", "Lemma 6.2") but the description describes a real concept → include it and give a speaking name (in GERMAN) drawn from the content in the `rename` field. In the `keep` entry the **original title** stays (for matching); the new name goes ONLY in `rename`. Examples: - "Clique-Member — k-Clique, die einen festen Knoten v enthält" → **keep** (standalone problem). - "Satz 7.18 — MGA hat Worst-Case-Güte 2" → **keep** + `rename`: "Satz 7.18" → "MGA-Algorithmus (Güte 2)". - "Bedingung (**) — Ungleichungen pi ≤ pk im Scheduling-Beweis" → **verwerfen** (auxiliary construct in the proof). - "Satz 7.18" (no description) → **verwerfen** (mere reference). Rules: - When in doubt about standalone-ness → lean toward including. Duplicates are removed separately later; here only this counts: real block or junk. - Copy included entries VERBATIM ("Title — Kurzbeschreibung"), do not rephrase.{final} Write ONLY the JSON file to: {out_path} Format (no other text in the file; `rename` may be empty): {{"keep": ["Title — Kurzbeschreibung"], "rename": {{"alter Title": "sprechender Name"}}, "rest": []}}