誰もが造語的述語のためのゲームのセマンティクスに関する作業を知っていますか?
造語的述語とは、述語自体が述語の本体で呼び出される述語であり、述語の意味を基礎となる定義の最大の固定点と見なしています。このような述語は、ストリーム、無限ツリー、ラベル付き遷移システムなどの無限データ構造にわたって定義されます。
非常に単純な例は次のとおりです(Haskellの場合):
data Cat = BlackCat | WhiteCat
data Stream a = Stream a (Stream a)
allBlacks :: Stream Cat -> Bool
allBlacks (Stream cat rest) = cat == BlackCat && allBlacks rest
すべての黒猫の流れを次のように定義できます。
blackCats :: Stream Cat
blackCats = Stream BlackCat blackCats
コインダクションを使用して証明:
allBlacks blackCats
完全に展開されていると想像するだけで、造語的述語を無限結合または分離として考えることができます。この設定でのゲームのセマンティクスは簡単です。無限結合の場合、Falsifierは、ゲームに勝利するために、どの接続詞を改ざんするかを選択する必要があります。無限の選言の場合、ベリファイアは、ゲームに勝つために満足する選言を選択する必要があります。
そこ無限の組み合わせや論理和としてそれを検討する際に無視されcoinductive述語「評価する」で自然な順序は、しかし、である、と私は、この順序は、ゲーム意味論で捕獲されたいつまりそれによってゲームが進行遊んそれぞれを次に、選言/選言。
私が持っているもう1つの問題は、述部の無限の性質を取り込むために使用する勝利条件を理解することです。あるいは、素人の言葉で言えば、この黒い猫の無限の流れの中に、白い猫がいないことをどうやって知ることができるのでしょうか。
追加の例
次のデータ型を検討します(これもHaskellにあります)。
data Tree a = Tree (a -> Maybe (Tree a))
Tree Aファンクタの最大固定点に対応します。
現在、いくつかの関係があることを前提と。これは本質的な意味を持たず、次の造語的な述語を定式化するためにのみ使用されます。Rを≤と考えるだけで十分です。
以下coinductive述語検討×(corecursively定義されます)Tree ATree A
そのような述語をゲーム理論的なセマンティクスで表現するための形式主義を探しています。既存の作品へのリンクをいただければ幸いです。私の頭をうまく動かすのに苦労している主なものは、勝利の状態です(以下のコメントのいくつかで説明されています)。ゲームは永遠に続きますが、無限のプレイは引き分けにはなりません。