教科書:3.1 3.5)今日の授業内容 「命題」がどのようなものかを理解する...

98
命題論理 (教科書:3.13.5) 藤田 (広島大学)

Upload: others

Post on 24-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

命題論理(教科書:3.1~3.5)

藤田 聡

(広島大学)

ガイドライン

命題論理(今週)– 「AならばBである」という形の論理式を用い

て推論を行う(例:否定、論理和、論理積)

– 事実の集まりから、求めたい結論を正しく導けるかを問う(参考:推理小説)

述語論理(次週)– 命題論理で表現されることに加えて、「すべ

ての何某について」という表現が許された論理体系

– 「すべての整数について」という表現も可

今日の授業内容

「命題」がどのようなものかを理解する

命題論理で用いられる基本演算子

含意について正しく理解する(真理値表)

– 逆、裏、対偶、必要十分条件

「命題的同値」という考え方を理解する

– 「必要十分」という考え方がわかることが重要

風が吹くと…

• 風が吹くと砂ぼこりが出る

• 砂ぼこりが出ると盲人がふえる

• 盲人は三味線をひくのでそれに張る猫の皮が必要で猫が減る

• 猫が減ると、鼠がふえて桶をかじる

• 桶がかじられると桶屋が繁盛する

風が吹くと桶屋が儲かる(⇒ 命題論理)

命題(proposition)とは?

• 真(true)か偽(false)かどちらかであるような言明のこと– 言明(ある事実を述べた文; statement)

• 例)日本の首都は名古屋である

• 例)5342×263 = 1404946

• 例)広島大学にはトイレが185箇所ある

• 例)x+y=zである

記法

• 命題を p, q, r, s などの記号であらわす

• 命題の真理値(truth value)は真(T)か偽(F)である

• 命題を取り扱う論理を命題論理(propositional logic)と呼ぶ

あるいくつかの命題から

新しい命題をつくることを考える

(論理演算子:3.2節)

否定(negation)

いまpを命題とする

¬pを“pではない”ことを主張する言明であると定義する(“not p”と読む)

¬pが命題であることに注意

pと¬pの関係は真理値表(truth table)で表現できる

否定(negation)

真理値表

p ¬p

T F

F T

pの真理値がTのとき、¬pの真理値がFになること

を示している

p 今日は水曜日である

¬p 今日は水曜日ではない

「「今日は水曜日である」のではない」でもOK

実際は「今日」がいつであるかによってこの言明の

真理値は変わるため、厳密にはこれは「命題」ではない

結合子(connective)

• 二つ以上の命題からひとつの命題を作り出すための演算子

• 論理積、論理和、排他的論理和がある

(a) 論理積(conjunction)

• いまp,qを命題とする

• p∧qを「pかつq」であることを主張する言明であると定義する

p きょうは金曜日

q きょうは13日

p∧q きょうは13日の金曜日

(b) 論理和(disjunction)

• いまp,qを命題とする

• p∨qを「pまたはq」であることを主張する言明であると定義する

p きょうは金曜日

q きょうは13日

p∨q きょうは13日または金曜日

注意:両方ともTであってもよいことに注意。つまり13日の金曜日はOK

(c) 排他的論理和(exclusive or)

• いまp,qを命題とする

• p⊕qを「pまたはqのいずれか一方のみがT」であることを主張する言明と定義

p きょうは金曜日

q きょうは13日

p⊕q ???

注意:13日の金曜日はNG

(d) 含意(implication)あるいは条件式

• いまp,qを命題とする

• p→qを「pならばq」であることを主張する言明であると定義する

• pを仮定(hypothesis)又は前提(premise)と呼び、qを結論(conclusion)または帰結(consequence)と呼ぶ

含意

• 真理値表は右の通り

• 仮定がFならば結論によらずTになる!

p q p→q

T T T

T F F

F T T

F F T

含意をあらわす英文

• 英文で以下のように記述されているのはすべてp→qの意味である:

• if p, (then) q

• p implies q

• p is sufficient for q (pはqの十分条件)

• q is necessary for p (qはpの必要条件)

p: きょうは13日の金曜日

q: きょうは金曜日

のとき

p→qは常にTである(確認せよ)

p: 2+3=6

q: この授業では皆に「優」がでる

のとき

p→qは常にTである(本当か?)

逆と対偶

p→qに対して、

• q→pを逆(converse)

• ¬p→¬qを裏(reverse)

• ¬q→¬pを対偶(contrapositive)

と言う(逆は裏の対偶:確認せよ)

