ブール値モデル

数理論理学において、**ブール値モデル**はモデル理論の通常のタルスキ流の構造概念の一般化である。ブール値モデルにおいて、命題の真理値は"真"と"偽"に限らず、その代わりに事前に選んだ完備ブール代数の値を取る。

ブール値モデルは1960年代にデイナ・スコット、ロバート M. ソロヴェイ、ペトル・ヴォピェンカによってポール・コーエンの強制法の手法の理解の助けになることを目的として導入された。これは直観主義論理におけるハイティング代数の意味論にも関連がある。

## 定義
完備ブール代数 *B* と一階の言語 *L* を一つとっておく; *L* の非論理記号は定数記号、関数記号、関係記号からなる。

言語 *L* のブール値モデルは、要素 (と***名前***)の集合である宇宙 *M* と記号の解釈から構成される。具体的には、*L* の各定数記号には *M* の元を割り当て、*L* の各 *n*-項関数記号 *f* と *M* の元の各 *n*-つ組 についての項 *f*(*a*0,...,*a**n*-1) も *M* の元に割り当てられなければならない。

*L* の原子論理式の解釈はさらに複雑である。*M* の元のペア *a* と *b*について、という式にはその真理値  を割り当てられなければならない; この真理値はブール代数 *B* の元である。同様に、*L* の *n*-項関係記号 *R* と *M* の元の *n*-つ組 について、 という真理値を *B* の要素が割り当てられなければならない。

## 論理式と文の解釈
原子式の真理値は、ブール代数の構造を利用して、より複雑な式の真理値を再構築するのに利用できる。論理演算の場合、これは簡単で、対応するブール演算子を部分式の真理値に適用するだけでよい。例えば、φ(*x*) と ψ(*y*,*z*) がそれぞれ1つと2つの自由変数を持つ式であり、*a*,*b*,*c* が *x*,*y*,*z* に代入されるモデルの宇宙の要素である場合、
: \phi(a)\land\psi(b,c)
の真理値は単純に
: \|\phi(a)\land\psi(b,c)\|=\|\phi(a)\|\ \land\ \|\psi(b,c)\| 
となる。

ブール代数の完備性は、量化された論理式の真理値を定義するために必要である。φ(*x*) が自由変数 *x* (と、場合によっては束縛された他の自由変数)を持つ式であるならば
: \|\exists x\phi(x)\|=\bigvee_{a\in M}\|\phi(a)\|,
となる。ここで、右辺は *a* が *M* を亘って動くときの真理値 ||φ(*a*)|| 全ての集合の、*B* における上限と理解される。

このようにして論理式の真理値は完備ブール代数 *B* の元となる。

## 集合論のブール値モデル
与えられた完備ブール代数 *B* に対してブール値モデル *V<sup>B</sup>* が存在する、これはフォン・ノイマン宇宙 *V* のブール値を用いた類似物である。(厳密には、*V<sup>B</sup>* は真クラスなので、モデルであることの意味を適切に解釈しなおす必要がある。) 非公式には、*V<sup>B</sup>* の要素は"ブール値集合"である。普通の集合 *A* が与えられると、すべての集合は要素であるか、要素でないかのどちらかであるが、ブール値集合が与えられると、すべての集合は *A* においてある一定の「メンバーシップ度」を持つ。

ブール値集合の要素もまたブール値集合であり、その要素もまたブール値集合である。ブール値集合の非循環的な定義を得るために、それらは累積的階層に似た階層で帰納的に定義される。*V* の各順序数 α について、集合 *V<sup>B</sup><sub>α</sub>* は次の通りに定義される 
* *V**B*0 は空集合。
* *V**B**α*+1 は *V<sup>B</sup><sub>α</sub>* から *B* への関数全体からなる集合。(このような関数は *V<sup>B</sup><sub>α</sub>* の部分集合を表現している; *f* がこのような関数なら、 に対して、*f*(*x*) の値が *x* がその集合の要素である度合いである。)
* *α* が極限順序数であるとき、*V<sup>B</sup><sub>α</sub>* は  について *V<sup>B</sup><sub>β</sub>* の和である。
クラス *V<sup>B</sup>* は *V<sup>B</sup><sub>α</sub>* 全ての和で定義される。

また、この構成全体をZFの推移モデル *M* (あるいはその断片)に相対化することも可能である。ブール値モデル *M**B* は、上記の構成を *M* の*内部で*適用することで得られる。推移モデルへの制限は重大なものではない。というのもモストフスキ崩壊補題から、すべての"合理的な"(整礎的で、外延的な)モデルは推移モデルと同型であることがいえるからである。(モデル *M* が推移的でない場合、"関数"や"順序数"であることの意味について *M* での解釈が"外"での解釈と異なる可能性があるため、事態はより厄介になる)。

