戸次大介『数理論理学』ノート(随時更新)

●版元による紹介はこちら:
数理論理学 - 東京大学出版会
Amazon等へのリンクもある。

●公式の正誤表はこちら:
Webpage: BEKKI Daisuke
「Books: 第2刷正誤表」で入手できるが、File Not Foundになったり文字化けを起こすようである。「リンク先を保存」などを試してください。

●著者のYoutubeチャンネルはこちら:
BekkiLab - YouTube
同書の初めのほうの内容を著者自ら解説している。

●「1.2 集合」~
――例で用いられる\(a,b,c,\ldots\)というアルファベットは、「異なる文字は異なるモノ」とみなして読む。これらを変数と考えると、例えば例1.4の\(b\notin\{a,c\}\)は\(b=a\)のときや\(b=c\)のときに成立しなくなってしまう。もしも変数だとすると成り立たない例はどれか、考えてみるのも面白い。

●練習問題1.9
――「明確に定まっている」の定義が明確でないので、1,2くらいまではともかく、3,4あたりになるとよく分からない、というのが穏当なところだろう。著者による動画解説でもそういう立場であった。それならば「区別せよ」などと書かないでほしい気もするが、いずれにせよ、さほど悩まなくても数理的な理解に影響はないであろう。

●定義1.60
――反射律・対称律・推移律に「置き換えの原理」を加えたものを「等号公理」と呼び、通常は等号公理を満たす二項関係に「\(=\)」という記号が与えられる。単なる同値関係は「\(\sim\)」のような記号で表されることも多い。

●定義1.61
――ここで提示されている半順序公理は通常よく見かけるものであるが、これは(等号公理を満たす、本物の)等号のうえに定義されることが前提であり、同値関係のうえに定義したければ、単に等号を同値関係に読み替えるだけでは正しく翻訳されない。同値関係上の半順序関係は、直接的には各要素でなく同値類どうしの関係(等号は「同値類が集合として等しい」という意味)と考えれば修正を要さない。しかし、これを各要素の関係に翻訳する際には、等号を「\(\sim\)」などに変え、さらに反射律は\(xRx\)ではなく\[x\sim yならばxRy\]と書く必要がある。テキストでは等号関係と同値関係の区別が曖昧なため、誤解を招く書き方になっている。

●1.9節
――現在では「値域」は「定義域の像」の意味に用いられることが多く、写像のcodomainの訳語には「終域」「余域」などの語が充てられる。

●定義3.2および解説3.3
――\(n\)項真理関数は、「関数」という名前がついているが、1.9節にあるような始域と終域(本書でいう定義域と値域)を意識した写像(関数)と呼ぶには準備が足りない。通常、統語論的にはこれらは「論理結合子」などと呼ばれており、意味論において論理結合子に対応付けられる「真偽値の\(n\)個組全体から真偽値全体への写像」(本書で「\(n\)項真理関数の解釈」と呼んでいるもの)のことを「\(n\)項真理関数」と呼ぶことが多い。

●定義3.9
――真部分論理式を「部分論理式のうち、自身を除いたもの」と定義しているが、以降ではこの語を「複合論理式\(\rho(\varphi_1,\ldots,\varphi_n)\)に対する\(\{\varphi_1,\ldots,\varphi_n\}\)」、いわゆる「子論理式」の意味で用いている。ここでの定義に従えば子論理式のみならず孫論理式、曾孫論理式、……もすべて真部分論理式のはずである。

●定義3.26
「\([\![\rho(\varphi_1,\ldots,\varphi_n)]\!]_I=[\![\rho]\!]_I([\![\varphi_1]\!]_I,\ldots,[\![\varphi_n]\!]_I)\)」
――そこまでの解説で「真理関数\(\rho\)には解釈によらない写像を対応させる」ということが強調されているにも関わらず、\([\![\rho]\!]\)ではなく\([\![\rho]\!]_I\)と添え字が付いているので、これが\(I\)によって変わりうると錯覚しないように注意する必要がある。この\(I\)は頭の中で消して読んだほうがよい。この後、具体的な真理関数に対する定義にはいずれも「任意の\(I\)に対して」と書かれているが、ここで定義されていない無名の真理関数に対しても同様である。そもそも「解釈」とは「論理式全体から\(D_t\)への写像」だったのであり、「命題記号の解釈」・「複合論理式の解釈」という言葉は「それぞれを解釈写像でうつしたときの値」という意味であると(まだ)了解可能である。これに対して\(n\)項真理関数(論理結合子)は解釈写像の定義域に属していないため、「その解釈」と言われても意味不明である。もちろん、ここで述べられているような「解釈によらない、真偽値のn個組を真偽値にうつす写像」を指しているというのは分かるのだが、初めに定義した「解釈」とは別の意味で用いられていると解せざるを得ない。