逆と対偶

高いところから落ちると怪我をする

逆:怪我をしたのは、高いところから落ちたからだ

裏:高いところから落ちないと、怪我をすることはない

対偶:怪我をしていないのであれば、その人は高いところから落ちていない

けがをする原因はほかにもある

対偶の真理値表

p q pq ¬p ¬q ¬q¬p

T T T F F T

T F F F T F

F T T T F T

F F T T T T

必要十分条件

ちなみに、(p→q)∧(q→p)は、

• p if and only if q

• p is necessary and sufficient for q

(pはqの必要十分条件)

などと書かれる(p↔qとも書く)

p↔q の真理値表

p q pq qp (pq) ∧(qp)

T T T T T

T F F T F

F T T F F

F F T T T

• p↔qは、pとqの真理値が等しいときにT

• したがって(pq)↔(¬q¬p) は、p, qの真理値によらずつねにT

• このことから、 ↔ のことを、同等、あるいは同値(equivalent)と呼ぶ

同値

p q p∨q p∧q (p∨q)↔(p∧q)

T T T T T

T F T F F

F T T F F

F F F F T

命題的同値とは?(propositional Equivalence)

複合命題(compound proposition)がそれを構成する命題の真理値にかかわらず常に真となるとき、これを恒真(命題)(tautology)であるという

逆に常に偽であるとき矛盾(contradiction)であるという

複合命題p↔qが恒真であるとき、pはqに論理的に同値(logically equivalent)と呼び,このときp⇔qと表記する

)()( pqqp

pp

pp

恒真命題

矛盾

恒真命題

p q ¬ (p∨q) ¬ p∧¬ q

T T F F

T F F F

F T F F

F F T T

• したがって ¬(p∨q)↔ ¬p∧¬q は恒真であるから、これら2つの命題は論理的に同値であり、 ¬ (p∨q) ⇔¬p∧¬q

• ドモルガンの法則(de Morgan’s law)

• ¬ (p∧q) ⇔¬p∨¬q

恒真であることの意味

① p⇔q1⇔…⇔qn⇔r ならばp⇔r

したがってpの真理値をr に単純化して得ることができる

② rが恒真ならばrは正しい推論を示している。たとえば(p→q)↔(¬q→¬p)は恒真であるが、 p→qから¬q→¬pを推論することができる

例 分配則

p∨(q∧r)⇔ (p∨q)∧(p∨r)

p∧(q∨r) ⇔ (p∧q)∨(p∧r)

• p,q,rのすべての組み合わせに対して、真理値表をチェックすること!!

恒真かどうかの判定方法

• 任意に与えられた命題の真理値表は計算できる

• したがって与えられた命題が恒真かどうかは真理値表をつかっても判定できる

• 具体的には,p⇔Tが示せれば恒真、p⇔Fが示せれば矛盾

背理法による証明

• p→q⇔Tを証明するために,

• p∧¬q⇔Fを証明している

• p→q⇔¬p∨q⇔¬(p∧¬q)に注意すると,(p→q)↔ T ⇔ (p∧¬q)↔ F

述語論理~述語と限定作用素~

(教科書:3.9~3.11)

藤田 聡

(広島大学)

これまでのまとめ(1)

命題論理(propositional logic)について述べた

命題変数(propositional variable)と呼ばれる任意の命題をあらわす変数だけを素論理式とし、結合子だけによってつくられる論理式だけが考察の対象であった

特に、どのような論理式が恒真であるかに興味があった

これまでのまとめ(2)

論理式の真理値表は容易に計算できるため、論理式F の恒真性は容易にチェックできる

もうひとつの方法として、⇔で結ばれた関係をたどり、F ⇔Tを導くことによっても式F の恒真性がチェックできる

「変数」という概念を新たに導入⇒述語論理

述語(predicate)とは?

命題関数(propositional Function)

あるいは

値域 { T, F }をもつ関数

…のこと

命題論理で使っていたpとかqなどの記号は、ある命題を表す変数(命題変数)であった

例1 以下のものは述語である

1) p(x): x > 3

2) q(x,y): x = y + 4

3) R(x,y): 2 = 1 + 3

例1

1) p(x): x > 3

• p(2): 2>3は値Fをとる命題

• p(4): 4>3は値Tをとる別の命題

例1

2) q(x,y): x = y + 4

• q(1,2): 1 = 2+4は値Fをとる命題

• q(5,1): 5 = 1+4は値Tをとる命題

例1

