Ehrenfeucht-Fresse ゲーム
こんにちは,19erの東條です.
この記事はISer Advent Calendar 2019の23日目の記事として書かれたものです.
adventar.org
ちなみに,記事の題名にある人名は,エーレンフォイヒトとフレーゼと読みます.
はじめに
最近,一階述語論理などの論理に対する構造を有限構造に制限して考える有限モデル理論という分野を勉強していて,そこで用いられる「ゲーム」という基本的道具を紹介したいと思います.
と言っても,パズルと思って適当に読んでいただければ幸いです.
なお,本記事は全面的に[1]を参考にしています.
ゲームの紹介
いきなりですが...
一階論理で書けるような性質についての(有限)構造の類似性を次のようなゲームで特徴付けることができます.言語(非論理記号の集合)としては述語記号のみを含む(関数記号は含まない)有限集合を考えます.
定義
構造と自然数が与えられたとき,Ehrenfeucht-Fresseゲームとは二人の競技者spl(spoiler)とdup(duplicater)によって次のようにplayされるゲームである.
以下をについて回繰り返す.
- splはどちらかの構造かを選ぶ
- splは選んだ構造 (仮にとする)から要素を1つ選ぶ
- dupは逆の構造(この場合は)から要素を1つ選ぶ
勝利条件
このゲームの結果として2つの有限列が得られるわけですが(ゲームの進行過程でsplが選んだ構造に応じて,例えばはsplが選んだ〜つまりはdupが選んだ〜がはdupが選んだ,という状況もあり得ます).この列が次の条件を満たしている時にdupは勝利します(その他の時はsplの勝利)
- つまり,これらの列は部分関数を定める.
- 項数のどのような述語記号と重複を許した長さの部分列()に対してもが成り立つ.つまりとはによっては区別できない.
条件2は要するにがに生成する部分構造とがに生成する部分構造が列の順番も含めて全く同じ(つまりが部分構造どうしの同型である)ということを言っています.
例をみる前に,このようなゲームを考えると嬉しいこととして,次のような定理があります.
定理1
有限個の関係記号からなる言語と有限構造 に対してdupがに必勝とする.この時,とはquantifier-rankが以下の一階述語論理の文(閉論理式)で区別できない.
注
- 言語が定数記号を含んでいても上の定理は成り立つのですが,簡単のためにこの記事では述語記号しか含まない言語に制限しています.
- quantifier-rankとは論理式の構文木を辿った時に量化が現れる個数の最大値のことです.
定理を証明するのは簡単だし面白いのですが,話を先に進めるためにまずはこの定理を認めてしまいましょう.
少し話は変わりますが...
有限構造の性質は,その性質を満たすような構造の部分クラスと同一視できます(例えば,グラフの連結性を連結なグラフ全体の集まりと考える).
この時,このようなクラス(性質)が一階述語論理で公理化できるとは,ある一階述語論理の文が存在して任意の構造に対して
がこのクラスに属することととなることが同値になることであると定義できます.
さて,すごく勘のいい人は気づいたと思うのですが.ゲームに関する上の定理を使えば次のようなことが言えてしまいます.
定理2
を有限構造のあるクラス(性質)とする.もし任意のに対して有限構造でdupがに必勝するようなものが存在するとすると,クラスを定義する一階述語論理の文は存在しない.
証明は簡単です.
どんな一階述語論理の文もある有限のquantifier-rankを持つのだから,それより大きいをとるとある2つの構造があってdupはに必勝する.よって定理1よりこれらの構造はでは区別できない.
注意し忘れていたのですが,この記事では構造といえば有限構造を考えることにします.つまり任意の構造について~という主張は任意の有限構造について〜と読み換えます.
さて,この定理2を用いていくつかの有限構造のクラスの定義不能性を見てみましょう.
例1
空言語(つまり,論理式に現れる関係記号が相当関係のみ)のとき,偶数構造全体のクラスは定義不能.
解説
空言語における構造とは単に集合のことであることに注意しましょう.任意に与えられたに対して元集合と元集合を取ると,dupは明らかにに必勝になってしまいます.実際,各手番において
splがそれまでに選んだ要素と異なる要素を選んだのならdupはもう片方の構造において今までと異なる要素を選べば良く,
以前打った手と同じ手を打ってきたときは前回の手番の時の対応する要素を打ち返せば良いです.
ポイントはともサイズが以上であることで,splが手全て異なる要素を打ってきたとしてもdupは小さい方の構造の要素を尽きさせてしまう心配がないので,手の間ならいわばdupは片方の構造のサイズが小さいことがバレないようにやり過ごせるという感じでしょうか.
さて,次はどうでしょうか
例2
順序の言語において偶数全順序全体のクラスは一階述語論理で公理化不能.
解説
有限構造を考えているときは,定義できなかったクラスに適当な(「適切な」ではなく「デタラメな」の意味)全順序を入れるだけで定義可能になってしまうということがしばしばあるのですが,この場合はそれをやっても無理という主張です.
順序の公理:
を満たすような有限構造全体のサブクラスとして偶数構造のクラスが定義できないことを示したいので,任意に与えられた自然数に対して文を満たす構造でサイズが のものについてdupがに必勝になることを示せば十分です.ここでは任意の大きい値です.
dupの必勝戦略を考えるために,まず有限線形順序を次のように両端点のある線分と見なします.
小・ー・ー・ー・ー・ー・ー・ー・大
それでは,長さが1だけ違う線分を2つ用意して実際にをplayしてみます.
・ー・ー・ー・ー・ー・ー・ー・
・ー・ー・ー・ー・ー・ー・
splの初手は
・ーー・ー・ー・ー・ー・ー・
だったとしましょう.これに対しdupが
・ー・ーー・ー・ー・ー・
と返したとします.
手を1つ打ったことで線分が前と後ろに2分割されたというのは重要な視点です.
分割された2つの区間のうち,小さいほうの区間の長さに相違があるので
splはここにつけ込んで2手目を
・ーーー・ー・ー・ー・
と打つとdupは
ーー・ー・ー・ー・ー・ー・
と打ち返すしかないでしょう.そこでsplが最後の一手を
ーーー・ー・ー・ー・
と打てばdupがのどの・に3手目を打ってもとすることはできません.
例えば
ーー・ーー・ー・ー・ー・
dupの負け(だが)
dupの敗因は,まだ十分な手番が残っているにも関わらず大きさの異なる小さい区間を作ってしまったことにあります.一方で,残りの手数に比べて十分大きい区間の長さが間でちょっとくらい違っていたところで,dupはその区間の点が尽きることが無いようにうまく手を返していくことができそうです.
つまり,dupの必勝戦略を一言で表すなら「残りの手数に対して大きい区間はとりあえずどうでも良いが,小さい区間はとにかく完全再現する」ということになります.実際先の例でdupが初手を
・ーー・ー・ー・ー・ー・
と返していれば,少なくとも同じ方法ではsplは勝つことができなかったでしょう.
では具体的に手ゲームに対するdupの必勝戦略を構成してみます.構造のサイズはなんでも良いのでと取ることにします.
先ほども注意した通り,splが手を置くごとにどれかの区間が2分割されます(区間の端,つまり最大,最小元や既に置かれた点に再び手が置かれた時は2つの区間のうち片方の長さが0になったと考える).
dupはsplが選んだのと逆の構造で,splが手を置いた区間と同一の区間(手うつと区間できるが,そのうち初めから見て同じ番目の区間)に手を置く必要がありますが,残りの手番から考えて基準を下回るような長さの区間(特に長さ0の区間はどんな手番においても)が生じた時はそちら側の区間の長さは完全に揃えるように手を打つ必要があります.
手目の攻防
〜ー・ー・ーー・ー・〜・〜・ー〜
〜ー・ー・ーー・ー・〜・〜・ー〜
ここの長さを こちらは長いので
揃える どうでも良い
大きさを揃えた区間と逆の区間は構造間で一般に長さが異なりますが,この部分が十分大きければこの違いは問題になりません.
この基準長を残りの手数に対してとしてみましょう.
初めの構造のサイズはとなので,splの初手でどちらかの構造に小さい区間が作られてdupがもう片方でそれを再現したとしても,大きい方の区間はどちらも基準長を超えていて問題ありません.
この考え(基準長未満の長さの区間は再現)に基づいて打っていけば残り手の状態でとの番目の区間が
であるか,かつ
を満たすように打っていくことができます(考えてみてください).
小さい区間は大きさが一致しているので,分割の片方の大きさを揃えるように打つと自動的にもう片方も揃うことも利用しています.
おまけ
以降はおまけです.暇で暇で仕方のないときに考えてみてください.
定理1の証明
定理1の対偶は
かつとなるquantifier-rankの文があるとき,dupはに必勝にならない.
となります.ここではより強くこのようなからsplの必勝戦略を論理式の構造に関する帰納法で構成してみましょう.
のときは,適切なを選べば
かつ
とできます.のときも同様.
のときはとの役割を反転すれば良いです.
以上の操作にはsplの手番は消費しません.
splが帰納法を潜るのに手を消費するのは以下の量化子の場合です.
では,のとき
このときは上手くを選べばどんなを選んでも
]かつ]
とできます.つまりsplはこのようなを選べばdupが何を打ち返してこようが構造帰納法を1つ潜ることができます.
上のように手を打っていけば,のquantifier-rankが以下なのでsplは手以内にとを区別するatomic sentenceに到達するでしょう.
例3
有限連結グラフ全体のクラスは一階述語論理で公理化不能
ただし,グラフの言語は (はarty 2)で単純無向グラフの公理
を満たす構造を考える.
例4
atomが偶数個の有限ブール代数全体のクラスは一階述語論理で公理化不能
注
atomが個の有限ブール代数とは,集合の冪集合に真の包含関係を用いて半順序を入れたものです(もちろん言語は).ならはじめからそう書けよ...
おわりに
正直ここまでちゃんと読んでくださった方はあまりいないんじゃないかと思うのですが,まあ人生でこんなことを考える機会が一回くらいあってもいいよね,というくらいの気分になっていただけたならとても嬉しいです.
ちなみに,上でも見たように一階述語論理は有限構造を扱うには弱すぎる(強すぎるという側面もあるのですが,とりあえず適してはいません)ので,例えば二階の量化子を導入したり変数の個数をある有限個に制限したりと様々な工夫をして有限の範囲でも適切な他の論理が用いられます.このような論理に対しても,上で使ったゲームという枠組みはとてもよく当てはまり便利な道具立てとなっています.面白いですね.
参考文献
[1] Ebbinghaus, and Flum, Finite Model Theory 2nd ed., Springer, 1999.