桜技録

🐈🐈🐈🐈🐘

ノート: 情報科学における論理④

小野寛晰『情報科学における論理』の読書ノート。なるべく練習問題も解いてく。(→前回)

第2章 述語論理(承前)

古典述語論理の形式体系LK

推論規則

古典命題論理での推論規則に加えて次の推論規則を持つ。なお  A は論理式、  \Gamma , \Delta は論理式の列、  t は任意の項、  z は対象変数を表す。

∀ Left (∀L)
 \cfrac { A [ t / x ] , \Gamma \vdash \Delta } { \forall x A , \Gamma \vdash \Delta }
∀ Right (∀R)
 \cfrac { \Gamma \vdash \Delta , A [ z / x ] } { \Gamma \vdash \Delta , \forall x A }
∃ Left (∃L)
 \cfrac { A [ z / x ] , \Gamma \vdash \Delta } { \exists x A , \Gamma \vdash \Delta }
∃ Right (∃R)
 \cfrac { \Gamma \vdash \Delta , A [ t / x ] } { \Gamma \vdash \Delta , \exists x A }

∀Rと∃Lを適用するには、  z が下式で自由な出現を持ってはならない。この条件を変数条件(eigenvariable condition)と呼び、また  z 固有変数(eigenvariable)と呼ぶ。

Cut除去定理

命題論理と同様、述語論理のLKに於いてもcut除去定理が成り立つ。

決定不能

命題論理と異なり、与えられた式が述語論理のLKで証明可能かどうかは決定不能

完全性定理

完全性と健全性

命題論理と同様、述語論理のLKも健全かつ完全。

形式理論

閉じた論理式の集合を形式理論(formal theory)または理論と呼ぶ。

理論  T に含まれる論理式からなる有限列  \Sigma を適当に選んで、式  \Sigma , \Gamma \vdash \Delta がLKで証明可能になるとき、  \Gamma \vdash \Delta  T で証明可能といい、  T \vdash ( \Gamma \vdash \Delta ) で表す。(この本が式の導出記号を  \vdash でなく  \rightarrow で記述しているのはこういうことかー。式を構成する記号か、公理から式を導出可能なこと表す記号か紛らわしいね)

 T \vdash ( \vdash ) のとき、つまり式  \Sigma \vdash が証明可能なとき  T 矛盾する(inconsistent)という。

モデル

言語  \mathscr{ L } 上の理論  T  \mathscr{ L } に対する構造  \mathfrak{ A } について、任意の  P \in T  \mathfrak{ A } \models P であるとき、  \mathfrak{ A }  T のモデルと呼ぶ。

二変数述語記号として  = が与えられているとき、次の論理式の集合を等号の公理と呼ぶ。以降同記号を含む言語上の理論には等号の公理が含まれるものとする。

  •  \forall x ( x = x )
  •  \forall x \forall y ( x = y \rightarrow y = x )
  •  \forall x \forall y \forall z ( ( x = y \land y = z ) \rightarrow x = z )
  •  \forall x_1 \cdots \forall x_m \forall y_1 \cdots \forall y_m ( ( x_1 = y_1 \land \cdots \land x_m = y_m ) \rightarrow f ( x_1 , \cdots , x_m ) = f ( y_1 , \cdots , y_m ) )  (  f  m 変数関数記号)
  •  \forall x_1 \cdots \forall x_m \forall y_1 \cdots \forall y_m ( ( x_1 = y_1 \land \cdots \land x_m = y_m ) \rightarrow ( P ( x_1 , \cdots , x_m ) \rightarrow P ( y_1 , \cdots , y_m ) ) )  (  P  m 変数熟語記号)

例として次の記号からなる言語  \mathscr{ L }_1 を考える。

  • 対象定数:  e
  • 一変数関数記号:  ^{-1}
  • 二変数関数記号:  \cdot
  • 二変数述語記号:  =

等号の公理に加えて次の論理式からなる  \mathscr{ L }_1 上の理論  T_1 があるとする。

  •  \forall x \forall y \forall z ( ( x \cdot y ) \cdot z = x \cdot ( y \cdot z ) )
  •  \forall x ( e \cdot x = x \land x \cdot e = x )
  •  \forall x ( x \cdot x^{ -1 } = e \land x^{ -1 } \cdot x = e )

