http://www.sw.it.aoyama.ac.jp/2010/Math1/lecture4.html
© 2005-10 Martin J. Dürst 青山学院大学
論理関数と論理式を操る
[都合により削除]
[都合により削除]
[都合により削除]
[都合により削除]
(Pascal's triangle)
一行目の (0 ... 0) 1 (0 ... 0)
からスタートし、左上と右上の数を足し合わせると出来る。
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1
インドで紀元前から知られ、多くの性質が知られている
ここで次の関係や性質を証明:
(factorial)
書き方: n!
定義: n! = 1 · 2 · ... (n-1) · n = ∏ni=1 i
問題:
1! = 1
0! = 1
(unit element, identity element, neutral element)
具体例 (合計):
int sum = 0; for (i=0; i<end; i++) sum += array[i];
C プログラム言語の場合:
type result = 単位元; for (i=0; i<end; i++) result = result 演算子 array[i];
Ruby の場合:
array.inject(単位元) do |memo, next| memo 演算子 next end
(proposition 又は statement)
正しいか正しくないかが客観的に決められる文
(正しいものでも正しくないものでも良い)
命題ではないのは主観的な記述、質問、一部が決定されてない、代名詞や変数を含む場合など
例:
反例 (命題ではない):
命題は正しいか正しくないかである。
「正しい」は「真」(しん、true) と言い、T、⊤ や 1 と書く
「正しくない」は「偽」(ぎ、false) と言い、F、⊥ や 0 と書く
プログラム言語によって取り扱い方は違う
0
は偽に相当0
以外の整数 (特に 1
)
は真に相当false
、真は true
int
) と真理値 (boolean
)
は完全に別の型false
、真は true
nil
(空、何も無いを表す)
は偽、それ以外の値は真二つの命題 A と B から次の命題が作成可能:
A かつ B (A and B)
「A ∧ B」、「A·B」や「A B」と書く
A ∧ B は A とも B
とも真の場合だけ真、
その他の場合は偽
関数としても考えられる: AND(A, B)
(truth table)
命題の真偽を定義、証明などには真理表をよく使用:
A | B | A ∧ B |
F | F | F |
F | T | F |
T | F | F |
T | T | T |
論理演算子は一つ以上の命題から複合命題を作る。
一番よく使われる基本的な論理演算子は次:
二つの命題 A と B から次の命題が作れる: A 又は B
「A 又は B」 (A or B) は A ∨ B (又はA+B) と書く。
A ∨ B は A とも B とも偽の場合だけ偽。
真理表で表すと次になる:
A | B | A ∨ B |
F | F | F |
F | T | T |
T | F | T |
T | T | T |
「A ではない」(not A) は ¬A と書く。A', A, ~A と書くこともある。
¬A は A が真の場合に偽、偽の場合に真。
真理表で表すと次になる:
A | ¬A |
F | T |
T | F |
論理演算子と命題 (変数) で論理式が作られる。
例: (A ∨ (¬B)) ∧ C
優先度と括弧の省略:
論理演算子の優先度は「¬」が「∧」より優先、「∧」が「∨」より優先
(well-formed formula, WFF)
目的: 論理式の構成 (文法を) を明確化
次のものは整論理式:
この定義に合わないものは整論理式でない
(注: 授業の後半に新たな論理演算子が追加)
例: (A ∨ (¬B)) ∧ B
(¬B) の括弧が必要ない: (A ∨ ¬B) ∧ B
真理表で評価
A | B | ¬B | A ∨ ¬B | (A ∨ ¬B) ∧ B |
F | F | T | T | F |
F | T | F | F | F |
T | F | T | T | F |
T | T | F | T | T |
(ブール関数、Boolean function)
0 個以上の論理引数 (ブール引数) から真偽値を返す関数
論理引数は真と偽の値しか取らないので論理関数は少ない
注意: 次回は11月5日 (10月22日は海外出張、10月29日は青山際のため休講)