論理記号について

2011 年度数学 I 演習補足
論理記号について
理 II・III 17, 18, 19 組
4 月 21 日 清野和彦
§ 論理とは
数学を学ぶ上で必要な「論理」とは、「論理学」のことではなく、いくつかの命題から別のいく
つかの命題を導き出す手続きのことで、皆さんが日常的に使っているものをちょっと抽象的にした
という程度のものです。
そうはいっても、「命題」や「逆」などの普段あまり使わない言葉や「∀」や「∃」などの見たこ
ともない記号を使うので、なんだか難しいことのように感じる人もいるかも知れません。しかし、
それは、なじみのない抽象的な表現にとまどわされているだけのことで、慣れれば何ということも
ありません。試みに、数学とは無縁の生活をしている妻に「『A(x) ならば B(x) が任意の x につ
いて成り立つ』の否定を言ってみて」と要求したら、
「何それ? 全然わかんないわよ。」という答で
したが、
「それじゃ、
『全出席した人には単位をあげる』と言っていた教員はどういう場合にウソを
ついたことになる?」と訊いたら、「そりゃ、全出席したのに不可の学生がいた場合でしょ。」と即
座に返ってきました。つまり、そういう学生が一人でもいればウソをついたことになるし、また、
欠席したのに単位を取れた学生がいてもウソをついたかどうかには関係ないと自然に思っているわ
けです。このように、
「A(x) ならば B(x) が任意の x について成り立つ」の否定が「A(x) なのに
B(x) でない x が一つでも存在する」だということは常識的に理解されているということで、単に
抽象的な表現方法に慣れていないだけのことなのです。
このプリントでは、論理 (三段論法とか背理法とか) に付いて説明するのでなく (それこそ論理学
です)、日常の言葉では曖昧になりやすい論理を、誤解のないように明確にとらえるための記号に
ついて説明します。
§ 命題とは
「いくつかの命題から別のいくつかの命題を導き出す」というからには「命題とは何か」をハッ
キリさせなければなりませんが、我々は論理学をやろうというのではないのですから、
命題とは、主観的な判断の入らない、意味のハッキリした文のことである。
という程度で十分です。
「主観的な判断の入った文」とは、
「とんぱた亭のラーメンは日本で一番お
いしい」のような文のことで、数学をやる上では出てこないので、結局、数学として意味のある
文、つまり
正しいとか間違っているとかを議論できる文
が命題だと言えます。例えば、
「3 は 2 より大きい」とか「2 は 3 より大きい」とかが命題です。こ
の場合、前者は正しい命題、後者は間違った命題とすぐに分かりますが、フェルマ予想のように正
2
論理記号
しいことが分かるまでに 350 年かかった命題や、リーマン予想のように未だに正しいか間違いか分
からない命題も当然あります1 。
§ 数学の命題の実際
ゴチャゴチャ言いましたが、実際の命題は、数学の対象として定義されたもの(数とか式とか集
合とか)と、記号
∀ ∃
∧
∨ ¬
=⇒
と、係り受けをはっきりさせる括弧(このプリントでは [ ] を使うことにします)で作ります。誤
解して欲しくないのですが、これらの記号で作らなければならないということではなく、日本語の
文のままでは意味を取りづらいようなときにこれらの記号で書き換えてみるとわかりやすくなるか
も知れない、という程度のものです。何度も言いますが、論理学ではないのですから、論理そのも
のに余り細かくこだわっても詰まらなくなってしまうだけです。論理に振り回されないための手だ
てだと思っておいて下さい。
それでは、それぞれの記号の意味を説明しましょう。
§ ∧と∨
どちらも二つの命題から一つの命題を作る操作を表す記号です。
∧ の意味は and です。記号を使わず「and」や「かつ」と言葉で書いたり、省略して「,」で済すまし
たりすることもよくあります。例えば、命題「3 > 2」と「4 > 5」から一つの命題「[3 > 2]∧[4 > 5]」
という命題を作ります。意味は、「3 は 2 より大きく、しかも 4 は 5 より大きい」です。もちろん
この命題は間違っています。(ばからしい例ですみません。)
∨ の意味は or です。実際に「or」と書いたり「または」と書いたりもします。「or」であって
「either. . . or. . . 」ではありません。例えば、上の二つの命題から一つの命題 「[3 > 2] ∨ [4 > 5]」
を作ります。意味は、
「3 は 2 より大きいか、または、4 は 5 より大きい」ですが、もっと細かく言
うと「『3 は 2 より大きい』と『4 は 5 より大きい』の少なくとも一方が成り立つ」という意味で
す。だから、この例は正しい命題ということになります。
なお、∨ を「,」で書くことは絶対にありません。
「,」は必ず ∧ を意味する約束になっています。
§ ∀と∃
∀ は、この記号のすぐ後に付いた文字(変数といいます)が取りうる値のすべてについてその直
後にある括弧で括られた命題が成り立つという意味です。例えば、R を実数全体として、
∀x ∈ R [x2 ≥ 0]
と書いて、意味は
任意の実数 x に対して x2 ≥ 0 が成り立つ
1 「ゲーデルの不完全性定理」というのを聞いたことがある人もいるかも知れません。それは、ごく大雑把に言うと「命
題なのに正しいとも間違っているとも言えないものがある」というものです。だから、「正しいとか間違っているとかを議
論できる文」という命題の定義は不十分なのです。しかし、数学基礎論や論理学をやるのでない限りこれで十分です。な
お、不完全性定理に興味のある人には『林 晋 : ゲーデルの謎を解く : 岩波科学ライブラリー』をお勧めします。
3
論理記号
です。(∀ という記号は「任意の」を意味する英語 “arbitrary”、または、「すべての」を意味する
英語 “all”、または、
「どれでも」を意味する英語 “any” の頭文字の大文字 A をひっくり返したも
のです。)
∃ は、この記号のすぐ後に付いた文字の取りうる値のうち少なくとも一つについてその直後にあ
る括弧で括られた命題が成り立つという意味です。例えば、
∃x ∈ R [x2 ≤ 0]
と書いて、意味は
少なくとも一つの実数 x に対して x2 ≤ 0 が成り立つ
つまり、
x2 ≤ 0 の成り立つ実数 x が存在する
です。(∃ という記号は「存在する」を意味する英語 exist の頭文字の大文字 E をひっくり返した
ものです。)
なお、∀x や ∀y がどこまでに掛かっているのかが明らかな場合、直後の括弧は省くのが普通で
す。例えば、
∃x ∈ R [x2 < 2 ∧ x3 > 3]
を
∃x ∈ R x2 < 2 ∧ x3 > 3
と書いても誤読のおそれはないでしょう。また、∃ については、
「次のような」を意味する英語 “such
that” を省略した記号 s.t を使うことがよくあります。例えば
[
]
∃x ∈ R x2 < 2 ∧ x3 > 3
は
x2 < 2 と x3 > 3 を両方とも満たすような実数 x が存在する
という意味なので、括弧を使う代わりに「満たすような」の部分を such that を省略した記号 s.t
で置き換えて
∃x ∈ R s.t. x2 < 2 ∧ x3 > 3
と書くわけです。論理記号を使って書かれた命題の意味が取りづらいときには、自分で括弧を補っ
て係り受けをはっきりさせてみると分かりやすくなると思います。
§ ∀ と ∃ の順序について
∀ と ∃ の両方が出てくる命題は注意が必要です。例えば、
[
]
∀x ∈ R ∃y ∈ R[(x2 + 1)y = 1]
と
は違う命題です。
(1) は
[
]
∃y ∈ R ∀x ∈ R[(x2 + 1)y = 1]
(1)
(2)
4
論理記号
任意の実数 x に対して ∃y ∈ R[(x2 + 1)y = 1] が成り立つ
という意味です。つまり、∃y ∈ R[(12 + 1)y = 1] も成り立つし、∃y ∈ R[(e2 + 1)y = 1] も成り立
つし、∃y ∈ R[(π 2 + 1)y = 1] も成り立つし、、、というふうに x のところに勝手な実数を代入した
命題がそれぞれすべて成り立つという意味です。ということは、
それぞれの x に対して別々の y があればよい
という意味になります。そして、この命題の場合、本当に各 x に対してそのような y があります
ので、命題 (1) は正しい命題です。
一方、(2) は
∀x[(x2 + 1)y = 1] の成り立つ y が存在する
という意味になります。つまり、
x に依らない実数 y で、x が何であっても (x2 + 1)y = 1 の成り立つものが存在する
ということです。そんな y はありませんので、この命題は間違った命題です。
いちいち上のように分析するのは面倒ですが、実際には
∀x が ∃y より先に出てきたときは(つまり左にあるときは)、y は x に依存してよい。
∃y が ∀x より先に出てきたときは、y は x に依存してはいけない。
と約束するのだと思っておけば十分です。不用意に日常語を使うと、(1) も (2) も
任意の実数 x に対して (x2 + 1)y = 1 を満たす y が存在する
となってしまい、意味が曖昧になってしまうので気を付けましょう。
∀ 同士、∃ 同士は順番を換えても意味が変わりませんので、元々括弧で囲わずに「∀x∀y 」とか、
もっと省略して「∀x, y 」とかと書くのが普通ですが、∀ と ∃ の混在するときも、上のように約束
してあるので、例えば
∀x∃y s.t. (x2 + 1)y = 1
などと括弧なしで書くのが一般的です。
§ ¬ について
¬ はその後にある命題の否定を作るものです。言葉で言えば、もとの命題の最後に「でない」を
付け加えるだけのことで、皆さんも対偶や背理法でよく使うものです。例えば、
「3 > 2」という命
題からその否定「¬[3 > 2]」を作ります。意味は、当然「3 > 2 でない」、つまり「3 ≤ 2」です。
このように、具体的な命題の否定は意味を考えて作るしかないのですが、上に挙げた「∀、∃、∧、
∨」の部分については、それぞれを「∃、∀、∨、∧」に機械的に置き換えるだけで否定を作ること
ができます。
具体例で検証しておきましょう。
例えば、実数を変数とする実数値関数 f (x) に対して
f (x) は常に 0 以上である
5
論理記号
という命題の否定は、意味を考えれば
f (x) が負となる x が存在する
となります。一方、もとの命題を記号で書けば
∀x ∈ R [f (x) ≥ 0]
です。これの否定を上に書いた規則を使って機械的に作ると
[
]
¬ ∀x ∈ R [f (x) ≥ 0]
⇐⇒
[
]
∃x ∈ R ¬[f (x) ≥ 0]
⇐⇒
∃x ∈ R [f (x) < 0]
となって、ちゃんと否定が作れました。(記号 ⇐⇒ は二つの命題が「同値」であること、つまり、
意味の同じ命題であることを表す記号です。命題を作るときに使う記号ではありません。)
そのほかの記号については皆さんで実例を作って試してみて下さい。
§ =⇒ について
=⇒ は二つの命題から一つの命題を作るもので、普通は「ならば」と読まれます。しかし、この
読み方は慣れないと誤解を生みやすいので気を付けなければいけません。二つの命題 A, B に対し
A =⇒ B
を
[¬A] ∨ B
で定義
します。これはあくまでも記号 =⇒ の定義なのであって、日常語としての「ならば」がこういう
意味だといっているのではありません。日常語の「ならば」とか「なら」とか「たら」とか「ば」
とか「とき」とかは曖昧なのです。例えば、雨の日に「雨が降ってなければ出かけるのに」と言っ
た場合、これを記号 =⇒ を使って
“[ 雨が降っていない ] =⇒ [ 出かける ]” が成り立つ
と読んでしまうと、=⇒ の定義から
[
]
“ ¬[ 雨が降っていない ] ∨ [ 出かける ]” が成り立つ
つまり
“[ 雨が降っている ] ∨ [ 出かける ]” が成り立つ
すなわち
[ 雨が降っている ] と [ 出かける ] の少なくとも一方が成り立つ
となってしまって「雨の中を出かける」というのもありということになってしまいますが、元々の
発言の本来の意味はもちろん「雨が降っているから出かけられない」、つまり「雨の中を出かける
のはなし」ということなのですから、全く違うことになってしまいます。一方、「全出席なら単位
をあげる」と言った場合、「全出席でなければ単位をあげない」という意味まで含んでいるとは言
えないでしょうから、=⇒ の定義とマッチします。
6
論理記号
§ ∃ と ∧、および ∀ と ∨ の組み合わせ
ここから先は話が少し複雑になりますので、実例を解いてもらいながら説明して行くことにし
ます。
問題 1
三つの関数 f (x), g(x), h(x) に対し、命題 A を
f (x) = g(x) = h(x) = 0 を満たす実数 x が存在する。
とする。A の否定命題を書け。
論理記号なんか使わなくても解けるとは思いますが、練習のために論理記号を使って解いてみま
しょう。
命題 A を記号で書くと
∃x ∈ R [f (x) = g(x) = h(x) = 0]
ですので、その否定は
[
]
∀x ∈ R ¬[f (x) = g(x) = h(x) = 0]
です。ここで「f (x) = g(x) = h(x) = 0」の否定を考えるために等号をバラしましょう。このとき、
例えば「[f (x) = g(x)] ∧ [g(x) = h(x)] ∧ [h(x) = 0]」としても正しいのですが、関数と関数の間の等
式より関数と値の間の等式の方が簡単そうに見えますので、
「[f (x) = 0] ∧ [g(x) = 0] ∧ [h(x) = 0]」
とバラすことにしましょう。すると ∧ を ∨ に置き換える規則で
[
]
¬ [f (x) = 0] ∧ [g(x) = 0] ∧ [h(x) = 0]
⇐⇒
[f (x) ̸= 0] ∨ [g(x) ̸= 0] ∨ [h(x) ̸= 0]
となります。まとめて、A の否定は
[
]
∀x ∈ R [f (x) ̸= 0] ∨ [g(x) ̸= 0] ∨ [h(x) ̸= 0]
です。これを日本語の文に直すと
任意の実数 x に対し f (x), g(x), h(x) の少なくとも一つは 0 でない
となります。
最後の日本語の文は少々曖昧になっていることに気付きましたか?その「あいまいさ」をはっき
りさせるために、問題 1 の命題 A に似た次の 4 つの命題
[
]
∃x [f (x) = 0] ∧ [g(x) = 0]
[
]
∃x [f (x) = 0] ∨ [g(x) = 0]
[
]
∀x [f (x) = 0] ∧ [g(x) = 0]
[
]
∀x [f (x) = 0] ∨ [g(x) = 0]
7
論理記号
と、∀ や ∃ を ∧ や ∨ に対して「分配」した命題
[
] [
]
∃x[f (x) = 0] ∧ ∃x[g(x) = 0]
[
] [
]
∃x[f (x) = 0] ∨ ∃x[g(x) = 0]
[
] [
]
∀x[f (x) = 0] ∧ ∀x[g(x) = 0]
[
] [
]
∀x[f (x) = 0] ∨ ∀x[g(x) = 0]
を比べてみましょう。意味を考えてみれば、真ん中の二つは同値ですが、一番上と一番下の二つは
同値でないことが分かるでしょう。つまり「分配法則」は、∃ と ∧ の組み合わせ、および ∀ と ∨
の組み合わせに対しては成り立ちません。
例えば、
∃x ∈ R [x > 0 ∧ x < 0]
は
正でもあり負でもある実数が存在する
という意味なのでもちろん間違いですが、
[
] [
]
∃x ∈ R [x > 0] ∧ ∃x ∈ R [x < 0]
は
正の実数も負の実数も存在する
という意味(つまり、前側の x と後側の x は別な値で良い)なので正しい命題です。
問題 1 の最後の日本語での答えは、
「任意の実数 x に対し」が分配されているのかいないのかが
少し曖昧に感じられます。このようなときに命題を論理記号で表すと誤解を避けられるのです。
§ =⇒ の否定
これも具体例で考えてみましょう。
問題 2
a, b を実数、φ(x) = −x2 + a, ψ(x) = x2 − 2x + b とし、命題 B を
すべての実数 x に対して、φ(x) ≥ 0 ならば ψ(x) ≥ 0 が成り立つ。
とする。
(1) B の成り立つ a, b をすべて求めよ。
(2) B の否定命題をかけ。
命題 B を記号で書けば
[
]
∀x ∈ R [φ(x) ≥ 0] =⇒ [ψ(x) ≥ 0]
です。ここで =⇒ を定義に従って書き換えると
[
]
∀x ∈ R [φ(x) < 0] ∨ [ψ(x) ≥ 0]
(3)
8
論理記号
となります。つまり、
任意の実数 x に対して φ(x) < 0 か ψ(x) ≥ 0 の少なくとも一方が成り立つ
となります。特に、φ(x) < 0 が任意の実数に対して成り立ってしまうときは、ψ(x) は何でもよい
ことになります。ここが一番気持ちの悪いところだと思いますが、あくまでも論理における「なら
ば(=⇒)」の定義ですので、「全出席なら単位がもらえる」の例でも思い出して納得して下さい。
「『3 < 2 =⇒ 100 = 1』も正しい命題なのか」といった批判をする人がありますが、例えば「(石原
慎太郎の弟の)石原裕次郎が都知事になったなら逆立ちで世界一周してみせる」という約束をした
やつがいても、石原裕次郎は故人なので絶対に逆立ちで世界一周をする羽目にはならないわけです
から、こいつはウソをついたことにはなりません。これは「なら (ば)」がナンセンスなのではなく
約束の内容自体がくだらないだけなのです。「『3 < 2 =⇒ 100 = 1』が正しい」というのも、命題
の内容がくだらないだけであって =⇒ の定義の問題とは言えないでしょう。
というわけで、(1) の答は
√
「a < 0」または 「0 ≤ a ≤ 1, b ≥ 2 a − a」または 「a ≥ 1, b ≥ 1」
となります。
(2) の命題 B の否定も =⇒ の定義に戻ればできます。命題 B を記号で書くと (3) なのですから、
その否定は
[
]
∃x ∈ R [φ(x) ≥ 0] ∧ [ψ(x) < 0]
で、日本語で書くと
φ(x) ≥ 0 なのに ψ(x) < 0 であるような実数 x が少なくとも一つ存在する
となります。このように
「A ならば B である」の否定は「A なのに B でない」
です。一番はじめに書いた私の妻の例を見ても分かるとおり、これは納得しやすいと思います。
§ 逆命題について
A =⇒ B という命題に対して B =⇒ A という命題を元の命題の逆命題、あるいは簡単に逆とい
います。「逆必ずしも真ならず」を具体例で体験しておきましょう。
問題 3
実数 a, b, c に対する命題
a ≤ b, b ≤ c ならば a ≤ c が成り立つ。
の逆命題を書き、それが正しければ証明し間違っていれば反例をあげよ。
問題文はわざと曖昧に書いてあって、本当は「任意の実数 a, b, c に対して」が要ります。しか
し、実際にはこの問題のように「分かり切っていることは省く」のが普通なので、注意して補いな
がら教科書やノートなどを読むようにして下さい。
9
論理記号
さて、問題の命題を記号で書くと (∈ R は面倒なので省きます。)
[[
]
]
∀a∀b∀c [a ≤ b] ∧ [b ≤ c] =⇒ [a ≤ c]
です。「逆」とは =⇒ の前後を入れ替えた命題のことですので、
[
[
]]
∀a∀b∀c [a ≤ c] =⇒ [a ≤ b] ∧ [b ≤ c]
となって、日本語で書けば
(任意の実数 a, b, c に対して、) a ≤ c が成り立っているならば a ≤ b と b ≤ c の両方
が成り立つ
です。これは間違った命題です。つまり、これの否定
[
[
]]
∃a∃b∃c [a ≤ c] ∧ [a > b] ∨ [b > c]
日本語で書けば
a ≤ c であっても a > b か b > c の少なくとも一方の成り立つ実数 a, b, c が存在する
が正しくなります。例えば、a = 1, b = 3, c = 2 が例、つまり元の命題の反例です。
§ 係り受けについて
最後に「任意の c」がどこに係るかで意味が違ってしまう例を見ておきましょう。
問題 4
実数 a, b に対し、次の二つの命題
(1) 任意の実数 c に対して「『b ≤ c ならば a ≤ c が成り立つ』が成り立てば a ≤ b
が成り立つ」が成り立つ。
(2) 「任意の実数 c に対して b ≤ c ならば a ≤ c が成り立つ」が成り立てば、a ≤ b
が成り立つ。
はそれぞれ正しいか。正しければ証明し間違っていれば反例をあげよ。
問題 3 と同様に「任意の実数 a, b に対して」が省かれていることに注意して下さい。
(1) を記号で書くと
[[
]
]
∀a∀b∀c [b ≤ c] =⇒ [a ≤ c] =⇒ [a ≤ b]
です。例によって =⇒ を書き換えると、
[[
]
]
∀a∀b∀c [b ≤ c] ∧ [a > c] ∨ [a ≤ b]
日本語で書くと
任意の実数 a, b, c に対して、b ≤ c と a > c が同時に成り立つか、または a ≤ b が成
り立つ
10
論理記号
となります。これは間違った命題で、例えば a = 2, b = 1, c = 3 が反例です。
一方、(2) の方は
∀a∀b
[[
]
[
]]
∀c [b ≤ c] =⇒ [a ≤ c] =⇒ [a ≤ b]
で、=⇒ の書き換えにより
[[
]
[
]]
∀a∀b ∃c [b ≤ c] ∧ [a > c] ∨ [a ≤ b]
日本語で書くと
任意の実数 a, b に対して、b ≤ c と a > c が同時に成り立つ実数 c が存在するか、ま
たは a ≤ b である
となります。数直線を書いてみればすぐ分かるように、これは正しい命題です。
(2) の場合は、「対偶」を証明する方がすっきりします。A =⇒ B の対偶とは
[¬B] =⇒ [¬A]
のことです。=⇒ の定義に従って対偶を書き換えてみると
[¬B] =⇒ [¬A]
⇐⇒
[
]
¬[¬B] ∨ [¬A]
となり、これは [¬A] ∨ B と同値ですので A =⇒ B と一致します2 。実際に (2) の(二番目の =⇒
に対する)対偶を記号で書いてみると、
[
[
]]
∀a∀b [a > b] =⇒ ∃c [b ≤ c] ∧ [a > c]
日本語で書けば、
任意の実数 a, b に対して、a > b ならば、b ≤ c と a > c を同時に成り立たせる c が
存在する
となって、正しいことがすぐに分かります。
2 命題 A と ¬[¬A] が同じ命題であること、つまり「二重否定は何もしないのと同じ」というのは認めて下さい。これ
を無条件には認めない立場の論理学もあります。