3時間でわかった気になる強制法 その2-2

前回: 3時間でわかった気になる強制法 その2-1 - くるるの数学ノート

さてと、前回は名前とそれが満たして欲しい性質のことを書きました。今回はそれをどのように実現するかを書きます。例として、Pを前回最後に述べた、ωから{0,1}への有限部分関数全体の集合とします。集合論的には、関数はそのグラフでコードされるので、pとqが関数のときには、p\subseteq qは、「qはpの拡張である」ことを表現しています。

ちょっと定義

えーと、例をだすとき面倒なのでsが0と1からなる有限列であるとき、p_sを定義域が\{0,1,2,\ldots,\text{lh}(s)-1\}となり、p_s(n)はsのn番目の元になるようなものとします。要するに、p_{(010)}で定義域が{0,1,2}で、p_{(010)}(0)=0, p_{(010)}(1)=1, p_{(010)}(2)=0となるようなものとするってことです。

名前の定義

実は、名前の定義は実に単純です。Pの元pと名前\tauの組(p, \tau)を仮に宣言と呼ぶことにします。「仮に」というのは、これがスタンダードな定義でないからですが、まあなにか呼び名をつけた方が分かりやすいかなと。(p, \tau)は「付け加えようとする元rが、pの延長になっているならば、 \tauは元になる」ことを表現するものだとしましょう。
すると、名前は宣言の集合として定義出来ます。……あれ、名前の定義で宣言を使って、宣言の定義に名前を使ってますが、これはいいんでしょうか?ってもちろんこれは再帰的定義で、まあここを読んでいる人たちは問題ないですよね。
例えば空集合は名前です。条件は、「全ての元は宣言である」なので、元がなければ大丈夫。そして空集合は名前なので、任意のPの元pに対して(p, \emptyset)は宣言になります。空集合を関数とみなせば(\emptyset,\emptyset)は宣言ですね。というわけで、{(\emptyset,\emptyset)}も名前になります。

名前の解釈

新しく付け加える実数rが分かれば、名前が示している集合を決定出来ます。\tau^rで、新しく付け加わる実数がr のときに\tauが示している集合を表すことにします。\tauのrによる解釈と呼ばれることもあります。
\tau^rは、\{\sigma^r : (p, \sigma)\in\tau\wedge p\subseteq r\}で定義されます。また、再帰的定義ですね。これは、とても正直に「(p,\sigma)という宣言は、p\subseteq rならば\sigmaが指し示している集合は元となる」を形にしたものです。
いくつか重要な名前を定義しておきます。まず、任意のMの元xに対して\check{x}を以下に再帰的に定義します。

\check{x}=\{(\emptyset,\check{y}):y\in x\}

これが再帰的定義として認められるのは、正則性の公理によります。正則性の公理を仮定しなくても強制法はかなりの部分使えるらしいのですが、少なくとも基本的なやり方では正則性の公理が活躍します。
例えば、\check{\emptyset}は単に\emptysetです。すると明らかに、rがなんであれ{\check{\emptyset}}^r=\emptysetとなりますね。宣言を何も持たないのですから。すなわち、\check{\emptyset}空集合を指し示している名前です。帰納法を使うと一般に全てのx\in Mに対して\check{x}^r=xが成り立ちます。というわけで、Mのそれぞれの元を指す名前が作れました。
もう一つは、\dot{G}でこれは\{(p, \check{p}): p\in P\}で定義されます。これはつまり、p\subseteq rならばpが元となるような集合の名前です。\dot{G}が示している集合をGと書くと、\bigcup Gはrと一致します。だからMの中にある名前を解釈したもの全体の集合は、r を元として持ち、かつMを部分集合として含みます。日本語で書くと紛らわしいですが、M[r]でMに属する名前を解釈したもの全ての集合とすると、r\in M[r]かつM \subseteq M[r]ということです。

強制関係の定義

でも、これだけではだめなのでした。「Mの中では書けるようなrの性質によって、名前で表されているM[r]の元に関する命題を決定出来る」ようでなければいけません。これをどう実現するかが、強制法におけるとても大きなbreak through だと思います。
まず、強制関係とよばれるものを定義します。\varphi(v_1,\ldots,v_n)v_1,\ldots,v_n以外に自由変数を持たない論理式とし、\tau_1,\ldots, \tau_nをMに属するような名前とします。ここで「p\subseteq rならば、M[r]において\varphi ({\tau_1}^r,\ldots,{\tau_n}^r)が成り立つこと」を「pは\varphi ({\tau_1}^r,\ldots,{\tau_n}^r)を強制する」といい、p||-\varphi(\tau_1,\ldots,\tau_n)と書きます。

