直観主義論理: 証明論
公開日: 2023/05/07
このページでは、直観主義論理(intuitionistic logic)の証明体系を紹介する。
定義をまとめることを目的としているため、各証明体系そのものについての説明は割愛する。また、各体系の定義には複数の定式化があり、そのうちの1つを紹介しているだけであることにも注意されたい。
筆者が気付いている範囲で、定式化が複数ありうる点に言及する。
- 推論規則の中で、仮定を揃えるかどうか
- 例えば、連言$\land$の導入規則(ないし右規則)には以下2つの候補がある(今回は1つ目を採用)。
$$ \begin{prooftree} \AXC{$\Gamma\vdash\vphi$} \AXC{$\Gamma\vdash\psi$} \LL{$\small(\land I)$} \BIC{$\Gamma\vdash\vphi\land\psi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma\vdash\vphi$} \AXC{$\Gamma'\vdash\psi$} \LL{$\small(\land I)$} \BIC{$\Gamma,\Gamma'\vdash\vphi\land\psi$} \end{prooftree} $$- 直観主義論理では弱化・縮約が使えるので、どちらの規則を使っても同じでありそこまで気にしなくてもよい(はず)。線形論理のような部分構造論理を考える際には注意が必要である。
- 仮定を集合とするか否か
- $\Gamma\vdash\vphi$と書くとき、$\Gamma$を論理式の有限列(リスト)とするか、集合とするかで2つの方法がある(ただし有限列は$\Gamma::=\tuple{}\mid\Gamma,\vphi$というBNFで定まるものとする)。
- リストとする場合は、構造規則(縮約など)を明示的に体系に入れる必要がある(今回はこちらを採用)。
- 集合とする場合は、構造規則が持つ性質が初めから使えるので、構造規則は必要ない。より厳密には、公理を以下のように変更することで、構造規則が許容可能になる(ただしその場合、上記の1で仮定を揃える方を採用する必要がある)。$$ \begin{prooftree} \AXC{} \LL{$\small\text{(ax)}$} \RL{$~\small(\vphi\in\Gamma)$} \UIC{$\Gamma\vdash \vphi$} \end{prooftree} $$
- 変数の扱い
- 例えば、全称量化$\forall$の導入規則(ないし右規則)には以下2つの候補がある(今回は1つ目を採用)。$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi$} \LL{$\small(\forall I)$} \RL{$~\small(x\notin\FV(\Gamma))$} \UIC{$\Gamma\vdash \forall x.\vphi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma\vdash \vphi[x:=a]$} \LL{$\small(\forall I)$} \RL{$~\small(a\notin\FV(\Gamma,\forall x.\vphi))$} \UIC{$\Gamma\vdash \forall x.\vphi$} \end{prooftree} $$
- 2つ目の定義の条件は、固有変数条件(eigenvariable condition) という。これは$a$が下段の判断(ないしシークエント)に出現しない新しい変数(fresh variable)であることを要求する(変数ではなく定数記号とする定義もある)。
- 例えば、全称量化$\forall$の導入規則(ないし右規則)には以下2つの候補がある(今回は1つ目を採用)。
自然演繹(NJ)
論理式$\vphi$および論理式の有限列$\Gamma$に対して、$\Gamma\vdash\vphi$の形式をしたものを 判断(judgement) という。
判断に対する推論規則を以下のように定義する。ただし左側に付いているのは推論規則のラベルであり、各論理結合子に対して$I$が 導入規則(introduction rule) 、$E$が 除去規則(elimination rule) を表す。これにより定まる証明体系を NJ という。
- 含意
- 連言
- 選言
- 全称量化($t$は項)
- 存在量化($t$は項)
- 恒真
- 矛盾
- 公理
- 構造規則(弱化・交換・縮約)
判断$J$の 導出(derivation) を、「判断の有限列$J_1,\ldots,J_n=J$であって、各$1\leq i\leq n$に対して結論が$J_i$で前提が$\qty{J_j\mid j<i}$に含まれるような推論規則が存在するもの」とする。
判断$\Gamma\vdash A$の導出が存在するとき、$\Gamma\vdash A$が 導出可能である(derivable) という。このことを単に$\Gamma\vdash A$と書くことがある。
以上の定義から、自然演繹の判断は、ちょうど型理論における型判断$\Gamma\vdash M:A$から項$M$を消したものになっている。このとき項$M$は、命題$A$に対する証明をエンコードしたものとみなすことができる。このような 「命題と型」「証明と項」という論理と型理論の対応関係 のことを カリー・ハワード同型対応(Curry-Howard correspondence) という (詳細はλキューブのページを参照)。
命題論理の範囲では綺麗な対応関係があるが、述語論理になるとやや注意が必要である。というのも、1階述語論理では量化($\forall,\exists$)の範囲は1つだが、λキューブにおける依存型理論$\boldsymbol{\lambda}\mathbf{P}$では量化の範囲が任意の型になるからである。すなわち、命題を型に変換することはできるが、型はかならずしも命題に変換できるとは限らない。
シークエント計算(LJ)
論理式の有限列$\Gamma,\Delta$に対して、$\Gamma\vdash\Delta$の形式をしたものを シークエント(sequent, 推件) という1。ここでは、右辺側の論理式の個数が1個以下のものにシークエントを制限する($|\Delta|\leq 1$)。
シークエントに対する推論規則を以下のように定義する。ただし左側に付いているのは推論規則のラベルであり、各論理結合子に対して$R$が 右規則(right rule) 、$L$が 左規則(left rule) を表す。これにより定まる証明体系を LJ という。
- 含意
- 連言
- 選言
- 全称量化($t$は項)
- 存在量化($t$は項)
- 恒真
- 矛盾
- 公理
- 構造規則(弱化・交換・縮約・カット)
導出・証明可能性は、自然演繹の場合と同様に定義される(「判断」を「シークエント」に置き換えればよい)。
以下の重要なメタ定理が成り立つ。
シークエント$S$が証明可能ならば、$S$にはカット規則を使わない導出が存在する。
参考文献
- Sørensen, M. H., & Urzyczyn, P. (2006). Lectures on the Curry-Howard isomorphism. Elsevier.
- Mimram, S. (2020), PROGRAM = PROOF. (閲覧: 2023/05/07)
- 戸次大介. (2012).『数理論理学』. 東京大学出版会.
- 鹿島亮. (2009).『現代基礎数学15 数理論理学』. 朝倉書店.
Footnotes
- シークエントを$\Gamma\Rarr\Delta$と表記し、$\vdash$の記号をメタレベルの証明可能性を表すために使い、$\vdash\Gamma\Rarr\Delta$のように書くこともある。こちらの方が対象レベル・メタレベルの区別を明示的に示してくれる点ではよいが、記号が増えて煩雑になるためここでは使わない。 ↩