情報科学 › コンピュータサイエンス基礎 › プログラミング言語論

言語 L の型付け関係

定義 5.1(「プログラミング言語論」§5)

型を T::=Bool∣NatT ::= \mathtt{Bool} \mid \mathtt{Nat} とする。関係 ⊢t:T\vdash t : T(項 tt は型 TT を持つ)を次の規則で生成される最小の関係とする。

(T-True)⊢true:Bool(T-False)⊢false:Bool(T-Zero)⊢0:Nat(T-If)⊢t1:Bool⊢t2:T⊢t3:T⊢if t1 then t2 else t3:T(T-Succ)⊢t:Nat⊢succ t:Nat(T-Pred)⊢t:Nat⊢pred t:Nat(T-Iszero)⊢t:Nat⊢iszero t:Bool\begin{aligned} &\text{(T-True)} && \vdash \mathtt{true} : \mathtt{Bool} \qquad &&\text{(T-False)} && \vdash \mathtt{false} : \mathtt{Bool} \qquad &&\text{(T-Zero)} && \vdash \mathtt{0} : \mathtt{Nat} \\[4pt] &\text{(T-If)} && \frac{\vdash t_1 : \mathtt{Bool} \quad \vdash t_2 : T \quad \vdash t_3 : T}{\vdash \mathtt{if}\ t_1\ \mathtt{then}\ t_2\ \mathtt{else}\ t_3 : T} &&\text{(T-Succ)} && \frac{\vdash t : \mathtt{Nat}}{\vdash \mathtt{succ}\ t : \mathtt{Nat}} \\[4pt] &\text{(T-Pred)} && \frac{\vdash t : \mathtt{Nat}}{\vdash \mathtt{pred}\ t : \mathtt{Nat}} &&\text{(T-Iszero)} && \frac{\vdash t : \mathtt{Nat}}{\vdash \mathtt{iszero}\ t : \mathtt{Bool}} \end{aligned}

本文で読む(前後の説明と例)→

閉包の状態

定義

定義は閉包の起点です(証明を要しません)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 4 問