ITADN

Theorem Proving in Lean 4 の内容をカバーする

#2378OpenSeasawher 创建于 2026-05-30
S
Seasawhercommented
# Codex による概観 • Lean by Example は Lean 4 の資料なので、TPIL4 と比較しました。結論から言うと、章題レベルではかなりカバーしていますが、TPIL4 を置き換えるほど網羅的ではありません。TPIL4 は Lean 4.26.0 前提の 12 章構成で、依存型理論、命題と証明、量化子と等号、タクティク、帰納型、再帰、構造体、型クラス、conv、公理と計算までを順に扱っています。(lean-lang.org (https://lean-lang.org/theorem_proving_in_lean4/index)) Lean by Example 側は booksrc/SUMMARY.md を見る限り、#check / #eval / #print、def / theorem / inductive / structure / class、主要タクティク、型クラス、Prop / Type / Quotient などはかなり 充実しています。むしろ Mathlib のタクティク、属性、オプション、メタプログラミング寄りの記事は TPIL より広いです。 足りない、または薄い内容は主に以下です。 1. 依存型理論の連続した導入 Type、Prop、∀、暗黙引数などの記事はありますが、TPIL 2章のように「単純型理論 → 型を項として扱う → 関数抽象 → 依存関数型 → 宇宙多相」へ一続きで説明する流れは弱いです。TPIL 2章はこの並び を明示しています。 2. 証明項スタイルの基礎 命題論理やタクティクはありますが、fun による証明、theorem と def の違い、show / have / Exists.intro / Eq.subst / congrArg などを「項として証明を構成する」観点で体系的に読むページは不足気味です。TPIL 3-4章はこの部分をかなり丁寧に扱っています。 (lean-lang.org (https://lean-lang.org/theorem_proving_in_lean4/Quantifiers-and-Equality/)) 3. Interacting with Lean の細部 #guard_msgs、属性、オプション、名前空間などはありますが、TPIL 6章にある import、ライブラリ利用、named arguments、自動束縛暗黙引数、implicit lambdas、simple function sugar あたりは独立記事としては薄いです。(lean-lang.org (https://lean-lang.org/theorem_proving_in_lean4/Interacting-with-Lean/)) 4. 方程式コンパイラと高度なパターンマッチ match、termination_by、mutual はありますが、TPIL 8章の「overlapping patterns」「local recursive declarations」「dependent pattern matching」「inaccessible patterns」「match 式のコンパ イル」のまとまった説明は不足しています。ここは大きな差です。 5. conv 変換モード LeanByExample/Tactic/Conv.lean はほぼ外部リンクだけです。TPIL 11章は lhs / rhs / congr / binder 内の rewrite / conv in / tactic => まで扱っているので、Lean by Example 側では明確に未カ バーです。 6. 帰納型の低レベル仕様の一部 inductive、帰納族、再帰子、strict positivity はよく扱えています。ただし TPIL 7章の「axiomatic details」「mutual and nested inductive types」全体を同じ粒度で読むには、ネストした帰納型 や生成される eliminator の説明がもう少し必要です。 7. 公理と計算内容の総合説明 LeanByExample/Declarative/Axiom.lean、LeanByExample/Type/Quotient.lean、LeanByExample/Modifier/Noncomputable.lean は強いです。ただし TPIL 12章の「公理を足すと計算内容がどう変わるか」 という全体像は、現状だと複数記事に分散しています。TPIL 12章は propext、funext、商、選択、公理的排中律を一章でつなげています。 優先して補うなら、まず conv、次に「方程式コンパイラと依存パターンマッチ」、その次に「TPIL 2-4章相当の証明項スタイル入門」を足すのが効果的です。
1 条评论