解説資料集 2

数理論理学 解説資料集 2
述語論理の構文
自然演繹の推論規則
述語論理の意味
論理式の標準形への変換
導出原理
山田 俊行
http://www.cs.info.mie-u.ac.jp/~toshi/lectures/mathlogic/
2014 年 11 月
1
数理論理学 解説資料 (山田)
述語論理の構文
●項
対象変数
不特定の対象を表す
x, y, z, a, b などで表す
対象定数
特定の対象を表す
c, d などで表す
関数記号
対象を対象に写す関数を表す
f , g などで表す
項
対象を表す記号表現
s, t などで表す
項の帰納的定義
• 対象変数や対象定数は項
• f が m 変数の関数記号で t1 , · · · , tm が項ならば,f (t1 , · · · , tm ) は項
※ 2 変数関数の中置 (t1 f t2 ) を許すこともある
●論理式
述語記号
対象の間の関係を表す
P , Q, R などで表す
論理式
複合命題や複合述語を表す記号表現
A, B, C などで表す
論理式の帰納的定義
• P が n 変数の述語記号で t1 , · · · , tn が項ならば,P (t1 , · · · , tn ) は論理式(原子論理式)
※ 2 変数述語の中置 (t1 P t2 ) を許すこともある
• A, B が共に論理式ならば,(¬A), (A ∧ B), (A ∨ B), (A ⊃ B), (A ≡ B) は全て論理式
※ ⊥ や ⊤ を論理式として使うこともある
• A が論理式で x が対象変数ならば,(∀xA), (∃xA) は共に論理式
記法の注意
混乱を生じない限り,括弧は省ける
¬, ∀, ∃
結合力:強
∧, ∨
⊃
≡
結合力:弱
同じ記号が並ぶ場合,左に結合すると約束して括弧を省く
2
●変数への項の代入
変数の出現
現れる場所によって区別された変数
自由出現 と 束縛出現 の帰納的定義
• 原子論理式の中の変数の出現は全て自由
• 論理式 ¬A, A ∧ B, A ∨ B, A ⊃ B, A ≡ B 中の変数の出現が自由か束縛されているか
は,A か B の中での出現の状態(自由/束縛)と同じ
• ∀xA, ∃xA の A 中の変数 x の出現は全て束縛され,それ以外の変数の出現が自由か束
縛されているかは,A 中での出現の状態と同じ
変数への項の代入
変数の項への置き換え
A[t/x] … 論理式 A 中の変数 x の自由な出現を全て項 t で置き換えたもの
ただし,変数を新たに束縛しないよう,束縛変数の出現を組織的に付け替える
3
数理論理学 解説資料 (山田)
自然演繹の推論規則
自然演繹の形式体系 NJ, NK の推論規則一覧を示す.
以下の規則中で,A, B, C は論理式,i, j は除去する仮定の印,x, a は対象変数,t は項を表す.
規則名の I と E は,下段への記号の導入 (introduction) と上段の記号の除去 (elimination) を表す.
●基本規則
含意 ⊃
論理積 ∧
i
hAi
..
.
B
⊃I, i
A⊃B
A
(注 ※ 1)
A B
∧I
A∧B
A∧B
∧E1
A
A
∨I1
A∨B
i
hAi
..
.
A∨B C
C
論理和 ∨
B
∨I2
A∨B
矛盾 ⊥
全称 ∀
A[a/x]
∀I
∀x A
i A[a/x]
..
.
B ∃E, i
∃x A
B
i
h¬Ai
..
.
⊥ RAA, i
A
背理法
(注 ※ 1)
(注 ※ 1, ※ 3)
(注 ※ 1)
.
0 回以上の規則適用で前提を導出 ( .. で表示) し,仮定 ( h i で表示) を 0 個以上除去
変数条件:次の場所に a を自由変数として使わない
• 結論 ∀x A で有効な (除去されていない) 各仮定
• 結論 ∀x A
(※ 3)
j
hBi
..
.
C ∨E, i, j
∀x A
∀E
A[t/x]
(注 ※ 2)
A[t/x]
∃I
∃x A
(※ 2)
A∧B
∧E2
B
⊥
⊥
A
存在 ∃
(※ 1)
A⊃B
⊃E
B
変数条件:次の場所に a を自由変数として使わない
• 結論 B で有効な (除去されていない) 各仮定
• 前提 ∃x A と結論 B
4
●規則の分類
直観主義論理
(NJ)
古典論理
(NK)
命題論理
⊃I
⊃E
∧I
∧E1 ∧E2
∨I1 ∨I2 ∨E
⊥
上の規則と
RAA
述語論理
左の規則と
∀I ∀E
∃I ∃E
全規則
●派生規則
否定 ¬
同値 ≡
i
hAi
..
.
⊥
¬I, i
¬A
A
j
i
hAi hBi
..
..
.
.
A
B
≡I, i, j
A≡B
¬A
¬E
⊥
A≡B
≡E1
A⊃B
A≡B
≡E2
B⊃A
排中律
A ∨ ¬A
EM
●派生規則の正式な導出
否定 ¬
同値 ≡
排中律
(¬A を A ⊃⊥ の略記と考える)
i
hAi
..
.
⊥
⊃I, i
A ⊃⊥
A
A ⊃⊥
⊃E
⊥
(A ≡ B を (A ⊃ B) ∧ (B ⊃ A) の略記と考える)
j
i
hBi
hAi
..
..
.
.
A
B
⊃I, i
⊃I, j
(A ⊃ B) ∧ (B ⊃ A)
A⊃B
B⊃A
∧I
∧E1
(A ⊃ B) ∧ (B ⊃ A)
A⊃B
2
A
1
∨I1
A ∨ (A ⊃⊥)
A ∨ (A ⊃⊥) ⊃⊥
⊃E
⊥
⊃I, 2
A ⊃⊥
1
∨I2
A ∨ (A ⊃⊥)
A ∨ (A ⊃⊥) ⊃⊥
⊃E
⊥
RAA, 1
A ∨ (A ⊃⊥)
5
(A ⊃ B) ∧ (B ⊃ A)
∧E2
B⊃A
数理論理学 解説資料 (山田)
述語論理の意味
述語論理の意味論で使う基本的な定義を以下にまとめる.論理式の意味解釈の具体例を考えるとよい.
●言語に対する構造
言語
言語は形式体系の記述に使う記号の集合
述語論理の場合: 論理結合子,量化記号,対象変数,対象定数,関数記号,述語記号,等
構造
構造は記号列に意味を与える
言語 L に対する構造 A = hU, Ii は,対象領域 と 解釈 とで定める
U
…
対象領域
対象の集まりを定める非空集合
I
…
解釈
L の記号 と その意味 との対応
記号
対象定数
c
n 変数関数記号
n 変数述語記号
f
P
7→
7→
7
→
7→
意味
cI
I
f
PI
U の要素
cI ∈ U
U 上の n 変数関数
U 上の n 変数述語
fI : Un → U
PI ⊆ Un
言語の拡張
対象領域 U の各要素 u ごとに名前 u を対象定数として言語に追加
L[A] := L ∪ { u | u ∈ U }
解釈の固定
対象の名前 と 等号 の解釈は常に固定
名前 u は常に U の要素 u と解釈
uI := u
=I
:=
{ (u, u) | u ∈ U }
等号 = は常に「U の同一の要素である」と解釈
●項と論理式の意味付け
項の意味
項は対象領域の要素として意味付け
cA
:= cI
A
f (t1 , · · · , tn )
:= f I (t1 A , …, tn A )
閉論理式の意味
自由変数のない論理式は真理値として意味付け
(
0
(t1 A , · · · , tn A ) 6∈ P I のとき
A
P (t1 , · · · , tn )
:=
1
(t1 A , · · · , tn A ) ∈ P I のとき
(¬A)A
:=
1 − AA
(A ∧ B)A
(A ∨ B)A
:=
:=
min{ AA , B A }
max{ AA , B A }
(A ⊃ B)A
(∀xA)A
:=
:=
max{ 1 − AA , B A }
min{ A[u/x]A | u ∈ U }
(∃xA)A
:=
max{ A[u/x]A | u ∈ U }
6
論理式の意味
自由変数のある論理式は全称化して意味付け
AA := (∀x1 ∀x2 · · · ∀xm A)A
A の自由変数が x1 , x2 , · · · , xm のとき
●恒真性と充足可能性
構造に対する式の正しさ
論理式の正しさは,構造が決める真理値で判断
論理式 A が構造 A に対して正しい (A |= A)
:⇐⇒ AA = 1
論理式 A が構造 A に対して正しくない (A 6|= A) :⇐⇒ AA = 0
恒真式
恒真式は,どんな対象 について どんな解釈 をしても正しい式
論理式 A が恒真 ( |= A) :⇐⇒ 任意の構造に対して A が正しい
充足可能式
充足可能式は,対象や解釈をうまく選ぶと正しくなる式
論理式 A が充足可能
:⇐⇒ ある構造 A = hU, Ii のある要素 u1 , · · · , um ∈ U に対して,
論理式 A[u1 /x1 ] · · · [um /xm ] が正しい
(A の自由変数が x1 , · · · , xm のとき)
論理式 A が充足不可能 :⇐⇒ A が充足可能でない
7
数理論理学 解説資料 (山田)
論理式の標準形への変換
導出原理を使って論理式の恒真性を判定するには,論理式をあらかじめ標準形に変換する必要がある.
各種の標準形を得るための変換規則を示す.
●論理和標準形への変換
論理和標準形
論理積の論理和の形
(A1,1 ∧ · · · ∧ A1,m1 ) ∨ · · · ∨ (An,1 ∧ · · · ∧ An,mn )
(ただし,n, m1 , . . . , mn ≥ 1 であり,各 Ai,j は原始論理式かその否定)
論理式 A の論理和標準形 … A と論理同値な論理和標準形
式変形による変換
次の同値変形の規則を繰り返し使う
⊃ の ¬, ∨ での表現
A ⊃ B → ¬A ∨ B
ド・モルガン
¬ (A ∧ B) → ¬A ∨ ¬B
¬ (A ∨ B) → ¬A ∧ ¬B
〃
二重否定の除去
∧ の ∨ への分配
¬¬A → A
A ∧ (B ∨ C) → (A ∧ B) ∨ (A ∧ C)
〃
(A ∨ B) ∧ C → (A ∧ C) ∨ (B ∧ C)
※論理式の論理和標準形は複数存在することもある
真理値表を使う変換 (命題論理の場合)
真理値表で真となる割り当てに着目して,論理積の論理和の形を作ることも可能
●冠頭標準形への変換
冠頭標準形
量化が先頭に並ぶ形
Φ1 x1 · · · Φk xk A
(ただし,k ≥ 0 であり,各 Φi は量化記号 ∀ か ∃ で,A は量化記号を含まない)
論理式 A の冠頭標準形 … A と論理同値な冠頭標準形
式変形による変換
次の同値変形の規則を繰り返し使う (ただし,y は A に現れない変数,⋆ は ∧ か ∨ )
A ⊃ B → ¬A ∨ B
∀x A → ∀y A[y/x]
∃x A → ∃y A[y/x]
¬ ∀x A → ∃x ¬A
∀x A ∧ ∀x B → ∀x (A ∧ B)
¬ ∃x A → ∀x ¬A
∃x A ∨ ∃x B → ∃x (A ∨ B)
A ⋆ ∀y B → ∀y (A ⋆ B)
∀y B ⋆ A → ∀y (B ⋆ A)
A ⋆ ∃y B → ∃y (A ⋆ B)
∃y B ⋆ A → ∃y (B ⋆ A)
※論理式の冠頭標準形は複数存在することもある
8
⊃ の ¬, ∨ での表現
変数の改名
ド・モルガン
∀, ∃ のくくり出し
〃
〃
●スコーレム標準形への変換
スコーレム標準形
存在記号による量化が先頭に並び,論理和標準形が続く形
∃x1 · · · ∃xk A
(ただし,k ≥ 0,A は量化記号を含まない論理和標準形)
論理式 A のスコーレム標準形 … A と恒真性が一致するスコーレム標準形
式変形による変換
論理和標準形を内部に含む冠頭標準形を求めてから,
次の変形規則を繰り返し使う (ただし,c は新しい対象定数,f は新しい関数記号)
対象定数の導入
∀y A → A[c/y]
∃x1 · · · ∃xk ∀y A → ∃x1 · · · ∃xk A[f (x1 , · · · , xk )/y]
関数記号の導入
※冠頭標準形を求めるとき ∀ をなるべく左に寄せると,スコーレム標準形が簡単
※変形前後で恒真性が不変 (同値変形ではない)
※論理式のスコーレム標準形は複数存在することもある
変換例
∀x ∃y R(x, y) ∧ ∀x ∀y (R(x, y) ⊃ R(y, x)) ⊃ ∀y ∃x R(x, f (y))
→ ¬ ∀x ∃y R(x, y) ∧ ∀x ∀y (¬R(x, y) ∨ R(y, x)) ∨ ∀y ∃x R(x, f (y))
⊃ を ¬, ∨ に
→ ∃x ∀y ¬R(x, y) ∨ ∃x ∃y (R(x, y) ∧ ¬R(y, x)) ∨ ∀y ∃x R(x, f (y))
¬ を最内へ
→ ∃w ∀w′ ¬R(w, w′ ) ∨ ∃x ∃y (R(x, y) ∧ ¬R(y, x)) ∨ ∀z ′ ∃z R(z, f (z ′))
→ ∀z ′ ∃w ∀w′ ∃x ∃y ∃z ¬R(w, w′ ) ∨ (R(x, y) ∧ ¬R(y, x)) ∨ R(z, f (z ′))
→ ∃w ∃x ∃y ∃z ¬R(w, g(w)) ∨ (R(x, y) ∧ ¬R(y, x)) ∨ R(z, f (c))
変数を改名
9
∀, ∃ を先頭へ
c と g を導入
数理論理学 解説資料 (山田)
導出原理
●命題論理の導出原理
基本用語
リテラル
…
原子論理式 P かその否定 ¬P
節
…
リテラルの有限集合 {A1 , · · · , Ak }
空節
…
リテラルの空集合 ( で表す)
導出原理
…
2 つの節 C ∪ {P } と D ∪ {¬P } から節 C ∪ D を得る操作
C ∪ {P }
D ∪ {¬P }
P
PP
PP
C∪D
導出図
…
導出原理を反復適用し,節集合から 1 つの節を導く図
導出原理の健全性と完全性
論理和標準形の論理式 (A1,1 ∧ · · · ∧ A1,m1 ) ∨ · · · ∨ (An,1 ∧ · · · ∧ An,mn ) (ただし,n ≥ 1,
m1 , · · · mn ≥ 0,各 Ai,j はリテラル) が恒真であるための必要十分条件は,節集合
{A1,1 , · · · , A1,m1 }, · · · , {An,1 , · · · , An,mn } から空節 が導出できることである.
導出の例
4 つの節からなる集合 {P, Q, ¬R}, {¬P, Q}, {P, R}, {¬Q} から空節 を導出
{P, Q, ¬R}
{P, R}
P
PP
PP
{P, Q}
{¬P, Q}
P
PP
PP
{Q}
{¬Q}
P
PP
PP
論理式 (P ∧ Q ∧ ¬R) ∨ (¬P ∧ Q) ∨ (P ∧ R) ∨ ¬Q は恒真
●述語論理の導出原理
基本用語
代入
…
節 {A1 , · · · , Ak } から節 {A1 [t/x], · · · , Ak [t/x]} を得る操作
{A1 , · · · , Ak }
[t/x]
{A1 [t/x], · · · , Ak [t/x]}
導出図
…
導出原理と代入を反復適用し,節集合から 1 つの節を導く図
10
導出原理の健全性と完全性
A を論理和標準形の論理式 (A1,1 ∧ · · · ∧ A1,m1 ) ∨ · · · ∨ (An,1 ∧ · · · ∧ An,mn ) (ただし,
n ≥ 1,m1 , · · · mn ≥ 0,各 Ai,j はリテラル) とし,x1, · · · , xk を A 中に現れる全ての変
数とする.スコーレム標準形 ∃x1 · · · ∃xk A が恒真であるための必要十分条件は,節集合
{A1,1 , · · · , A1,m1 }, · · · , {An,1 , · · · , An,mn } から空節 が導けることである.
導出の例
節集合 {P (x), ¬R(c, x)}, {R(y, f (z))}, {¬P (f (g(c)))} から空節 を導出
{P (x), ¬R(c, x)}
{R(y, f (z))}
[f (z)/x]
[c/y]
{P (f (z)), ¬R(c, f (z))} {R(c, f (z))}
P
PP
PP
{P (f (z))}
[g(c)/z]
{P (f (g(c)))}
{¬P (f (g(c)))}
P
PP
PP
論理式 P (x) ∧ ¬R(c, x) ∨ R(y, f (z)) ∨ ¬P (f (g(c))) は恒真
11