3) R(x,y): 2 = 1 + 3

• R(x,y) はx,yに関わらず値Fをとる定数命題関数

限定作用素(quantifier)とは?

(a)全称限定作用素(Universal quantifier)

(b)存在限定作用素(Existential quantifier)

二種類の限定作用素があるが、これらは否定演算を介することで本質的に同じものであることが理解できる

(a)全称限定作用素(Universal quantifier)

• ∀x p(x): xがとりうるすべての値についてp(x)は値Tをとる、という命題

xを束縛変数(binding variable)と呼ぶ

p(x)の領域(domain)あるいはxの世界(universe)などと呼ぶ

例2

• 「この教室の学生はすべて18歳以上である」という文を記述しよう

p(x): 学生xは18歳以上である

q(x): 学生xはこの教室に居る

∀x(q(x) →p(x))

ただしxの世界はすべての学生の全体

例2 18歳以上の学生

例3 xを実数とする

p(x): x+1>xとすると、∀xp(x) はT

q(x): x>2とすると、∀xq(x)はF

(b)存在限定作用素(Existential quantifier)

• ∃x p(x): あるxに対してp(x)がTを返す、という命題

例4

• 「この教室の学生の中に女性がいる」という文を記述する

p(x): 学生xは女性である

q(x): 学生xはこの教室に居る

∃x(p(x) ∧q(x))

• なぜ∃x(p(x) →q(x))とかけないか?

例5 xを実数とする

p(x): x>x+1とすると、∃xp(x)はF

q(x): x>2とすると、∃xq(x)はT

世界が有限の場合

xの世界が有限集合{x1,x2, …, xn}ならば

∀xp(x)=p(x1)∧p(x2)∧…∧p(xn)

∃xp(x)= p(x1)∨p(x2)∨…∨p(xn)

例6 論理推論の表現

1)すべてのライオンは獰猛である

2)あるライオンはコーヒーを飲まない

3)ある獰猛な動物はコーヒーを飲まない

例6

p(x): xはライオンである

q(x): xは獰猛である

R(x): xはコーヒーを飲む

1) ∀x(p(x) →q(x))

2) ∃x(p(x)∧¬R(x))

3) ∃x(q(x)∧¬R(x))

例6

1) ∀x(p(x)→q(x))

2) ∃x(p(x)∧¬R(x))

3) ∃x(q(x)∧¬R(x))

• 1)と2)がともにTならば3)もT

• 我々の目標はこのような推論を行うための体系を求めること(xの世界が有限ならすべてのxについてチェックすればOK)

束縛変数の拡張について

• n変数述語p(x1, …, xn)も自然に考えられる

• 束縛変数を複数にすることもできる

例7 x,yを実数とする

• p(x,y): x2=y

• ∃x p(x,y) はyの関数である

• y<0ならば∃x p(x,y)=F

• y≧0ならば∃ x p(x,y)=T

• xが束縛変数なのに対し、yは自由変数(free variable)と呼ばれる

例7

• p(x,y): x2=y のとき

• ∀x p(x,y)はyの値によらずFをとることに注意せよ(これもyの関数ではある)

例8 x,yを整数とする

p(x,y): x+y=0

• ∃y∀x p(x,y) は ∃y(∀x p(x,y))のことである

• ∀x p(x,y)をyの関数q(y)とみなし、

∃y q(y)を考えればOK

例8

p(x,y): x+y=0

• y=0のとき ∀x(x+0=0)⇔F

• y=-1のとき ∀x(x-1=0)⇔F

• y=1のとき ∀x(x+1=0)⇔F

• y=-2のとき ∀x(x-2=0)⇔F

例8

したがって

∃y∀x p(x,y)⇔F

…、一方…

例8

• ∀x∃y p(x,y)は、∀x(∃y p(x,y))のことである

• R(x)= ∃y p(x,y)とみなして∀x R(x)について調べればOK

例8

p(x,y): x+y=0

• x=0のとき ∃y(0+y=0)⇔T

• x=-1のとき ∃y(-1+y=0)⇔T

• x=1のとき ∃y(1+y=0)⇔T

• x=-2のとき ∃y(-2+y=0)⇔T

例8

したがって

∀x∃y p(x,y)⇔T

つまり一般には、∀x∃y p(x,y) と

∃y∀x p(x,y)は、論理的に等価ではない

例9

以下のことを証明しよう

∃y∀x p(x,y)→∀x∃y p(x,y) ⇔ T

∃y∀x p(x,y)がTならば∀x∃y p(x,y)もTであることを示せばOK

