• 検索結果がありません。

計算機基礎論

N/A
N/A
Protected

Academic year: 2021

シェア "計算機基礎論"

Copied!
98
0
0

読み込み中.... (全文を見る)

全文

(1)

命題論理

(教科書:3.1~3.5)

藤田 聡 (広島大学)

(2)

ガイドライン

命題論理(今週) – 「AならばBである」という形の論理式を用い て推論を行う(例:否定、論理和、論理積) – 事実の集まりから、求めたい結論を正しく導 けるかを問う(参考:推理小説) 述語論理(次週) – 命題論理で表現されることに加えて、「すべ ての何某について」という表現が許された論 理体系 – 「すべての整数について」という表現も可

(3)

今日の授業内容

「命題」がどのようなものかを理解する 命題論理で用いられる基本演算子 含意について正しく理解する(真理値表) – 逆、裏、対偶、必要十分条件 「命題的同値」という考え方を理解する – 「必要十分」という考え方がわかることが重要

(4)

風が吹くと

• 風が吹くと砂ぼこりが出る • 砂ぼこりが出ると盲人がふえる • 盲人は三味線をひくのでそれに張る猫の 皮が必要で猫が減る • 猫が減ると、鼠がふえて桶をかじる • 桶がかじられると桶屋が繁盛する 風が吹くと桶屋が儲かる(⇒ 命題論理)

(5)

命題

(proposition)

とは?

• 真(true)か偽(false)かどちらかであるよ うな言明のこと – 言明(ある事実を述べた文; statement) • 例)日本の首都は名古屋である • 例)5342×263 = 1404946 • 例)広島大学にはトイレが185箇所ある • 例)x+y=zである

(6)

記法

• 命題を p, q, r, s などの記号であらわす • 命題の真理値(truth value)は真(T)か偽(F)であ る • 命題を取り扱う論理を命題論理(propositional logic)と呼ぶ あるいくつかの命題から 新しい命題をつくることを考える (論理演算子:3.2節)

(7)

否定

(negation)

いまpを命題とする ¬pを“pではない”ことを主張する言明 であると定義する(“not p”と読む) ¬pが命題であることに注意 pと¬pの関係は真理値表(truth table)で表 現できる

(8)

否定

(negation)

真理値表 p ¬p T F F T pの真理値がTの とき、¬pの真理 値がFになること を示している

(9)

p 今日は水曜日である ¬p 今日は水曜日ではない 「「今日は水曜日である」のではない」でもOK 実際は「今日」がいつであるかによってこの言明の 真理値は変わるため、厳密にはこれは「命題」ではない

(10)

結合子

(connective)

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

(11)

(a) 論理積(conjunction)

• いまp,qを命題とする • p∧qを「pかつq」であることを主張す る言明であると定義する p きょうは金曜日 q きょうは13日 p∧q きょうは13日の金曜日

(12)

(b) 論理和(disjunction)

• いまp,qを命題とする • p∨qを「pまたはq」であることを主張 する言明であると定義する p きょうは金曜日 q きょうは13日 p∨q きょうは13日または金曜日 注意:両方ともTであってもよいことに注意。つまり13日の金曜日はOK

(13)

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

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

qを「pまたはqのいずれか一方のみ がT」であることを主張する言明と定義 p きょうは金曜日 q きょうは13日 p

q ??? 注意:13日の金曜日はNG

(14)

(d) 含意(implication)

あるいは条件式 • いまp,qを命題とする • p→qを「pならばq」であることを主張 する言明であると定義する • pを仮定(hypothesis)又は前提(premise) と呼び、qを結論(conclusion)または帰 結(consequence)と呼ぶ

(15)

含意

• 真理値表は右の通り • 仮定がFならば結論 によらずTになる! p q p→q T T T T F F F T T F F T

(16)

含意をあらわす英文

• 英文で以下のように記述されているのは すべてp→qの意味である: • if p, (then) q • p implies q • p is sufficient for q (pはqの十分条件) • q is necessary for p (qはpの必要条件)

(17)

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

のとき

(18)

p: 2+3=6

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

(19)

逆と対偶

p→qに対して、 • q→pを逆(converse) • ¬p→¬qを裏(reverse) • ¬q→¬pを対偶(contrapositive) と言う(逆は裏の対偶:確認せよ)