*V*B の要素が上記のように定義されたら、*V<sup>B</sup>* 上の *B*-値重みの付いた相等関係と所属関係を定義する必要がある。ここで *V<sup>B</sup>* 上の *B*-値重み付き関係は  から *B* への関数である。通常の相等関係と所属関係との混同を避けるため、 と  で表す。ここで *x* と *y* は *V<sup>B</sup>* の元である。これらは次の通り定義される:
: は  のこととして定義される   ("*x* は 、それが *y* に属するなんらかに等しいとき、*y* の元である")
: は  のこととして定義される ("*x* と *y* が互いに相手の部分集合であるとき *x* と *y* は等しい")、ここで
: は  のこととして定義される  ("*x* の全ての元が *y* に属しているとき *x* は *y* の部分集合である")

記号 Σ と Π はそれぞれ完備ブール代数 *B* の最小上界と最大下界の演算である。

一見すると、上記の定義は循環しているように見える:  は  に依存し、それは  に依存し、それは  に依存する。しかし実際は、 の定義はより小さいランクの要素に対しての  のみに依存するので、 と  は *V<sup>B</sup>*×*V<sup>B</sup>* から *B* への well-defined な関数である。

*V<sup>B</sup>* 上の*B*-値重みつき関係  と  が *V<sup>B</sup>* を集合論のブール値モデルにすることを示すことができる。自由変数を持たない一階集合論の各文は *B* に真理値を持つ; 等式の公理と(自由変数を持たずに書かれた) ZF 集合論のすべての公理は真理値1(*B*の最大の要素)を持つことを示さなければならない。この証明は簡単だが、確認すべき公理が多いためそれに伴って長くなる。

## 強制法との関連
集合論者は強制法という手法を独立性の結果を得るためや、その他の目的のための集合論のモデルを構成するために用いる。この技法はもともとポール・コーエンによって開発されたが、その後大幅に拡張された。ある形式では、強制法は poset のジェネリックな部分集合を"宇宙に追加"するもので、その poset は新しく追加されたオブジェクトに興味深い性質を課すように設計されている。考える意味のある poset の場合、そのような poset のジェネリックな部分集合は単純な意味では存在しないことが証明できる。これに対処するには、通常次の小節で示す3つの方法がある。

### 強制法を解釈する3つの方法

* **構文論的強制法** *強制関係*  p\Vdash\phi は、poset の要素 *p* と*強制言語*の式 φ の間に定義される。この関係は構文的に定義され、意味論は持たない; すなわち何もモデルを作らない。意味論的アプローチではなくて、ZFC (または集合論の他の公理化)がそれと独立な文を証明するという仮定から出発して、ZFC が矛盾も証明できなければならないことを示す。そしてこの強制は "*V* 上"のものを考える; つまり、可算推移モデルから始める必要はない。この方法の説明は Kunen (1980)を参照。
* **可算推移モデル** 目的のために必要なだけの公理を含む集合論の可算推移モデル *M* であって用いる poset を要素に持つものから始める。すると、poset の *M* 上ジェネリックなフィルターが存在することになる。つまり、それは poset の稠密な開部分集合のうち *M* の要素であるもの全てと共通部分を持つフィルターである。
* **仮想のジェネリックオブジェクト** 通常、集合論者は、poset が *V* 全体にわたってジェネリックである部分集合を持っている*ことにする*。このジェネリックオブジェクトは、自明でない場合、*V* の要素にはなり得ないので、"実際には存在しない"。(もちろん、どのような集合が"本当に存在する"かどうかは哲学的な論点であるが、それは現在の議論の範囲外である。) 少し練習すれば、この方法は便利で信頼できるが、哲学的には満足できないかもしれない。

### ブール値モデルと構文論的強制法
ブール値モデルは、構文論的強制法に意味論を与えるために使うことができる； そのかわり、意味論は2値("真か偽か")ではなく、ある完備ブール代数から真理値を割り当てる。強制半順序 *P* が与えられると、対応する完備ブール代数 *B* が存在し、多くの場合、*P* の正則開部分集合全体の集合として得られる、 ここで、*P* 上の位相は、全ての下方集合を開集合(そして全ての上方集合を閉集合)と宣言することによって定義される。(*B* を構成する他のアプローチについては後述する。)

