第IV章 演習問題 [12]

あとあとの記述の都合上《 \(z\) は順序対である》を \(\mathrm{OP}(z)\) と表記する.

(a) \(\mathrm{OP}(z)\) とは \(z=\{\{a\},\{a,b\}\}\) となる \(a\) と \(b\) が存在するということだから \[ \mathrm{OP}(z)\;\leftrightarrow\; \exists u\in z\exists v\in z\exists a\in v\exists b\in v\Big[\, \forall t\in z(t=u\lor t=v) \land \forall x\in u(x=a) \land \forall y\in v(y=a\lor y=b)\;\Big] \]である. ここでもちろん \(u=\{a\}\), \(v=\{a,b\}\) である. 右辺は \(\mathit\Delta_0\)-式である.

(b) 先に進む前に \(w=\langle a,b\rangle\) という三項関係が \(\mathit\Delta_0\)-式で \[ \begin{align} w=\langle a,b\rangle \; \leftrightarrow\;\exists u\in w\exists v\in w & \Big[\; \forall t\in w(t=u\lor t=v)\\ & \land\; \forall t\in u(t=a) \land \forall t\in v(t=a\lor t=b)\\ & \land\; a\in u\land a\in v\land b\in v\;\Big] \end{align} \]と書けることに注意しよう. これを使うと \[ \begin{align} z = A\times B\;\leftrightarrow\;&\forall a\in A\forall b\in B\exists w\in z \big[\,w=\langle a,b\rangle\,\big]\\ &\forall w\in z\exists a\in A\exists b\in B \big[\,w=\langle a,b\rangle\,\big] \end{align} \]と書けるので \(A\times B\) も \(\mathit\Delta_0\)-式で定義されることがわかる.

(c) 《\(\,R\) は関係である》\(\;\leftrightarrow\;\forall z\in R\big(\mathrm{OP}(z)\big)\). 以下, この右辺の \(\mathit\Delta_0\)-式を \(\mathrm{Rel}(R)\) と表記する.

(d) と (e) 順序対 \(w=\langle a,b\rangle\) について, その左成分と右成分をそれぞれ \(a=(w)_0\), \(b=(w)_1\) と表記することにすると, \[ \begin{gather} a=(w)_0\;\leftrightarrow\;\mathrm{OP}(w)\land \exists v\in w\exists b\in v \big(w=\langle a,b\rangle\big)\\ b=(w)_1\;\leftrightarrow\;\mathrm{OP}(w)\land \exists v\in w\exists a\in v \big(w=\langle a,b\rangle\big)\\ \end{gather} \]となって, これらも \(\mathit\Delta_0\)-式で定義できる. この記法を用いて, \[ \begin{gather} z=\mathrm{dom}(R)\;\leftrightarrow\; \forall w\in R\exists a\in z\big(\,a=(w)_0\,\big) \;\land\; \forall a\in z\exists w\in R\big(\,a=(w)_0\,\big), \\ z=\mathrm{ran}(R)\;\leftrightarrow\; \forall w\in R\exists b\in z\big(\,b=(w)_1\,\big) \;\land\; \forall b\in z\exists w\in R\big(\,a=(w)_1\,\big) \end{gather} \]と, いずれも \(\mathit\Delta_0\)-式で書ける.

(f) 《\(\,R\) は関数である》という述語を \(\mathrm{Func}(R)\) と表記しよう. ここまでで導入した記法も用いて, \[ \mathrm{Func}(R)\;\leftrightarrow\; \mathrm{Rel}(R)\land \forall w\in R\forall w'\in R\Big[\, (w)_0=(w')_0\,\rightarrow\,(w)_1=(w')_1\,\Big] \]と書ける. ここで, \[ (w)_0=(w')_0\;\leftrightarrow\;\exists v\in w\exists a\in v\big(\,a=(w)_0\land a=(w')_0\,\big) \]であるから, \(\mathit\Delta_0\)-式で書ける. \((w)_1=(w')_1\) についても同様である. したがって \(\mathrm{Func}(R)\) も \(\mathit\Delta_0\)-式で書けることがわかる.

(g) 念のため言うと, ここでの \(R(x)\) とは累積階層の \(R(\alpha)\) ではなく, 任意の関数 \(R\) の \(x\) における値 \(R(x)\) と解するべきだ. 累積階層は絶対的でないから \(\mathit\Delta_0\)-式では書けない. さて, \(x\notin\mathrm{dom}(R)\) のとき \(R(x)=0\) とする流儀もあるようだが, 本書では \(R(x)\) は \(x\in\mathrm{dom}(R)\) のときに限って定義されている. そこで, \[ y=R(x)\;\leftrightarrow\; \exists w\in R\big(\,w=\langle x,y\rangle\,\big)\land \forall w'\in R\big(\,(w')_0=x\rightarrow (w')_1=y\,\big) \]と書ける.

(h) 《\(\,R\) は1対1の関数である》は \[ \mathrm{Func}(R)\land \forall w\in R\forall w'\in R\Big[\, (w)_1=(w')_1\,\rightarrow\,(w)_0=(w')_0\,\Big] \]と書けるので, すでに(f)で議論したことから, これも \(\mathit\Delta_0\)-式で書けることがわかる.

 

解答者: 藤田 博司 (公開日: 2011年6月21日)

この解答に不具合を発見した方はぜひご指摘ください.

演習問題一覧に戻る