情報数学 I

第十二回: 述語論理

Martin J. Dürst

duerst@it.aoyama.ac.jp

O 棟 529号室

http://www.sw.it.aoyama.ac.jp/2006/Math1/lecture12.html

AGU

© 2005-2007 Martin J. Dürst 青山学院大学

今日の予定

冗談の宿題

Q: Why do computer scientists always think Christmas and Halloween are the same ?

質問: なぜで情報テクノロジーの専門家はクリスマスとハロウィーンをいつも誤解するか。

A: Christmas is Dec 25 (十進数 25), Halloween is Oct 31 (八進数 31)

もう一つの冗談

質問: 情報テクノロジーで還暦は何歳か。

解答: 64歳 (26歳)

ミニテストについて

これからの予定

記号論理

(symbolic logic)

命題の制限と述語

各々の事実は別物として表わされてる

例: 今日は晴れ、明日は晴れ、明後日は晴れ、2 が偶数、5 が偶数

「今日は晴なら明日も晴れ」とか「2が偶数なら3が偶数ではない」は書けますが、「ある日が晴なら次の日も晴れ」とか「x が偶数なら x+2 も偶数」は書けません。

述語の例

晴 (今日)、 晴 (明日) 、偶数 (2)、偶数 (5) 等

述語によって以前書けなかったものが書けるようになる:

晴 (x) → 晴 (x の次の日)

偶数 (x) → 偶数 (x+2)

述語は性質とか関係を表す

述語は命題と同じように真か偽であることもあるが、命題と違って未定であることもありうる。

一個の述語が未定であってもそれを含む論理式は未定ではないこともある。

述語と関数・関係

関数の例: father (x) = y

述語の例: father (y, x) (yx の父)

関係と述語は非常に近い概念で、内容より分野の違いが強い

一項述語はあるが、一項関係はない

一階述語論理

first order predicate logic

全称限量子

(全称記号、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) が「xy の父である」と同じように、mother, parent, grandparent, grandfather, grandmother 等の述語を使って、次のことを記述してください:

  1. 誰にも親がいる: ∀x: ∃y: parent(y, x)
  2. 全ての人間において、誰かの父であるならその人の親である: ∀x: (father(x, y) → parent(x, y))
  3. 全ての人間において、同じ人は父と母ではありえない: ∀x: ∀y: (¬father(x, y) ∨ ¬mother(x, y))
  4. 父の母は祖母である: ∀x: ∀y: ∀z: (mother(x, y) ∧ father(y, z) →grandmother(x, z))

変数の使い方

束縛変数 (bound variable):
量記号を伴っている変数
例: ∀x: (P(x) ∧ Q(y)) の x
自由変数 (free variable):
量記号を伴っていない変数
例: ∀x: (P(x) ∧ Q(y)) の y
閉論理式 (closed formula):
自由変数を含まない論理式
作用領域 (スコープ、scope)
束縛変数 (やその量記号) の影響範囲
束縛変数はスコープ内に書き換えてもよい
束縛変数はスコープ外に現れると間違い

量記号の組み合わせ

素数の数が無限である:

x: ∃y: (y > x ∧ 素数 (y))

順番を入れ替えると意味が変わる:

y: ∀x: (y > x ∧ 素数 (y))

述語論理式と量記号の性質

  1. ¬∀x: P(x) = ∃x: ¬P (x)
  2. ¬∃x: P(x) = ∀x: ¬P (x)
  3. x: P(x) → ∃x: P (x)
  4. (∀x: P(x)) ∧ Q(y) = ∀x: (P(x) ∧ Q(y))
  5. (∃x: P(x)) ∧ Q(y) = ∃x: (P(x) ∧ Q(y))
  6. (∀x: P(x)) ∨ Q(y) = ∀x: (P(x) ∨ Q(y))
  7. (∃x: P(x)) ∨ Q(y) = ∃x: (P(x) ∨ Q(y))
  8. x: P(x) ∧ ∀x: R(x) = ∀x: (P(x) ∧ R(x))
  9. x: P(x) ∨ ∀x: R(x) → ∀x: (P(x) ∨ R(x))
  10. x: P(x) ∨ ∃x: R(x) = ∃x: (P(x) ∨ R(x))
  11. x: P(x) ∧ ∃x: R(x) ← ∃x: (P(x) ∧ R(x))
  12. P(x) が恒真 ↔∀x: P(x) が恒真

授業調査