直観主義論理: 証明論

公開日: 2023/05/07


このページでは、直観主義論理(intuitionistic logic)の証明体系を紹介する。

定義をまとめることを目的としているため、各証明体系そのものについての説明は割愛する。また、各体系の定義には複数の定式化があり、そのうちの1つを紹介しているだけであることにも注意されたい。

筆者が気付いている範囲で、定式化が複数ありうる点に言及する。

  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} $$
    • 直観主義論理では弱化・縮約が使えるので、どちらの規則を使っても同じでありそこまで気にしなくてもよい(はず)。線形論理のような部分構造論理を考える際には注意が必要である。
  2. 仮定を集合とするか否か
    • $\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} $$
  3. 変数の扱い
    • 例えば、全称量化$\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)であることを要求する(変数ではなく定数記号とする定義もある)。

自然演繹(NJ)

論理式$\vphi$および論理式の有限列$\Gamma$に対して、$\Gamma\vdash\vphi$の形式をしたものを 判断(judgement) という。

判断に対する推論規則を以下のように定義する。ただし左側に付いているのは推論規則のラベルであり、各論理結合子に対して$I$導入規則(introduction rule)$E$除去規則(elimination rule) を表す。これにより定まる証明体系を NJ という。

定義. NJの推論規則
  • 含意
$$ \begin{prooftree} \AXC{$\Gamma,\vphi\vdash \psi$} \LL{$\small({\to} I)$} \UIC{$\Gamma\vdash \vphi\to\psi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma\vdash \vphi\to\psi$} \AXC{$\Gamma\vdash \vphi$} \LL{$\small({\to} E)$} \BIC{$\Gamma\vdash \psi$} \end{prooftree} $$
  • 連言
$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi$} \AXC{$\Gamma\vdash \psi$} \LL{$\small(\land I)$} \BIC{$\Gamma\vdash \vphi\land\psi$} \end{prooftree} $$
$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi\land\psi$} \LL{$\small(\land E_1)$} \UIC{$\Gamma\vdash \vphi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma\vdash \vphi\land\psi$} \LL{$\small(\land E_2)$} \UIC{$\Gamma\vdash \psi$} \end{prooftree} $$
  • 選言
$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi$} \LL{$\small(\lor I_1)$} \UIC{$\Gamma\vdash \vphi\lor\psi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma\vdash \psi$} \LL{$\small(\lor I_2)$} \UIC{$\Gamma\vdash \vphi\lor\psi$} \end{prooftree} $$
$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi\lor\psi$} \AXC{$\Gamma,\vphi\vdash \theta$} \AXC{$\Gamma,\psi\vdash \theta$} \LL{$\small(\lor E)$} \TIC{$\Gamma\vdash\theta$} \end{prooftree} $$
  • 全称量化($t$は項)
$$ \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 \forall x.\vphi$} \LL{$\small(\forall E)$} \UIC{$\Gamma\vdash \vphi[x:=t]$} \end{prooftree} $$
  • 存在量化($t$は項)
$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi[x:=t]$} \LL{$\small(\exists I)$} \UIC{$\Gamma\vdash \exists x.\vphi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma\vdash \exists x.\vphi$} \AXC{$\Gamma,\vphi\vdash \psi$} \LL{$\small(\exists E)$} \RL{$~\small(x\notin\FV(\Gamma,\psi))$} \BIC{$\Gamma\vdash \psi$} \end{prooftree} $$
  • 恒真
$$ \begin{prooftree} \AXC{} \LL{$\small(\top I)$} \UIC{$\Gamma\vdash \top$} \end{prooftree} $$
  • 矛盾
$$ \begin{prooftree} \AXC{$\Gamma\vdash \bot$} \LL{$\small(\bot E)$} \UIC{$\Gamma\vdash \vphi$} \end{prooftree} $$
  • 公理
$$ \begin{prooftree} \AXC{} \LL{$\small\text{(ax)}$} \UIC{$\vphi\vdash \vphi$} \end{prooftree} $$
  • 構造規則(弱化・交換・縮約)
$$ \begin{prooftree} \AXC{$\Gamma,\Gamma'\vdash \psi$} \LL{$\small\text{(wk)}$} \UIC{$\Gamma,\vphi,\Gamma'\vdash \psi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma,\vphi,\vphi',\Gamma'\vdash \psi$} \LL{$\small\text{(ex)}$} \UIC{$\Gamma,\vphi',\vphi,\Gamma'\vdash \psi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma,\vphi,\vphi,\Gamma'\vdash \psi$} \LL{$\small\text{(cn)}$} \UIC{$\Gamma,\vphi,\Gamma'\vdash \psi$} \end{prooftree} $$
定義. 導出・証明可能性

判断$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 という。

定義. LJの推論規則
  • 含意