●「3.2.4 恒真式」
――著者の動画解説で触れられているが、「整合式」という語に「恒真でも恒偽でもない」という意味はなく、「きちんと論理式のルールにのっとって作られた式」という程度の意味である。つまり、恒真式も恒偽式も整合式に含まれる。

――解説3.43にある通り、これらの恒真式の\(\varphi,\psi,\chi\)は命題記号そのものではなく任意の論理式を入れてよい「メタ記号」である。したがってこれらの恒真「図式」から無数の恒真式が得られる。さらに、2つの恒真式\(\alpha\rightarrow\beta\)と\(\alpha\)から新たに恒真式\(\beta\)を切り出すことができる。このことは後の定理3.83で述べられるが、この時点でも恒真性と「\(\rightarrow\)」の定義から容易に理解できる(\(\alpha\)が恒真であるのに\(\beta\)を偽にする解釈\(I\)が存在すると、\(I\)において\(\alpha\rightarrow\beta\)が偽になってしまう)。例えば構成的両刃論法を移入律の前半部にマッチさせることで\[((\varphi\rightarrow\chi)\rightarrow(\psi\rightarrow\chi)\rightarrow\varphi\vee\psi\rightarrow\chi)\rightarrow(\varphi\rightarrow\chi)\wedge(\psi\rightarrow\chi)\rightarrow\varphi\vee\psi\rightarrow\chi\]という長い恒真図式が得られるが、この前半が恒真であるため、後半の\[(\varphi\rightarrow\chi)\wedge(\psi\rightarrow\chi)\rightarrow\varphi\vee\psi\rightarrow\chi\]も恒真であることが分かる。

●解説3.51
「すなわち,\(\Gamma\vDash\)は「\(\Gamma\)は矛盾している」という意味である.」
――単一の論理式に関する「矛盾式」の定義はすでになされているが、「論理式の列が矛盾していること」はこの時点では未定義である。「~という意味である」と書かれているが、実質的にはこれが定義になっていることに注意。

●定理3.57
「ただし,\(\Delta\equiv\psi_1,\ldots,\psi_n\)とすると,\(\neg\Delta\stackrel{def}{\equiv}\neg\psi_n,\ldots,\neg\psi_1\)である.」
――これまで\(\Delta\)の論理式列は1個以下としていたのに、ここだけ\(n\)個に拡張されている。第10章のシークェント計算等を学んだ後であれば馴染みも出てくるが、この時点では面食らうかもしれない。その場合でも、定義3.48の意味論的含意の定義はそのままで通用するので、これに従って考えればよい。また、よく見ると\(\neg\Delta\)の定義がもとの列と逆順になっており、これも故なきことではないが、まだ気にしなくてよい。

●定理3.60の後の表
「\( (\varphi\rightarrow\chi)\wedge(\psi\rightarrow\chi)\vDash\varphi\vee\psi\rightarrow\chi\)」
――もとの恒真図式(構成的両刃論法)は\[(\varphi\rightarrow\chi)\rightarrow(\psi\rightarrow\chi)\rightarrow\varphi\vee\psi\rightarrow\chi\]という形で書かれているので、直接的に得られる意味論的妥当性は\[\varphi\rightarrow\chi\vDash(\psi\rightarrow\chi)\rightarrow\varphi\vee\psi\rightarrow\chi\]になる。上記引用部の妥当性を導きたければ、「3.2.4 恒真式」に関するノートで述べたような恒真図式を用意する必要がある。

●「3.2.2 解釈」複合論理式の解釈
――「真部分論理式」の用法について、定義3.9に関するノートを参照。

●練習問題3.64
「反射律については定理3.60より(中略)明らか」
――定理3.60から直ちに言えることは「\(\varphi\rightarrow\varphi\)は恒真なので\(\varphi\vDash\varphi\)」ということだけである。ここでは意味論的同値関係のうえに半順序をなしているかどうかを見るため、反射性を言うには単に「同一の論理式同士」だけでなく「意味論的に同値な論理式同士」すべてについて調べなければならない(定義1.61のノート参照)。これは(反対称律と同じく)「定義3.61から明らか」というべきである。

●「3.3.5 置き換え」リード文
「すべての真部分論理式が」
――定義3.9に関するノートを参照。

補題3.75
――証明の5行目の左端の「\(\vDash\)」は不要。

補題3.76の証明
――「移入律より」→「移入律・移出律より」。

