h5i

第 14 章

体系の性質

これまで、カーネルのアルゴリズムは停止し、False の証明を受理しないと述べてきた。どちらも型システムに関する定理に依拠しており、その証明はカーネルの処理よりずっと難しい。本章では各定理の役割を説明し、そこから整合性がどう導かれるかを概説し、完全な証明は付録 D に示す。

核となるシステム

以下の定理が扱うのは核となるシステム、すなわち図 3.1 の規則に第 13 章の宇宙を加え、第 II 部の定数を除いたものである。これは Barendregt の意味での純粋型システム(Pure Type System)であり、Calculus of Constructions [Coquand 1988] の非述語的な Sort 0\Sort{0} の上に述語的な宇宙の階層を載せたもので、Luo の Extended Calculus of Constructions [Luo 1990] に近い。最初の三つの性質は、関数的な純粋型システムすべてで成り立つ [Barendregt 1992] が、強正規化は非述語性があるとはるかに難しくなり、Girard の可約性候補(reducibility candidates)の方法を必要とする [Girard 1972; Coquand 1988; Luo 1990]。帰納型を加えると何が変わるかは章末で述べる。

四つの性質

定理 14.1(型の一意性). Γ⊢t:A\Gamma \vdash t : A かつ Γ⊢t:B\Gamma \vdash t : B ならば、A≡BA \conv B である。

項の型は、変換を除いて一つに定まる。Infer\Infer はこれに依存しており、計算すべき答えが一つしかないからこそ、Check\Check は、別の導出なら変換不可能な別の型を与えていたのではないかと心配せずに、その答えと比較できる。

定理 14.2(型の正しさ). Γ⊢t:A\Gamma \vdash t : A ならば、ある uu について A=Sort uA = \Sort{u} であるか、またはある uu について Γ⊢A:Sort u\Gamma \vdash A : \Sort{u} である。

正しく型付けされた項の型は、それ自身が型である(あるいは宇宙である。宇宙は T-Sort により型を持つが、型として書き下す必要はない)ので、Infer\Infer の結果はつねに InferSort\InferSort に渡し直せるし、アルゴリズムが構築する文脈は整形式のままである。

定理 14.3(型保存性). Γ⊢t:A\Gamma \vdash t : A かつ t→βt′t \betared t' ならば、Γ⊢t′:A\Gamma \vdash t' : A である。

計算は型を保存する。これが T-Conv を正当化し、正規化によって等しさを決定するという戦略全体を正当化する。項を簡約してもその型から外れることはないので、正規形どうしの比較は、比較すべきものを正しく比較している。

定理 14.4(強正規化). Γ⊢t:A\Gamma \vdash t : A ならば、tt から始まる β 簡約の列はすべて有限である。

正しく型付けされた項は、どの順序で簡約しても正規形に到達する。これが最も深い定理である。Whnf\Whnf と Normalize\Normalize、したがって IsDefEq\IsDefEq と Infer\Infer が正しく型付けされた入力に対して停止するのはこの定理のおかげであり、次節で見るように整合性もこの定理に支えられている。

四つの性質が二つの保証を支える構図は決まっており、下図に描いた。矢印は「〜に必要である」と読む。

図 14.1. メタ理論の組み合わさり方。

型の一意性 (14.1) 型の正しさ (14.2) 型保存性(14.3) 強正規化(14.4) Infer と Check が定まる (第 5 章) 正規形の解析 (付録 D) 決定可能性 整合性 (14.5)

これらを合わせると、カーネルに求める二つの保証が得られる。

  • 決定可能性。 アルゴリズム 5.1 はどんな入力に対しても停止するので、証明が正しいかどうかはつねに判定できる。
  • 整合性。 False を証明する閉じた項は存在しない。

整合性

定理 14.5(整合性). ⋅⊢t:Π(P:Sort 0). P\cdot \vdash t : \tPi{P}{\Sort{0}}{P} となる閉じた項 tt は存在しない。

論証は二つの半分からなり、細部を見なくてもその形はわかる。

正規形に帰着する。 強正規化により、そのような項 tt は正規形 nn を持ち、型保存性により nn は同じ型を持つ。したがって、型 Π(P:Sort 0). P\tPi{P}{\Sort{0}}{P} を持つ正規な閉じた項が存在しないことを示せば十分である。定理 14.4 を使うので、難しさはすべてこのステップにある。