これは明らかに群の定義である。ある群  G があり、その単位元や演算を  \mathscr{ L }_1 の各記号に対応させる写像  I を取れば、構造  ( G , I )  T_1 のモデルになる。また  T_1 のモデルはひとつの群を自然に定める。従ってしばしば群  G と構造  ( G , I ) を同一視する。

強い形の完全性
  1. 任意の理論  T がモデルを持つならば、  T は無矛盾である。
  2. 任意の理論  T が無矛盾ならば、  T はモデルを持つ。

2番を強い形の完全性定理という。

練習問題

問2.13

f:id:sciencesakura:20211204181436p:plain

問2.14

f:id:sciencesakura:20211204182302p:plain

問2.15

2-a)  \forall x B \equiv \forall y ( B [ y / x ] )

f:id:sciencesakura:20211204182642p:plain  f:id:sciencesakura:20211204182657p:plain

2-b)  \exists x B \equiv \exists y ( B [ y / x ] )

f:id:sciencesakura:20211204183439p:plain  f:id:sciencesakura:20211204183500p:plain

3-a)  A \land \forall x B \equiv \forall ( A \land B )

f:id:sciencesakura:20211204183939p:plain  f:id:sciencesakura:20211204183959p:plain

3-b)  A \lor \exists x B \equiv \exists x ( A \lor B )

f:id:sciencesakura:20211204184238p:plain  f:id:sciencesakura:20211204184255p:plain

4-a)  A \lor \forall x B \equiv \forall x ( A \lor B )

f:id:sciencesakura:20211204184710p:plain  f:id:sciencesakura:20211205031724p:plain

4-b)  A \land \exists x B \equiv \exists x ( A \land B )

f:id:sciencesakura:20211205031816p:plain  f:id:sciencesakura:20211205031846p:plain

5-a)  \forall x B \land \forall x C \equiv \forall x ( B \land C )

f:id:sciencesakura:20211205031951p:plain  f:id:sciencesakura:20211205032022p:plain

5-b)  \exists x B \lor \exists x C \equiv \exists x ( B \lor C )

f:id:sciencesakura:20211205032116p:plain  f:id:sciencesakura:20211205032149p:plain

6-a)  ( \forall x B \lor \forall x C ) \rightarrow \forall x ( B \lor C )

f:id:sciencesakura:20211205032257p:plain

6-b)  \exists x ( B \land C ) \rightarrow ( \exists x B \land \exists x C )

f:id:sciencesakura:20211205032329p:plain

10-a)  \lnot \forall x B \equiv \exists x \lnot B

f:id:sciencesakura:20211205032655p:plain  f:id:sciencesakura:20211205032740p:plain

10-b)  \lnot \exists x B \equiv \forall x \lnot B

f:id:sciencesakura:20211205032832p:plain  f:id:sciencesakura:20211205032858p:plain

11-a)  A \rightarrow \forall x B \equiv \forall x ( A \rightarrow B )

f:id:sciencesakura:20211205034117p:plain  f:id:sciencesakura:20211205034130p:plain

11-b)  A \rightarrow \exists x B \equiv \exists x ( A \rightarrow B )

f:id:sciencesakura:20211205035656p:plain  f:id:sciencesakura:20211205035732p:plain

12-a)  \forall x B \rightarrow A \equiv \exists x ( B \rightarrow A )

f:id:sciencesakura:20211205040801p:plain  f:id:sciencesakura:20211205041237p:plain

12-b)  \exists x B \rightarrow A \equiv \forall x ( B \rightarrow A )

f:id:sciencesakura:20211205042811p:plain  f:id:sciencesakura:20211205043425p:plain

13)  \exists x ( B \rightarrow C ) \equiv \forall x B \rightarrow \exists x C

f:id:sciencesakura:20211205044708p:plain  f:id:sciencesakura:20211205045725p:plain

14)  \forall x ( B \rightarrow C ) \rightarrow ( \forall x B \rightarrow \forall x C )

f:id:sciencesakura:20211205050415p:plain

15)  \forall x ( B \rightarrow C ) \rightarrow ( \exists x B \rightarrow \exists x C )

f:id:sciencesakura:20211205050857p:plain