情報数学 I

第十二回: 述語論理

Martin J. Dürst

duerst@it.aoyama.ac.jp

O 棟 529号室

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

AGU

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

今日の予定

これからの予定

先回の復習

述語の例

晴 (今日)、 晴 (明日) 、偶数 (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)

読み方:

存在限量子

(存在記号、existential quantifier)

ある論理式がある変数の少なくとも一つの値 (個体) について記述したいときに使う。

記号の由来: "there Exists" の E を逆さまにした

例: ∃y: P (y); ∃y∈ℕ: odd (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) が恒真

証明の大切さ

どこまで証明すればよいか

証明の方法