レーヴェンハイム・スコーレムの定理をちょっと使うと、
「可算モデルだけが持つような特徴」を一階論理で公理化することは不可能であることがわかります。
最も単純な例では、公理系Tが「モデルMが有限集合である」ということを表す論理式の集合であるようにしたいとしましょう。しかもモデルMは有限集合でありさえすればよく、どんなにも大きい有限でもかまわない。つまり、任意のモデルMについて、
となるようにしたいとします。
ところが、上方のレーヴェンハイム・スコーレムの定理により、Tがどんなにも大きな有限モデルを持つので、好きな大きさの基数濃度のモデルを持つことが判明してしまいます。よって、「有限集合である」という特徴は1階論理で公理化可能ではありません。
この例は新井本ではp.55演習問題11に載っています。ちなみに、「元の個数がn以下の有限」というふうに制限すれば、公理化可能です。
他の例では、「Mは有限生成アーベル群」という特徴も1階論理で公理化不可能です。すなわち、
となるような1階閉論理式の集合Tは存在しません。
なぜなら、有限生成アーベル群の濃度は高々可算ですが、これまた上向きのレーヴェンハイム・スコーレムの定理から、可算無限濃度のモデルを持つ公理系Tは不可算濃度のモデルをも持つのでアウト!になります。
レーヴェンハイム・スコーレムの定理!!
公理系Tが無限モデルを持てば、可算モデルも不可算モデルも持ちますよ!それどころかどんな大きな濃度のモデルも持ちますよ!っていう定理です。ちょっとテンションが上がってきますねー(∩´∀`)∩
まずは定理の引用から。(新井敏康「数学基礎論」より)
定理5.1.7(上方(Upward)Löwenheim-Skolem 定理)
1.言語Lでの公理系Tがどんなにも大きい有限モデルをもてばあるいは無限モデルをもてば
(つまり),
どんな無限基数についても
Tのモデルで濃度κのものが存在する.
2.無限モデルについてその初等拡大で
与えられた無限濃度
となるものが存在する.
(p.183)
定理5.1.13(下方(Downward)Löwenheim-Skolem の定理)
1.L-無限モデルと集合について,
初等部分モデルで
かつ
となるものが作れる.
(p.185)
上方のほうのスコーレム・レーヴェンハイムの定理は、ある公理系が無限モデルをもてば、どんなにも大きい無限モデルをも持つことを主張しています。なので、たとえば自然数の公理系PAのモデルで、不可算濃度のものが作れます。
さらにすごいのは、この定理から導かれる系5.1.10。この系によれば、公理系Tが無限モデルをもてば、Tの濃度κのモデルMで、Mで定義できる無限集合の濃度がすべてMと同じκになるようなものが作れます。すると、たとえばZFCの(有限部分の)モデルで、モデル内で定義できる無限集合がすべて可算濃度ωになるものが存在します。ZFCといえば、順序数のクラスを定義できるので、基数もどんどん大きくできるように思えます。が、そのモデルの中では、すべての順序数が可算、実数の集合も可算、実数のべき集合も可算です。オイオイヾ(゚Д゚ )これどうなってんのよ?不可算基数はどこ行ったァァァっ!って感じのモデルです。ZFCのすべての無限集合が不可算になるモデルもあります。ωが不可算とかね。もうね。何が起きているのやら。
下方のほうのスコーレム・レーヴェンハイムの定理からは、言語が可算であれば、どんな大きな無限モデルにもその初等部分モデルになるような可算モデルを持つことが言えます。(X=∅とすればよい。)
こっちのほうは、素朴に考えたらたとえば実数の集合Rとかは可算な初等部分モデルを持たなそうですけど、それが作れてしまいます^^;
可算な実数のモデルというのは実数の集合に対して、
かつ
(φはL(M)-論理式)
なる可算集合Mのことですから、かなり奇妙な感じがしますね。
モデル理論の最初 モデルの拡大
第5章モデル理論に入りました。
部分モデルと初等部分モデルについて。
この辺は具体例と一緒に考えたいと思います。
部分モデル
MがNの部分モデルであることをM⊂Nと書きます。集合の包含関係と同じ記号。
部分モデルの定義はp.179で与えられていますが、
言語L={R,…,f,…,c,…}の二つモデルMとNが、
・集合としてM⊂Nであり、
・各定数記号の解釈がすべてMに入っており、
・関数についてMは閉じている
ことを確認すれば十分です。
同値な言い換え。
集合としてM⊂Nであれば、
ただし、MのダイアグラムDiag(M)とは、言語L(M)において、Mが充たす閉リテラル全体の集合のこと。
このことから、Mの拡大モデルで、いくつか公理を付け加えたモノを作りたいときには、まずDiag(M)を考え、付け加えたい公理達をTとすると、T∪Diag(M)が充足可能であることを示してモデルを作ればよいことがわかかります。
例:
言語L={0,1,+,・}のモデルである整数全体の集合Zと有理数全体の集合Qは、モデルとして、
となっています。
あと、群の部分群は部分モデルでもあります。
要するに関数記号について閉じていることをチェックすればいいので、部分モデルを見つけるのは難しくなさそうです。
初等部分モデル
定義
MがNの初等部分モデルである(NがMの初等拡大モデルである)
とは、
・MがNの部分モデルである。
・任意のL(M)論理式φについて
となること。
Mの元をパラメタとした論理式の真偽がMとNで一致するということですね。
こちらの同値な言い換えは、
で、具体例が割と難しいです(+ω+)
さきほどの整数と有理数は部分モデルにはなっても初等的部分モデルにはなりません。なぜなら、論理式
∃x(x+x=1)
は、有理数では真ですが、整数では偽であるので、各モデルで真なる論理式が一致しません。
整数の初等拡大モデルを考えるには、
に公理を矛盾しないように付け加えて、そのモデルをつくればいいのですが、
たとえばZに無限大を付け加えた整数の超準モデルを考えていけばいいと思います。
第2不完全性定理
新井先生の本p.110によれば、第2不完全性定理を証明するために使う事実は、
・不動点定理
・標準的な証明可能性述語
だけで、第1不完全性定理に比べると、そんなに多くない。
この二つが成り立つ任意の公理系で第2不完全性定理は成り立つので、ZFやZFCでも成り立つ。
公理系Tを与えておく。
不動点定理
ただし、φの中身はFのゲーデル数(のTにおける数項)を表している。
不動点定理はどんな公理系でも成り立つわけではなく、教科書ではPAにおける不動点定理を扱っている。原始再帰的関数とそのコードの関係を使った証明。
第2不完全性定理の証明
では、証明の中で実際にどのようにして不動点定理と証明可能述語が使われているかをp.109に従ってまとめます。
(証明)
はじめに不動点定理により、ゲーデル文Gをつくる。
閉論理式Gを、
…(1)
により定義する。
このことは背理法により示せる。使う性質は(D1)。
(D1)
(Gの定義より)
上の二つから、
…(3)
であるので、GがTで証明可能であるとするとTは矛盾してしまう。
以上で(1)の証明終わり。
ところで、(3)をTの中に形式化したものは、
…(4)
であるが、これは(1)の証明に(D3)をはさむと導出できる。
さらに、
…(5)
が、どんな論理式についても成り立つことが、(D1)と(D2)とT|- Con(T)を使って導ける。
(5)の証明:
(トートロジー)
(¬記号で書き換えた)
(D1)
と、T|- Con(T)の仮定から
を合わせて、
あとは、(D2)から
が任意の論理式に対して言えるので、その対偶を考えることで、
よって、
(5)が導かれた。
(4)と(5)から、
であり、
否定記号¬は、¬φ:≡φ→⊥の略記であったので、
となる。
と、証明を書き下してみたものの
ちょっとアヤシイな。
この証明では、T|- Con(T)の仮定が、論理式に⊥を入れたものしか使っていない。
つまりCon(T)としては、
¬Pr(⊥)
を準備すれば十分だったことになります。
まぁ実際、Tの無矛盾性を意味する論理式は、述語Prさえしっかりと定義できていれば、「無矛盾ならば少なくとも一つ証明できいない論理式がある」ので、たとえば「⊥」を使っちゃえばいい。ということなんでしょうかね。
上で定義したCon(T)は教科書通り書き写したものです。
しかし、これは正式には論理式ではなく、第一不完全性定理からの流れで、原始再帰的述語から写された論理式の省略形でした。第一不完全性定理にこだわらなければ、Con(T)はけっこう簡単に書いてしまってかまわない、ということなのかもしれませんね。
第1不完全性定理 公理系PA
不完全性定理を始めて勉強するなら、「数学ガール」第3巻がおすすめです。ミルカさんがやさしく指導してくれて、テトラちゃんが一緒に悩んでくれて、ユーリちゃんが鋭い直観的指摘をしてくれます。
数学ガール/ゲーデルの不完全性定理 (数学ガールシリーズ 3)
- 作者: 結城浩
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2009/10/24
- メディア: 単行本
- 購入: 37人 クリック: 930回
- この商品を含むブログ (149件) を見る
不完全性定理は算術を含む公理系についての定理です。
本で紹介されているのは、
第1不完全性定理
公理系PAが無矛盾であるならば、PAは不完全:
φのPAでの証明も、¬φのPAでの証明も存在しないような閉論理式φがつくれる。
PAは自然数の算術を含む公理系なのですが、このPAとは何なのかをまとめてみます。
公理系とは、関数記号や関係記号の集合である言語Lがまず定義されたときに、L-閉論理式の集合のことでした。簡単に言うと「文」の集合なのですけど、「文」とは何かについて形式的に定義したのでした。
公理系PAは、
・証明体系H
・原始再帰的関数の関数記号たち
・数学的帰納法の公理
からなります。
公理系PAを決めるための言語は、
・証明体系Hで出てきた→,⊥,∃,=,あと無限個の変数記号
・原始再帰的関数全体と1対1で対応している関数記号の皆さん
ですが、関数記号の皆さんを決めるためには、原始再帰的関数たちをコード化していかなくてはなりません。
どういう方法でもいいのですが、要点は原始再帰的関数がコード(つまり自然数)eによって[e]と書かれ、異なる関数には異なるコードが割り当てられていればとりあえずオッケー。
原始再帰的関数全体の集合をPRとすると、関数記号の皆さんは
と書けます。
言語に定数記号を特別に入れる必要はありません。自然数0、1、2、…は、ゼロ関数0と後者関数Scによって、0、Sc(0)、Sc(Sc(0))、…と表せるので、それらに対応するコードによって、自然数の関数記号が与えられます。
公理系PAの公理は、
・証明体系Hの公理(命題論理の公理、等号公理、量化公理)
・関数記号の公理。各原始再帰的関数[e]の定義式を1階論理で表したモノ。
・数学的帰納法の公理
になります。
そうすると、
自然数の集合Nが、公理系PAの標準モデルとなります。つまりPAは算術を形式化したものなんですね。
PAを使って何ができるか。
1.自然数に関する原始再帰的関数や述語をPAの論理式に写し取ることができる
2.PAの論理式をコード化して、自然数に写し取ることができる
1と2から、PAは自己言及する命題を扱えるようになります。
第1不完全性定理は、自己言及する命題
P「Pは証明不能である」
を作ることで証明されますが、PAはそれを表現するのに十分な記述力をもっているということなんですね。
完全性定理とコンパクト性定理の調理例
1階論理では完全性とコンパクト性が成立する。ので、以下も成り立つ。
Tを文の集合として
・Tが無矛盾であることと、Tのモデルが存在することは同値
・T|-φならば、φはTのある有限部分から証明可能
・Tが矛盾すれば、Tのある有限部分で矛盾する
こやつらは完全性とかコンパクト性の言い換えなんですな。