これで、(0を取り除いた後の) *B* の順序は、強制法のためには *P* と置き換えることができる。そして、強制関係は意味論的に次のように解釈できる。 
*p* が *B* の要素であり、φ が強制言語の式であるとき、 
:p\Vdash\phi\iff p\leq||\phi||
ここで ||φ|| は *V**B* における φ の真理値である。

このアプローチは、架空のジェネリックな対象に頼ることなく、*V* 上の強制に意味論を割り当てることに成功している。欠点としては、意味論が2値でないことと、*B* の組合せ論は下地になっている poset *P* の組合せ論よりも複雑になることが多いという点がある。

### ブール値モデルと可算推移モデル上ジェネリックなオブジェクト

強制法の1つの解釈は，ZF 集合論の可算推移モデル *M*、半順序集合 *P*、*P* の"ジェネリックな"部分集合 *G* から始まり、これらのオブジェクトから ZF 集合論の新しいモデルを構築する。(モデルが可算かつ推移的であるという条件は技術的な問題を単純化するものであるが、本質的なものではない。) コーエンの構成は、ブール値モデルを用いて次のように行うことができる。
* 完備ブール代数 *B* を、poset *P* によって"生成される"完備ブール代数として構成する。
* *P* のジェネリックな部分集合 *G* から、*B* 上の超フィルター *U* (あるいは *B* からブール代数 {真, 偽} への準同型)を構成する。
* *B* から {真, 偽} への準同型を使って、上の節のブール値モデル *M<sup>B</sup>* を ZF の普通のモデルに変える。

これらのステップをより詳しく説明する。

任意の poset *P* に対して、完備ブール代数 *B* と *P* から *B*+ (*B* の非零要素全体)へのある写像 *e* が存在して、その像が稠密であり、*p*≤*q* であるなら *e*(*p*)≤*e*(*q*) 、そして *p* と *q* が両立しないなら *e*(*p*)*e*(*q*)=0 が成り立つ。このブール代数は同型を除いて一意である。このブール代数は *P* の位相空間における正則開集合の代数として構成することができる (*P* を全体として、*q*≦*p* である *q* の集合 *U**p* によって与えられる開基を持つ。)

poset *P* から完備ブール代数 *B* への写像は一般に単射でない。この写像が単射なのは、*P* が次の性質を持つ場合だけである: すべての *r*≦*p* が *q* と両立するならば、*p*≦*q* である。

*B* 上のウルトラフィルター *U* は、*B* の要素 *b* のうち、*G* (の像)の要素より大きいものの集合と定義される。ブール代数上のウルトラフィルター *U* が与えられたとき、*U* を真に、その補集合を偽に写すことで、{真, 偽} への準同型を得る。逆に、このような準同型が与えられると、真値の逆像がウルトラフィルターになるので、ウルトラフィルターは {真, 偽} への準同型と本質的に同じである。(代数学者はウルトラフィルターの代わりに極大イデアルを使うことを好むかもしれない: ウルトラフィルターの補集合は極大イデアルであり、逆に極大イデアルの補集合はウルトラフィルターである。)

もし *g* がブール代数 *B* からブール代数 *C* への準同型であり、*M<sup>B</sup>* が ZF の(あるいは他の理論でも良いが) *B*-値モデルであるならば、全ての式の値に準同型 *g* を適用することで、*M<sup>B</sup>* を*C*-値モデルに変えることができる。特に *C* が {真, 偽} であれば、{真, 偽}-値モデルが得られる。これは普通のモデルとほとんど同じである: 実際、{真, 偽}-値モデルの ||&nbsp;=&nbsp;|| による同値類の集合上で普通のモデルが得られる。つまり、*M* とブール代数 *B* と *B* 上のウルトラフィルター *U* から出発することで、ZF 集合論の普通のモデルが得られる。(このように構築された ZF のモデルは推移的でない。実際にはモストフスキ崩壊補題を適用して推移モデルにする。)

ここまでで、ブール値モデルを用いてジェネリックな部分集合を持つ poset からウルトラフィルターを持つブール代数を構成することで、強制が可能であることを見てきた。また、逆のことも可能である: ブール代数 *B* が与えられると、*B* のすべての 0 でない要素からなるposet *P* を形成することができ、*B* 上のジェネリックなウルトラフィルターは *P* 上のジェネリック集合に制限される。したがって、強制法とブール値モデルの技術は本質的に等価である。

## 注釈


## 参考文献
* Bell, J. L. (1985) *Boolean-Valued Models and Independence Proofs in Set Theory*, Oxford. 
*
* 
* 
*  Contains an account of Boolean-valued models and applications to Riesz spaces, Banach spaces and algebras. 
*  Contains an account of forcing and Boolean-valued models written for mathematicians who are not set theorists.
*