●解説3.77
――「移入律は」→「移入律・移出律は」。

●解説3.79
――補題3.75から\[\begin{eqnarray}&&P\rightarrow R,Q\rightarrow R\vDash P\vee Q\rightarrow R\\&\Longleftrightarrow&\vDash(P\rightarrow R)\rightarrow(Q\rightarrow R)\rightarrow(P\vee Q)\rightarrow R\end{eqnarray}\]であるので、真偽表を書かなくても恒真図式にマッチしてしまう例になっている。

●例3.83、枠の直下
「まず,命題記号を(中略)命題記号で置き換える」
――ひとつめの「命題記号」を「命題」に。

「3.2.4項の恒真式から定理3.78によって意味論的同値性を得る操作については」
――「意味論的同値性」→「意味論的妥当性」(双方向とは限らないので)

――ここに挙げられている推論は一例であり、別解がいくらでも考えられる。ここでは、先に恒真式から得られる推論を列挙しておき、置き換えを一切使わず、カットだけを連続して適用する方法を示す。\[\begin{eqnarray}\neg S,S\vee R&\vDash&R\\R&\vDash&\neg\neg R\\Q\rightarrow\neg R&\vDash&\neg\neg R\rightarrow\neg Q\\\neg\neg R,\neg\neg R\rightarrow\neg Q&\vDash&\neg Q\\\neg P\rightarrow Q&\vDash&\neg Q\rightarrow\neg\neg P\\\neg Q,\neg Q\rightarrow\neg\neg P&\vDash&\neg\neg P\\\neg\neg P&\vDash&P\end{eqnarray}\]下から順にカットを適用してゆくと(6回)、\[\neg S,S\vee R,Q\rightarrow\neg R,\neg P\rightarrow Q\vDash P\]が得られる。

●練習問題3.84
――例3.83と同様の方針による推論を示す。\[\begin{eqnarray}&\vDash&R\rightarrow\neg\neg R\\S\rightarrow\neg R&\vDash&\neg\neg R\rightarrow\neg S\\R\rightarrow\neg\neg R,\neg\neg R\rightarrow S&\vDash&R\rightarrow\neg S\\Q\rightarrow\neg S,R\rightarrow\neg S&\vDash&Q\vee R\rightarrow\neg S\\P\rightarrow Q\vee R,Q\vee R\rightarrow\neg S&\vDash&P\rightarrow\neg S\end{eqnarray}\]下から順にカットを適用してゆくと(4回)、\[P\rightarrow Q\vee R,Q\rightarrow\neg S,S\rightarrow\neg R\vDash P\rightarrow\neg S\]が得られる。

●練習問題3.91
――この推論は妥当ではないので、「妥当性を背理法を用いて示す」というのは無理である。「真偽値表・背理法・カットが出題される」という命題の真偽値が順に「偽・真・真」のとき、前提はすべて真に、帰結は偽になる。

●例5.11
――「自然数の最大数である」を「『自然数である』かつ『最大数である』」と切り分けたために、何の最大数であるのか言わないと意味をなさない「最大数である」という述語の扱いが苦しくなってしまっている。最大元の定義に素直に従えば、「(自身が)自然数である」かつ「自然数全体の上界である(いかなる自然数に対しても『それ以上』である)」と分けるのがよい。後者は前者を含意しないことに注意。\[\neg\exists x(x\in\mathbb{N}\wedge\forall y(y\in\mathbb{N}\rightarrow y\leq x))\]あるいは略記して\[\neg\exists x\in\mathbb{N}\forall y\in\mathbb{N}(y\leq x)\]

●練習問題5.15
「\(p\)が素数ならば,任意の\(n\)について,\(p\)は\(n^p-p\)の約数である.」
――おそらくフェルマーの小定理から採っており、\(n^p-p\)ではなく\(n^p-n\)という意図であったと思われる。

●解説5.26
「\(v\notin fv(\varphi)\cup fv(\tau)\)を満たすものを選ぶ」
――\(\varphi\)が例えば\(\forall v F(v,\zeta,\xi)\)だった場合、\(\varphi[v/\zeta]\)で変数の衝突が再び発生してしまうことに注意。その場合は再帰的に再び貼り換えが起こることになる。\(v\)を選ぶ際に\(v\notin bv(\varphi)\)も課しておく、という手もある。

●定義5.29
「\(Sub(o(\tau_1,\ldots,\tau_n) )\stackrel{def}{\equiv}Sub(\tau_1)\cup\cdots\cup Sub(\tau_n)\)」
――その項自身を含め忘れている。

●系5.57
――\(\xi_i\neq\xi_{i+n}\)という条件が抜けている。