(20)

逆と対偶

高いところから落ちると怪我をする 逆:怪我をしたのは、高いところから 落ちたからだ 裏:高いところから落ちないと、怪我 をすることはない 対偶:怪我をしていないのであれば、 その人は高いところから落ちていない けがをする 原因はほか にもある

(21)

対偶の真理値表

p q pq ¬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

(22)

必要十分条件

ちなみに、(p→q)∧(q→p)は、 • p if and only if q

• p is necessary and sufficient for q (pはqの必要十分条件)

(23)

p↔q の真理値表

p q pq qp (pq) ∧(qp) T T T T T T F F T F F T T F F F F T T T

(24)

• p↔qは、pとqの真理値が等しいときにT • したがって(pq)↔(¬q¬p) は、p, qの 真理値によらずつねにT • このことから、 ↔ のことを、同等、あるい は同値(equivalent)と呼ぶ

同値

(25)

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

(26)

命題的同値とは?

(propositional Equivalence)  複合命題(compound proposition)がそれを構成す る命題の真理値にかかわらず常に真となるとき、 これを恒真(命題)(tautology)であるという  逆に常に偽であるとき矛盾(contradiction)である という  複合命題p↔qが恒真であるとき、pはqに論理的 に同値(logically equivalent)と呼び,このとき p⇔qと表記する

(27)

)

(

)

(

p

q

q

p

p

p

p

p

恒真命題 矛盾 恒真命題

(28)

p q ¬ (p∨q) ¬ p∧¬ q T T F F T F F F F T F F F F T T

(29)

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

• ドモルガンの法則(de Morgan’s law) • ¬ (p∧q) ⇔¬p∨¬q

(30)

恒真であることの意味

① p⇔q⇔…⇔q⇔r ならばp⇔r したがってpの真理値をr に単純化して得 ることができる ② rが恒真ならばrは正しい推論を示してい る。たとえば(p→q)↔(¬q→¬p)は恒真で あるが、 p→qから¬q→¬pを推論するこ とができる

(31)

例 分配則

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

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

(32)

恒真かどうかの判定方法

• 任意に与えられた命題の真理値表は計算 できる • したがって与えられた命題が恒真かどう かは真理値表をつかっても判定できる • 具体的には,p⇔Tが示せれば恒真、p⇔F が示せれば矛盾

(33)

背理法による証明

• p→q⇔Tを証明するために, • p∧¬q⇔Fを証明している

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

(34)

述語論理

~述語と限定作用素~

(

教科書:3.9~3.11)

藤田 聡 (広島大学)

(35)

これまでのまとめ

(1)

命題論理(propositional logic)について述べた 命題変数(propositional variable)と呼ばれる任 意の命題をあらわす変数だけを素論理式とし、 結合子だけによってつくられる論理式だけが 考察の対象であった 特に、どのような論理式が恒真であるかに興 味があった

(36)

これまでのまとめ

(2)

論理式の真理値表は容易に計算できるため、 論理式F の恒真性は容易にチェックできる もうひとつの方法として、⇔で結ばれた関係 をたどり、F ⇔Tを導くことによっても式F の恒真性がチェックできる 「変数」という概念を新たに導入 ⇒述語論理

(37)

述語

(predicate)とは?

命題関数

(propositional Function)

あるいは 値域 { T, F }をもつ関数 …のこと 命題論理で使っていたpとかqなどの記号は、 ある命題を表す変数(命題変数)であった

(38)

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

1) p(x): x > 3

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

(39)

1

1) p(x): x > 3

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

(40)

1

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

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

(41)

1

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

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

(42)

限定作用素

(quantifier)とは?

(a)全称限定作用素(Universal quantifier) (b)存在限定作用素(Existential quantifier)

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

(43)

(a)全称限定作用素

(Universal quantifier)

• ∀x p(x): xがとりうるすべての値につい てp(x)は値Tをとる、という命題 xを束縛変数(binding variable)と呼ぶ p(x)の領域(domain)あるいはxの世界 (universe)などと呼ぶ

(44)

2

• 「この教室の学生はすべて18歳以上で ある」という文を記述しよう p(x): 学生xは18歳以上である q(x): 学生xはこの教室に居る ∀x(q(x) →p(x)) ただしxの世界はすべての学生の全体