例えば、p=p_{(0)},q=q_{(1)}としましょう。つまり、\text{dom}(p)=\text{dom}(q)=\{0\}かつp(0)=0かつq(0)=1ということですね。
ここで、\sigmaをなにか名前として、\tau\{(p,\sigma)\}とします。すると、rがp の拡張でありさえすれば、\tau^r=\{\sigma^r\}となって、\sigma^r\in\tau^rが成り立ちます。だから、定義によりp||-\sigma \in\tauとなります。ところが、q\subseteq r,
すなわちr(0)=1の時は\sigma^r\not\in\tau^rとなりますので、q||-\sigma\not\in\tauですね。

でも、Mの中ではこういう議論はできないんですよね。rはMに入っていないので。その代わりに、同じ関係をM の中で記述することを考えます。

Mの中で

いくつかこの関係が満たしている性質を考えてみましょう。それらの性質は、Mの中で記述された強制関係でも成り立っていないといけませんから。
まず、p,q\in Pかつp\subseteq qが成り立っているとします。すると、q\subseteq rならばp\subseteq rですね。このことと強制関係の定義からp||-\varphi(\tau_1,\ldots,\tau_n)ならばq||-\varphi(\tau_1,\ldots,\tau_n)がわかります。

また、例えばp_{(0)}||-\varphiかつp_{(1)}||-\varphiならば、r\supseteq p_{(0)}またはr\supseteq p_{(1)}なので、\emptyset||-\varphiが成り立ちます。

この現象はどのように一般化すればよいのでしょうか。もし、Pの部分集合Dが、以下の性質を持っていれば、p||-\varphiが成り立つとするべきでしょう。

  • 全てのd\in Dに対して、d||-\varphiが成り立つ。
  • r\supseteq pならば、r\supseteq dとなるようなd\in Dが存在する

まあ一番目の条件はよいとして、二番目が曲者ですね。rについての条件なので、Mのなかで記述できるかわかりません。

ちょっと言葉を定義します。D\subseteq Pが稠密であるとは、任意のp\in Pに対して、q\leq pかつq\in Dとなるようなqが存在することを言います。また、Dが、pの下で稠密とは、任意のp'\leq pに対して、q\leq p'かつq\in Dとなるようなqが存在することを言います。
上の二番目の条件を満たすためには、最低限Dはpの下で稠密でなければならないことがわかると思います。
ちょっと非自明な稠密集合の典型的な例は、定義域の最大元nに対してp(n)=1となるようなp\in Pの集合ですね。この集合をDとして、これが稠密であることを示しましょう。任意のp\in Pに対して、その定義域に属する全ての自然数より大きい自然数nをとってきて、q=p\cup\{(n,1)\}とすれば、q\leq pかつq\in Dですね。あ、集合論の書き方に慣れていないとわかりにくいと思いますが、q=p\cup\{(n,1)\}は、「qの定義域はpの定義域にnをくっつけたもので、qはpの定義域上ではpと同じ値をとり、nでは1をとる」ことを表現しています。
これを必要十分条件にしてしまいます。新しく付け加わる実数rは、Mに属する稠密集合D全てに対して、d\in Dかつr\supseteq dが成り立つようなdが存在するようなものとします。すると、r\supseteq pかつDがpの下で稠密なときには、r\supseteq dとなるようなDの元dが存在します。あー、これは練習問題でいいよね。
この性質、「新しく付け加わる実数rは、Mに属する稠密集合D全てに対して、d\in Dかつr\supseteq dが成り立つようなdが存在するようなもの」をgenericityと言います。とても重要です。私の言葉で言えば、「Mの中で書けるrに起きうることは全て起きる」です*1。この性質は、もう少し後で強烈に効いてきます。

ひとまずここで

Mの中でatomic formulaについての強制関係をどう記述するかまでいきたかったのだけれども、ひとまずここまででアップします。

*1:はしょって、「起きうることは全て起きる」と書きたいけど誤解を呼びそうで