私の質問は、2004年の本、Logic in Computer Science:Modeling and Reasoning Systems(2nd Edition)のテキストの一部に直接関連しているため、次のディスカッションのコンテキストを提供するために、Michael HuthとMark Ryanによる本を逐語的に引用する:
述語論理における妥当性の決定問題は決定不可能です。が与えられた場合、かどうかを決定するプログラムは存在しません。φ
φ φφ 証明:前述のように、述語論理の有効性は決定可能であり、それによって(不溶性の)Post対応問題を解決します。対応問題のインスタンス与えられた場合: 有限の空間と時間内で均一に構築できる必要があるため、すべてのインスタンスに対して、のような述語論理のいくつかの公式上記の対応問題インスタンス解がある場合に限ります。C
C s1s2。。。skt1t2。。。tks1s2...sk φt1t2...tk φ φφ CC 関数シンボルとして、定数と2つの関数シンボルおよびを選択します。それぞれに1つの引数が必要です。私たちが考える空の文字列、またはワードとして、そしてとあれば、それぞれ1、象徴0との連結のためのスタンドビットのバイナリ文字列である、我々は長期的なように、そのアップをコーディングでき。このコーディングはその単語のスペルを逆にすることに注意してください。これらの数式を読みやすくするために、ような用語を。e
e f0f0 f1f1 ee f0f0 f1f1 b1b2。。。blb1b2...bl fbl(fbl−1。。。(fb2(fb1(e)))。。。)fbl(fbl−1...(fb2(fb1(e)))...) fbl(fbl−1。。。(fb2(fb1(t)))。。。)fbl(fbl−1...(fb2(fb1(t)))...) fb1b2。。。bl(t)fb1b2...bl(t) また、2つの引数を期待する述語記号も必要です。意図した意味は、が表す用語であるようなインデックスシーケンスがあることですおよびは。したがって、はと同じインデックスのシーケンスを使用して文字列を作成します。だけが使用するのに対し、は使用し。P
P P(s、t)P(s,t) (私1、私2、。。。、私メートル)(i1,i2,...,im) ss s私1s私2。。。s私メートルsi1si2...sim tt t私1t私2。。。t私メートルti1ti2...tim ss tt ss s私si tt t私ti 私たちの文は粗い構造 where where setφ
φ φ1∧φ2⟹φ3φ1∧φ2⟹φ3 φ1def=k⋀私=1P(fs私(e)、ft私(e))
φ1=def⋀i=1kP(fsi(e),fti(e)) φ2def=∀v、wP(v、w)→k⋀私=1P(fs私(v)、ft私(w))
φ2=de f∀ V 、WP(v 、w )→⋀i = 1kP(fs私(v )、ft私(w )) φ3def=∃zP(z、z)
。φ3=de f∃ ZP(z、z) 私たちの主張は、ポスト対応問題に解決策がある場合に限り、が成り立つというものです。φ
φ CC
PCP⟹有効性の証明:
逆に、ポスト対応問題Cにいくつかの解決策があると仮定します。[...]ここで進む方法は、モデル値領域で有限のバイナリ文字列を解釈することです。これは、あるプログラミング言語のインタープリターを別の言語でコーディングする場合と同じです。解釈は、有限のバイナリ文字列のデータ構造に対して帰納的に定義される関数インタープリターによって行われます。あ』
A ' M』M」 解釈する(ε)def=eM』
通訳(ϵ )=de feM」 解釈する(s0)def=f0M』(解釈する(s))
解釈(s 0 )=de ff0M」(解釈(s )) 解釈する(s1)def=f1M』(解釈する(s))
。解釈(s 1 )=de ff1M」(解釈(s )) [...] [ ]とであることから、 for。[...]、すべてのには for。で始まるこれら2つの事実を使用して、後者の観測を繰り返し使用して、解釈する(b1b2。。。bl)=fM』bl(fM』bl−1(。。。(fM』b1(eM』)。。。)))
解釈する(b1b2。。。bl)=fM」bl(fM」bl − 1(...(fM'b1(eM')...))) M⊨φ1M⊨φ1 (解釈する(s私)、解釈する(t私))∈PM』(interpret(si),interpret(ti))∈PM' 私=1、2、。。。、ki=1,2,...,k M』⊨φ2M'⊨φ2 (s、t)∈PM』(s,t)∈PM' (解釈する(ss私)、解釈する(tt私))∈PM』(interpret(ssi),interpret(tti))∈PM' 私=1、2、。。。、ki=1,2,...,k (s、t)=(s私1、t私1)(s,t)=(si1,ti1) (2.9)。(解釈する(s私1s私2。。。s私ん)、解釈する(t私1t私2。。。t私ん))∈PM』
(interpret(si1si2...sin),interpret(ti1ti2...tin))∈PM' [...]したがって、(2.9)はを検証し、したがってます。∃zP(z、z)
∃zP(z,z) M』M' M』⊨φ3M'⊨φ3
述語論理の有効性が決定不可能であることを証明するために、私が学校から学んだアプローチはHuth&Ryanの本(第2版、135ページ)に基づいており、PCPから有効性の問題への還元を構築するときに、宇宙の「有限バイナリ文字列」は、「解釈関数」で解釈されます。「解釈関数」は、バイナリ文字列をモデルの関数の複合にエンコードします。
次に、の前件が自明でないために保持しなければならないという事実を使用して、前件の両方の部分式が上記の「解釈関数」で表現できることを示します。そこからは、前の式のinterpretから続くinterpret関数を使用して表現することもできるため、結果も同じになります。φ
私の質問は、この「解釈機能」の目的は何ですか?以前に考案したφを使用しても同じ結果が得られないのはなぜですか?解釈を使用して要素を表現することで何が得られますか?
また、宇宙に任意の要素が含まれている場合はどうでしょうか。つまり、バイナリ文字列でない場合はどうなりますか?2つのマッピングを構築するだけですか?