例9

∃y∀x p(x,y)がTだから、

あるy1に対して∀x p(x,y1)がT

そこで、任意にx1を固定したときに

∃y p(x1,y)はT

すなわち∀x∃y p(x,y)はT

例10

q(x,y,z): x+y=zとする

• ∀x∀y∃z q(x,y,z)を調べる

• どのようなx、どのようなyに対しても x+y=z を満たすzは存在する

• したがってこの命題は真

例10

q(x,y,z): x+y=z とする

• ∃z∀x∀y q(x,y,z)を調べる

• この命題は、“あるzが存在し、どのようなx、どのようなyに対してもx+y=zを満たす”ことを主張している

• この命題は偽

∀xp(x)とその否定

• ∀x p(x)は「任意のxについてp(x)が成立する」ことを主張している

• ¬∀x p(x)は「任意のxについてp(x)が成立することはない」、つまりあるxが存在してp(x)が成立しないことがあることを主張している

• この主張は∃x¬p(x)で表現される

したがって…

¬∀x p(x) ⇔ ∃x ¬p(x)

同様に

¬∃x p(x) ⇔ ∀x ¬p(x)

例11 以下はすべて等価である

¬∀x∀y∃z q(x,y,z)

∃x¬∀y∃z q(x,y,z)

∃x∃y¬∃z q(x,y,z)

∃x∃y∀z ¬q(x,y,z)

例12 以下はすべて等価である

¬(∀x∀y p(x,y)∨∃x∀y p(x,y))

¬∀x∀y p(x,y)∧¬∃x∀y p(x,y)

∃x∃y ¬p(x,y)∧∀x∃y ¬p(x,y)

証明手法(教科書:3.7)

藤田 聡

(広島大学)

数学的推論(Mathematical Reasoning)

ここでの目的は、以下の2点に答えることである

1. 数学的議論が正しいのはどの場合か

2. 数学的議論を構成するための手法は何か

特に、定理と呼ばれる言明に興味がある

– 定理(theorem)とは、正しいことが証明(proof)できる言明(statement)のこと

– では証明とは何か?

証明(proof)とは?

• 言明の列 S0,S1,S2,…

Si:① 公理(axiom)、あるいは、仮定や既に得られている定理等(postlude)

②S0,S1,S2,…,Si-1:から新たに導かれる言明

どういう風に? (→推論規則)

用語の使い分け

• 補題(lemma)

ほかの定理を導くための定理

• 系(corollary)

定理から簡単に導かれる別の定理

推論規則(rule of inference)

(p∧(p→q))→q

(modus ponensと呼ばれる)

または図式的に

p

p→q

q

• きょう雪が降ればスキーにいく

• きょうは雪である

• きょうスキーにいく

• p: きょう雪である

• q: きょうスキーにいく

((p→q)∧p)→q

S0: p→q

S1: p

S2: q

新しい言明を作り出している!

正当(valid)な議論

• これらの推論規則を用いて構成された議論は正当(valid)であるという

• では、誤った推論にはどのようなものがあるか?

例 誤った推論の例(1)

• “この本のすべての問題を解いたならば,離散数学をマスターできる”

• “あなたは離散数学をマスターした”

• したがって“あなたはこの本のすべての問題を解いた”

どこがどうおかしいでしょうか?

例(つづき)

• p: この本のすべての問題を解いた

• q: 離散数学をマスターした

((p→q)∧q)→p

誤り!

• 正しくは,

((p→q)∧p)→q

例 誤った推論の例(2)2 = 1

• aとbを等しい正整数とする

1. a=b : 仮定より

2. a2 = ab : 両辺をa倍

3. a2 –b2 = ab –b2 : 両辺からb2を引く

4. (a-b)(a+b) = b(a-b) : 因数分解

5. a+b = b : 両辺をa-bで割る

6. 2b = b : a=bより

7. 2 = 1 : 両辺をbで割る

例 Indirect proofの例

3n+2が奇数ならばnも奇数である

• 対偶を考える。すなわち、nが偶数ならば3n+2も偶数であることを示す。

• nは偶数だから,n=2kとかける。よって3n+2=3×2k+2=2(3k+1)

証明終了

proof by contradiction (背理法)

¬pを仮定して矛盾を導く。あるいは

¬(p→q)=p∧¬qをTと仮定して矛盾を導く

例 proof by contradictionの例

sqrt(2)が無理数(irrational)であることを示そう