(45)
(46)

3 xを実数とする

p(x): x+1>xとすると、∀xp(x) はT q(x): x>2とすると、∀xq(x)はF

(47)

(b)存在限定作用素

(Existential quantifier)

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

(48)

4

• 「この教室の学生の中に女性がいる」 という文を記述する p(x): 学生xは女性である q(x): 学生xはこの教室に居る ∃x(p(x) ∧q(x)) • なぜ∃x(p(x) →q(x))とかけないか?

(49)

5 xを実数とする

p(x): x>x+1とすると、∃xp(x)はF q(x): x>2とすると、∃xq(x)はT

(50)

世界が有限の場合

xの世界が有限集合{x1,x2, …, xn}ならば ∀xp(x)=p(x1)∧p(x2)∧…∧p(xn)

(51)

6 論理推論の表現

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

2)あるライオンはコーヒーを飲まない 3)ある獰猛な動物はコーヒーを飲まない

(52)

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))

(53)

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)

(54)

束縛変数の拡張について

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

(55)

7 x,yを実数とする

• p(x,y): x2y • ∃x p(x,y) はyの関数である • y<0ならば∃x p(x,y)=F • y≧0ならば∃ x p(x,y)=T • xが束縛変数なのに対し、yは自由変数 (free variable)と呼ばれる

(56)

7

• p(x,y): x2y のとき

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

(57)

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

(58)

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 …

(59)

8

したがって

∃y∀x p(x,y)⇔F …、一方…

(60)

8

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

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

(61)

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 …

(62)

8

したがって

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

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

(63)

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

(64)

9

∃y∀x p(x,y)がTだから、 あるyに対して∀x p(x,y)がT そこで、任意にxを固定したときに ∃y p(x,y)はT すなわち∀x∃y p(x,y)はT

(65)

10

q(x,y,z): x+y=zとする • ∀x∀y∃z q(x,y,z)を調べる • どのようなx、どのようなyに対して も x+y=z を満たすzは存在する • したがってこの命題は真

(66)

10

q(x,y,z): x+y=z とする • ∃z∀x∀y q(x,y,z)を調べる • この命題は、“あるzが存在し、どの ようなx、どのようなyに対してもx+ y=zを満たす”ことを主張している • この命題は偽

(67)

xp(x)とその否定

• ∀x p(x)は「任意のxについてp(x)が成 立する」ことを主張している • ¬∀x p(x)は「任意のxについてp(x)が 成立することはない」、つまりあるxが 存在してp(x)が成立しないことがあるこ とを主張している • この主張は∃x¬p(x)で表現される したがって…

(68)

¬∀x p(x) ⇔ ∃x ¬p(x) 同様に

(69)

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)

(70)

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)

(71)

証明手法

(教科書:3.7)

藤田 聡 (広島大学)

(72)

数学的推論

(Mathematical Reasoning)

ここでの目的は、以下の2点に答えることである 1. 数学的議論が正しいのはどの場合か 2. 数学的議論を構成するための手法は何か 特に、定理と呼ばれる言明に興味がある – 定理(theorem)とは、正しいことが証明(proof)できる 言明(statement)のこと – では証明とは何か?

(73)

証明

(proof)とは?

• 言明の列 S

S

S

Si:① 公理(axiom)、あるいは、仮定や既 に得られている定理等(postlude) ②S,S,S,…,Si-1:から新たに 導かれる言明 どういう風に? (→推論規則)

(74)

用語の使い分け

• 補題(lemma)

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

• 系(corollary)

(75)

推論規則

(rule of inference)

(p∧(p→q))→q (modus ponensと呼ばれる) または図式的に p p→q q

(76)

• きょう雪が降ればスキーにいく • きょうは雪である

(77)

• p: きょう雪である • q: きょうスキーにいく ((p→q)∧p)→q S0: p→q S1: p S2: q 新しい言明を作り出している!

(78)

正当

(valid)な議論

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

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

(79)

例 誤った推論の例

(1)

• “この本のすべての問題を解いたなら ば,離散数学をマスターできる” • “あなたは離散数学をマスターした” • したがって“あなたはこの本のすべて の問題を解いた” どこがどうおかしいでしょうか?