正規形を解析する。 正規な項は、宇宙、Π\Pi、λ\lambda、または変数にいくつかの引数を適用したもの(中立項(neutral term))のいずれかである。スコープ内に変数がないので中立項ではありえず、宇宙と Π\Pi 型の型は宇宙であって Π\Pi ではないので、型が Π\Pi であるような閉じた正規項は λ\lambda でなければならない。よって n=λ(P:Sort 0). sn = \tLam{P}{\Sort{0}}{s} であり、P:Sort 0⊢s:PP : \Sort{0} \vdash s : P かつ ss は正規である。では ss は何でありうるか。宇宙、Π\Pi、λ\lambda であれば、その型は宇宙か Π\Pi であって、変数 PP ではない。中立項であればスコープ内の変数から始まらなければならないが、そのような変数は PP 自身しかなく、その型は Sort 0\Sort{0} であり、これは PP ではないので ss は PP ではありえず、関数型でもないので PP に何かを適用することもできない。どの場合も不可能である。

付録 D はこれを、場合分けが暗黙に使っている、型付けと変換についての標準的な事実(生成(generation)、合流性、代入)も含めて丁寧に実行する。

帰納型がある場合

第 II 部の ι 規則は互いに重ならず、β とも重ならないので、簡約は合流的なままである。型保存性、強正規化、整合性は Calculus of Inductive Constructions について知られており [Werner 1994]、帰納型を加えた我々のシステムはその小さな断片である。上で述べた短い整合性の論証は、正規形に、nn が変数であるような Nat.rec0  M  z  s  n\NatRec{0}\;M\;z\;s\;n といった行き詰まった再帰子の適用が含まれるようになるので、それだけではもう十分ではない。整合性は、中立項が定数を頭部に持つ場合も含めた、より注意深い正規形の解析によって、強正規化から導かれる。

第 8 章の受理条件は、それぞれこの解析が破綻しうる一つの経路に対応する。正値性がなければ ι 簡約がループしうるので、強正規化が失われる。宇宙条件がなければ、型が自分自身の宇宙を含みうるので、第 13 章のパラドックスが戻ってくる。命題に対する消去の制限がなければ、証明無関係性(proof irrelevance。Lean が仮定するもの)が反証されてしまう。

Lean の完全な理論は、定義的な証明無関係性、宇宙多相、商型、一般の入れ子帰納型と相互帰納型を備えており、そのメタ理論はより微妙で、参照先は Carneiro の学位論文 [Carneiro 2019] である。それでも中心となる構造、すなわち強正規化と正規形の解析の組み合わせは同じである。

演習

Type:Type\mathsf{Type} : \mathsf{Type} を持つカーネルは、第 13 章によれば四つの性質のうちどれを失うか。

解答

強正規化(Hurkens の項は正規形を持たない)と整合性(その項は型 Π(P:Type). P\tPi{P}{\mathsf{Type}}{P} を持つ)である。型の一意性と型保存性は、規則の形についての性質であって宇宙の構造についての性質ではないので、依然として成り立つ。

整合性の論証では、Π\Pi 型を持つ閉じた正規項は λ\lambda でなければならないとした。定数を加えるとこれが成り立たなくなるのはなぜか。また、代わりに何が必要になるか。

解答

succ\suc や Nat.rec0\NatRec{0} のような定数は閉じており、正規項の頭部になりうるので、Π\Pi 型を持つ閉じた正規項は、たとえば succ\suc そのものや、行き詰まった再帰子の適用でもありうる。そこで解析は、定数を頭部とする中立項も考慮し、スキーマが構成子と再帰子に割り当てる具体的な型を使って、そのどれも型 Π(P:Sort 0). P\tPi{P}{\Sort{0}}{P} を持ちえないことを示す必要がある。Werner の学位論文は Calculus of Inductive Constructions についてこれを行っている。

覚えておくこと

  • 型の一意性と型の正しさが Infer\Infer を矛盾なく定め、型保存性が正規化による等しさの決定を正当化し、強正規化がすべてを停止させる。
  • 整合性は、強正規化と、スコープ内のどれも任意の PP を証明できないという正規形の場合分けから導かれる。
  • 帰納型は、受理条件が成り立つかぎり四つの性質をすべて保ち、各条件はそれぞれ特定の破綻を防いでいる。
  • カーネルはこれらの定理を証明するのではなく仮定し、その仕事は、定理が対象とするシステムを忠実に、読みやすく実装することである。