情報数学 I
第十二回 (2014年 1月10日)
述語論理
Predicate Logic
Martin J. Dürst
http://www.sw.it.aoyama.ac.jp/2013/Math1/lecture12.html
© 2005-14 Martin
J. Dürst 青山学院大学
今日の予定
これからの予定
- 1月14日 (火曜日2限、補講):
13回目の授業
- 1月17日 (金): 14回目の授業
- 1月24日 (金): 15回目の授業
- 1月31日 (金) 11:10~12:35: 期末試験
補講についての注意
前回からの宿題
[本年度のために削除]
命題の制限と述語
命題は各々の事実を別物として表現
例: 今日は晴れ、明日は晴れ、明後日は晴れ、
2 が偶数、5 が偶数
「今日は晴なら明日も晴れ」とか「2が偶数なら3が偶数ではない」は表現可能が、
「ある日が晴なら次の日も晴れ」とか「x
が偶数なら x+2 も偶数」は表現不可能
述語は命題と同様、客観的に真偽が分かるものが対象
命題と違って、引数をとる (命題は引数 0 の述語)
引数が決定されない場合、述語の真偽が未決定
述語の例
晴 (今日)、 晴 (明日) 、偶数 (2)、偶数 (5) 等
sunny(today), sunny(tomorrow), even(2), even(5)
一般的: 晴(x)、偶数(y) 等
述語によって以前書けなかったものが書ける:
晴 (x) → 晴 (x の次の日)
偶数 (x) → 偶数 (x+2)
述語は命題と同じように真か偽が、命題と違って未定も可能
一個の述語が未定であってもそれを含む論理式は未定ではないこともある。
述語と関数・関係
関数の例: father (x) = y
述語の例: father (y, x)
関係と述語は非常に近い概念
述語は性質 (引数の数が 1 の場合が多い) とか関係
(引数の数が 2以上) を表す
内容より分野の違いが強い
一階述語論理
first order predicate logic
- 述語の値には変数、関数、式などが使える
- しかし、述語の中に述語が使えない
反例: say(z, father (y, x))
(z は「y が x
の父である」と言う)
- 高階述語論理は一階述語と違って、述語の中に述語を許容
(全称記号、universal quantifier)
ある論理式がある変数の対象とする全ての値 (個体)
に対して記述したいときに使う。
記号の由来: "for All" の A を逆さまにした
例: ∀x: P (x); ∀n∈ℕ: even
(n) → even(n+2)
読み方:
- For all x, P(x)
- 全ての x において、P(x)
- 任意の x において、P(x)
存在限量子
(存在記号、existential quantifier)
ある論理式がある変数の少なくとも一つの値 (個体)
について記述したいときに使う。
記号の由来: "there Exists" の E
を逆さまにした
例: ∃y: P (y); ∃y∈ℕ: odd
(y)
読み方:
- There exists a y so that P(y)
- P(y) が成立する y が存在する
- ある y について P(y)
応用例
father(x, y) が「x が y
の父である」と同じように、
mother, parent, grandparent, grandfather, grandmother
等の述語を使って、次のことを記述してください:
- 誰にも親がいる: ∀x:
∃y: parent(y, x)
- 全ての人間において、誰かの父であるならその人の親である:
∀x: ∀y:
(father(x, y) → parent(x,
y))
- 全ての人間において、同じ人は父と母ではありえない:
∀x: ∀y:
¬(father(x, y) ∧ mother(x,
y))
- 父の母は祖母である: ∀x:
∀y: ∀z: (father(y, z) ∧
mother(x, y) →grandmother(x,
z))
変数の使用
- 束縛変数 (bound variable):
- 量記号を伴っている変数
例: (∀x: P(x)∧Q(y)) の
x
- 自由変数 (free variable):
- 量記号を伴っていない変数
例: (∀x: P(x)∧Q(y)) の
y
- 閉論理式 (closed formula):
- 自由変数を含まない論理式
- 作用領域 (スコープ、scope)
- 束縛変数 (やその量記号) の影響範囲
束縛変数はスコープ内に書き換えてもよい
束縛変数はスコープ外に現れると間違い
述語論理式と量記号の性質
- ¬∀x: P(x) = ∃x: ¬P
(x)
- ¬∃x: P(x) = ∀x: ¬P
(x)
- (∀x: P(x)) → (∃x: P
(x))
- (∀x: P(x)) ∧ Q(y) = ∀x:
P(x)∧Q(y)
- (∃x: P(x)) ∧ Q(y) = ∃x:
P(x)∧Q(y)
- (∀x: P(x)) ∨ Q(y) = ∀x:
(P(x)∨Q(y)
- (∃x: P(x)) ∨ Q(y) = ∃x:
P(x)∨Q(y)
- (∀x: P(x)) ∧ (∀x: R(x)) =
∀x: P(x)∧R(x)
- ((∀x: P(x)) ∨ (∀x: R(x))) →
(∀x: P(x)∨R(x))
- (∃x: P(x)) ∨ (∃x: R(x)) =
∃x: P(x)∨R(x)
- ((∃x: P(x)) ∧ (∃x: R(x))) ←
(∃x: P(x)∧R(x))
- (∃y: ∀x: P(x, y)) →
(∀x: ∃y: P(x, y))
- P(x) が恒真 ↔∀x: P(x) が恒真
宿題
- 復習
- 量記号の性質の具体例を考える (特に前スライドの 8.
から 12. まで)
- 期末試験の準備