(80)

(つづき)

• p: この本のすべての問題を解いた • q: 離散数学をマスターした ((p→q)∧q)→p 誤り! • 正しくは, ((p→q)∧p)→q

(81)

誤った推論の例

(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で割る

(82)

Indirect proofの例

3n+2が奇数ならばnも奇数である • 対偶を考える。すなわち、nが偶数ならば 3n+2も偶数であることを示す。 • nは偶数だから,n=2kとかける。よっ て3n+2=3×2k+2=2(3k+1) 証明終了

(83)

proof by contradiction (背理法)

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

(84)

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より2c2b2 • すなわちbも偶数。これは矛盾

(85)

proof by cases

(p∨p∨…∨p)→q を示すのに

(p→q)∧(p→q)∧…∧(p→q) を示す

(86)

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通りだけであることが わかる

(87)

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)は偶数

(88)

定理と限定作用素

• ∃xp(x)の証明 …存在性の証明(existential proof) 1) constructive(構成的) p(a)がTとなるaを構成する 2) nonconstructive(非構成的)

(89)

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)

(90)

例15

Nonconstructive proof の例

どのような整数nに対しても、nよりも大きな 素数が存在する(⇒素数は無限に存在する) • 整数x=n!+1を考える • xは2からnまでのどの整数でも割り切れない • したがって、xが素数であるか,あるいはn以 上の素数が存在してxはその素数で割り切れる

(91)

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

互いに異なる実数a, bに対して、 (a+b)/2>sqrt(ab)であることを示せ • 結論からはじめて、その結論が常に成立 することを示す(推論の向きが後ろ向きな だけで、p→qを示すのにq→pを言おうと しているのではないことに注意

(92)

• (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のときつねに成立

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

(93)

予想

(conjecture)の重要性

• いくつかの観測された事実から予想をたてる • 予想が正しいかどうかを証明する • 予想が正しいことが証明できれば「定理」と なる。予想が正しくないことを証明するため には、反例(counterexample)を示せばよい

(94)

「予想⇒定理」の例

• いくつかの連続した合成数の列が存在す る 24,25,26,27,28 90,91,92,93,94,95,96 そのような列の長さはいくらでも長くで きるか? • つまり、任意に自然数nを与えたとき、 x+1,x+2,…,x+nがすべて合成数であるよ うな自然数xが存在するか(証明済み)

(95)

「予想⇒反例」の例

• ピタゴラスの定理: 32+42=52 • フェルマーの最終定理: n>2かつxyz≠0 のとき、 xn+yn=znを満たすような整数x,y,z は存在しない • オイラーの予想: 3以上の任意の整数nに対 して、n-1個の自然数のn乗の和が別の自然 数のn乗になるようなものは存在しない (x1)n+(x 2)n+…+(xn-1)n = yn

(96)

「予想⇒反例」の例

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

275 + 845 + 1105 + 1335 = 1445

(97)

未解決の予想の例

• 3x+1予想 • 次のような関数f(x)を考える:xが偶数の ときf(x)=x/2, xが奇数のとき、 f(x)=3x+1 • このとき、どのようなxを与えても、関 数f(x)を繰り返し適用することにより、い ずれは必ず1に収束する(予想)

(98)

未解決の予想の例

• 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についても成立する かどうかはわかっていない(証明もされてい ないし反例もみつかっていない)

参照

Outline

関連したドキュメント

が有意味どころか真ですらあるとすれば,この命題が言及している当の事物も

題護の象徴でありながら︑その人物に関する詳細はことごとく省か

これは基礎論的研究に端を発しつつ、計算機科学寄りの論理学の中で発展してきたもので ある。広義の構成主義者は、哲学思想や基礎論的な立場に縛られず、それどころかいわゆ

チューリング機械の原論文 [14]

LLVM から Haskell への変換は、各 LLVM 命令をそれと 同等な処理を行う Haskell のプログラムに変換することに より、実現される。

( 同様に、行為者には、一つの生命侵害の認識しか認められないため、一つの故意犯しか認められないことになると思われる。

基準の電力は,原則として次のいずれかを基準として決定するも

は,医師による生命に対する犯罪が問題である。医師の職責から派生する このような関係は,それ自体としては