• sqrt(2)が有理数a/bであると仮定して矛盾を導く(aとbは互いに素とする)

• sqrt(2)=a/bより、2=a2/b2

• a2=2b2より、aは偶数2cである

• したがって4c2=2b2より2c2=b2、

• すなわちbも偶数。これは矛盾

proof by cases

(p1∨p2∨…∨pn)→q

を示すのに

(p1→q)∧(p2→q)∧…∧(pn→q)

を示す

proof by casesの例

もし整数nが2でも3でも割り切れないとき、n2-1が24で割り切れることを示せ

• 整数nを6で割ったときの余りによって場合わけする:6m+j, j=0,1,2,3,4,5

• j=0,2,3,4のときはnは2で割り切れるか3で割り切れるので、考えるべき場合は、6m+1と6m+5の2通りだけであることがわかる

proof by casesの例

• n=6m+1のとき、

n2ー1=(6m+1)2 – 1 = 36m2+12m=12m(3m+1)

mが偶数の場合も奇数の場合もm(3m+1)は偶数

• n=6m+5のとき、

n2ー1=(6m+5)2 – 1 = 36m2+60m+24 =12m(3m+5)+24

mが偶数の場合も奇数の場合もm(3m+5)は偶数

定理と限定作用素

• ∃xp(x)の証明

…存在性の証明(existential proof)

1) constructive(構成的)

p(a)がTとなるaを構成する

2) nonconstructive(非構成的)

例 Constructive proof の例

任意のnに対して、あるxが存在して,すべてのi(1≦i≦n)に対してx+iは合成数である

x=(n+1)!+1とする

任意のiについて

x+i≡(n+1)!+(i+1)≡0(mod i+1)

例15 Nonconstructive proof の例

どのような整数nに対しても、nよりも大きな素数が存在する(⇒素数は無限に存在する)

• 整数x=n!+1を考える

• xは2からnまでのどの整数でも割り切れない

• したがって、xが素数であるか,あるいはn以上の素数が存在してxはその素数で割り切れる

例 前向き推論と後ろ向き推論

互いに異なる実数a, bに対して、(a+b)/2>sqrt(ab)であることを示せ

• 結論からはじめて、その結論が常に成立することを示す(推論の向きが後ろ向きなだけで、p→qを示すのにq→pを言おうとしているのではないことに注意

• (a+b)/2>sqrt(ab)

• (a+b)2/4 > ab

• (a+b)2 > 4ab

• a2+2ab+b2 > 4ab

• a2-2ab+b2 > 0

• (a-b)2 > 0, これはa≠bのときつねに成立

例 前向き推論と後ろ向き推論

予想(conjecture)の重要性

• いくつかの観測された事実から予想をたてる

• 予想が正しいかどうかを証明する

• 予想が正しいことが証明できれば「定理」となる。予想が正しくないことを証明するためには、反例(counterexample)を示せばよい

「予想⇒定理」の例

• いくつかの連続した合成数の列が存在する

24,25,26,27,2890,91,92,93,94,95,96

そのような列の長さはいくらでも長くできるか?

• つまり、任意に自然数nを与えたとき、x+1,x+2,…,x+nがすべて合成数であるような自然数xが存在するか(証明済み)

「予想⇒反例」の例

• ピタゴラスの定理: 32+42=52

• フェルマーの最終定理: n>2かつxyz≠0のとき、 xn+yn=znを満たすような整数x,y,zは存在しない

• オイラーの予想: 3以上の任意の整数nに対して、n-1個の自然数のn乗の和が別の自然数のn乗になるようなものは存在しない

(x1)n+(x2)

n+…+(xn-1)n = yn

「予想⇒反例」の例

• オイラーの予想に対する反例:

275 + 845 + 1105 + 1335 = 1445

Landerとpartkinによって1966年に発見された

未解決の予想の例

• 3x+1予想

• 次のような関数f(x)を考える:xが偶数のときf(x)=x/2, xが奇数のとき、f(x)=3x+1

• このとき、どのようなxを与えても、関数f(x)を繰り返し適用することにより、いずれは必ず1に収束する(予想)

未解決の予想の例

• x=13のとき、次のように推移する:13 → 40 (=3×13+1) → 20 (=40/2)

→ 10 (=20/2) → 5 (=10/2)→ 16 (=3×5+1) → 8 → 4 → 2 → 1

• この予想の通りに推移することは、x=5.6×1013の範囲までは確認されているが、どのような自然数xについても成立するかどうかはわかっていない(証明もされていないし反例もみつかっていない)