直観主義型理論でごんす。
有限集合
規則
これまでの規則はすべて、ある集合(あるいは集合族)からある集合を作るものだったが、ここで導入する有限集合は前提なしに直接に与えられるものである。 によって無限個のルールがあることに注意。
形成則
前提がない。
導入則
には要素がない(これは図にも書いたように < として を変えていくとわかりやすいかも)。 はひとつのカノニカルな要素 を持ち、 はカノニカルな要素 を持つ、などなど。
除去則
はふつうに 上の性質として解釈できる。前提を知っていると仮定して、 を以下のように解釈する。
まず、 を実行する。すると となる。対応する の要素 を選んでさらに実行する。 は と等しいということだったので前提の と合せて となる。
は有限集合 上の再帰(recursion)である。場合わけによる定義のようなものである。 個の規則がある。
等号則
と の規則のみを作っておいて、 などなどと定義して他の規則を導出することもできる。
例:
には要素がないので、導入則がない。なので
とするのは自然である。
除去則
要素 はありえないので、 を実行することはできない。 という形のプログラムの命令の集合は空になる。これはダイクストラによって導入されたアボート(中断)という文と似ている。
除去則
が に依存していないとき、前提と帰結の証明(構成)を隠して 除去則を得る。矛盾からはなんでも出てくるというやつである。もうひとつの形の正当化もかいておいた。
例:
と定義する。 導入則によって を得るので は の要素であり、 は true である。
が の唯一の要素であることは(たぶんカノニカルとかを無視して)図を参照。
例:
と定義する。これはプログラミングにおける真理値 で構成される。 と定義しよう。すると と定義できる。 が というのは を実行すると になるということで、 等号則によって は と同じ値を持つ。そうでなければ、 を実行すると になり、 は と同じ値を持つ。
何故こんなに上手くいくのだろう?
の要素が か であることは証明できるが、命題の形となる。図を参照。
例:否定
~
とすると、いちばん右のに含意の導入と除去がそのまま使えるので、それがそのまま否定の規則になる。ここで
無矛盾性
規則の体系の無矛盾性について。
無矛盾性は二つの方法で理解できる。
(1)数学的無矛盾性
理論 の無矛盾性を証明するには、別の理論 を考える。この はもとの理論 の命題のコードと述語 を持つ。 はコードが の命題 が で導出可能であるということを表す。ここで と定義して、 が で true であることを(頑張って)証明する。この方法は、ヒルベルトがやったように、公理や推論規則の意味論的正当化を諦めるならできる。直観主義型理論でもやろうと思えばできるのだが、我々は構文論と同じくらい意味論も重視しているので、ここではそれをとらない。以下の単純な無矛盾性を考える。
第2不完全性定理がらみの難しい話ですな。
(2)単純な無矛盾性
単純に が証明できないこと、あるいは という判断ができないということである。上の と違って数学的な命題ではない(よくわからないが)。こちらの無矛盾性は以下のように示す。
とすると、 は実行したらカノニカルな要素 となる。しかし は空集合なのでカノニカルな要素を持たない。 が証明されるとしたら直観主義型理論の規則の何かが間違っていることになるが、(ザックリしているけど)そんなものはない。 を導出する規則などないので。よって の証明はない。
少なくとも の単純な無矛盾性を仮定すれば、もとの の数学的無矛盾性からその単純な無矛盾性を出せる。:ある について が証明できたとする。 が単純な無矛盾ではないとすると、 における の証明、すなわちある について の証明がある。コーディングによって が与えられる。 とこれに 除去則を適用して を得る。すなわち は で導出可能である。よって が で証明可能でない、すなわち が単純な無矛盾であると仮定するとメタな意味で矛盾し、下線部が否定される。