$$ \begin{prooftree} \AXC{$\Gamma,\vphi\vdash\psi$} \LL{$\small({\to} R)$} \UIC{$\Gamma\vdash \vphi\to\psi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma\vdash\vphi$} \AXC{$\Gamma,\psi\vdash\Delta$} \LL{$\small({\to} L)$} \BIC{$\Gamma,\vphi\to\psi\vdash\Delta$} \end{prooftree} $$
  • 連言
$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi$} \AXC{$\Gamma\vdash \psi$} \LL{$\small(\land R)$} \BIC{$\Gamma\vdash\vphi\land\psi$} \end{prooftree} $$
$$ \begin{prooftree} \AXC{$\Gamma,\vphi\vdash \Delta$} \LL{$\small(\land L_1)$} \UIC{$\Gamma,\vphi\land\psi\vdash\Delta$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma,\vphi\vdash \Delta$} \LL{$\small(\land L_2)$} \UIC{$\Gamma,\psi\land\vphi\vdash\Delta$} \end{prooftree} $$
  • 選言
$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi$} \LL{$\small(\lor R_1)$} \UIC{$\Gamma\vdash \vphi\lor\psi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma\vdash \psi$} \LL{$\small(\lor R_2)$} \UIC{$\Gamma\vdash \vphi\lor\psi$} \end{prooftree} $$
$$ \begin{prooftree} \AXC{$\Gamma,\vphi\vdash\Delta$} \AXC{$\Gamma,\psi\vdash\Delta$} \LL{$\small(\lor L)$} \BIC{$\Gamma,\vphi\lor\psi\vdash\Delta$} \end{prooftree} $$
  • 全称量化($t$は項)
$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi$} \LL{$\small(\forall R)$} \RL{$~\small(x\notin\FV(\Gamma))$} \UIC{$\Gamma\vdash \forall x.\vphi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma,\vphi[x:=t]\vdash\Delta$} \LL{$\small(\forall L)$} \UIC{$\Gamma,\forall x.\vphi\vdash\Delta$} \end{prooftree} $$
  • 存在量化($t$は項)
$$ \begin{prooftree} \AXC{$\Gamma\vdash \vphi[x:=t]$} \LL{$\small(\exists R)$} \UIC{$\Gamma\vdash \exists x.\vphi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma,\vphi\vdash\Delta$} \LL{$\small(\exists L)$} \RL{$~\small(x\notin\FV(\Gamma,\Delta))$} \UIC{$\Gamma,\exists x.\vphi\vdash \Delta$} \end{prooftree} $$
  • 恒真
$$ \begin{prooftree} \AXC{} \LL{$\small(\top R)$} \UIC{$\Gamma\vdash\top$} \end{prooftree} $$
  • 矛盾
$$ \begin{prooftree} \AXC{} \LL{$\small(\bot L)$} \UIC{$\bot\vdash$} \end{prooftree} $$
  • 公理
$$ \begin{prooftree} \AXC{} \LL{$\small\text{(ax)}$} \UIC{$\vphi\vdash \vphi$} \end{prooftree} $$
  • 構造規則(弱化・交換・縮約・カット)
$$ \begin{prooftree} \AXC{$\Gamma\vdash$} \LL{$\small\text{(wk-R)}$} \UIC{$\Gamma\vdash\vphi$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma,\Gamma'\vdash\Delta$} \LL{$\small\text{(wk-L)}$} \UIC{$\Gamma,\vphi,\Gamma'\vdash\Delta$} \end{prooftree} $$
$$ \begin{prooftree} \AXC{$\Gamma,\vphi,\vphi',\Gamma'\vdash\Delta$} \LL{$\small\text{(ex)}$} \UIC{$\Gamma,\vphi',\vphi,\Gamma'\vdash\Delta$} \end{prooftree} \qquad \begin{prooftree} \AXC{$\Gamma,\vphi,\vphi,\Gamma'\vdash\Delta$} \LL{$\small\text{(cn)}$} \UIC{$\Gamma,\vphi,\Gamma'\vdash\Delta$} \end{prooftree} $$
$$ \begin{prooftree} \AXC{$\Gamma\vdash\vphi$} \AXC{$\Gamma,\vphi,\Gamma'\vdash\Delta$} \LL{$\small\text{(cut)}$} \BIC{$\Gamma,\Gamma'\vdash\Delta$} \end{prooftree} $$

導出・証明可能性は、自然演繹の場合と同様に定義される(「判断」を「シークエント」に置き換えればよい)。

以下の重要なメタ定理が成り立つ。

定義. カット除去定理

シークエント$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

  1. シークエントを$\Gamma\Rarr\Delta$と表記し、$\vdash$の記号をメタレベルの証明可能性を表すために使い、$\vdash\Gamma\Rarr\Delta$のように書くこともある。こちらの方が対象レベル・メタレベルの区別を明示的に示してくれる点ではよいが、記号が増えて煩雑になるためここでは使わない。