思考方法について

思考方法としての論理

論理的に文章を書いたり、論理的に思考することを勧める本は多い。しかし、論理のことをよく知ろうと思って論理学の本を読むと、ラッセルのパラドックスやゲーデルの定理がでてきて困惑してしまう。素人は論理自体に何か重大な問題点が存在するのではないかと思ってしまうのだ。その上、公理的集合論など抽象的な話がでてくると完全にお手上げだ。論理学を思考の道具として使おうと思っても、その道具自体が複雑怪奇な精密機械のように思えてくるのである。

確かに論理学になると、それだけでひとつの学問の分野を形成するほど豊かな内容があるかもしれない。しかし、日常の問題解決に論理を利用しようと思っているものにとっては、もっと日曜大工道具的な道具としての論理が欲しいという感じがする。

上に述べてきたようにラッセルのパラドックスは内包的定義の使い方に関して発生した困難だし、ゲーデルの定理は論理的体系を形式的体系として記述しようとしたときに発生する問題である。これらの問題が発生するのは起こり得る全ての場合を考慮した完全な体系をめざした場合である。問題解決の手法として論理を使う場合、ラッセルやゲーデルのパラドックスがおこる原因を知っておけば、この問題にかかわらないで論理を道具として使えるのではないだろうか。このような立場で論理的な操作に慣れるということの大切さは、「逆また真ならず」という言葉の意味を知っているだけでも随分考え方が変わってくることからも分かる。以下の記事は必ずしも論理学そのものではないが、論理学を学ぶ過程で浮かんだアイディアを書いてみた。

集合

「集合とは物の集まりのことである」という集合の定義ほど簡潔で応用の効く概念はない。これを思考の道具に使わない手はない。集合の概念の大きな利点は情報の隠蔽をしてくれると言うことだ。数多くの要素を集合というもので一括りにしてしまえるからだ。人間は一度には七つ以上のものを認識することはできないそうである。したがって、複雑な内部構造を集合でまとめてしまえるのは非常に有利だ。

例えばラジオの場合を考えてみよう。ラジオは内部的には多くの部品を使用した複雑な回路で構成されている。しかし、使う方から見れば音量のつまみをひねると音の大きさを調整できることを知っているだけで充分だ。数多くの要素からなる複雑な概念も集合でまとめてしまえば把握が容易になる。具体的にどうするかは次の例文で考えてみよう。

この世の良いものは、法律で禁じられているか、不道徳であるか、食べると太る。(「マーフィーの法則」より)

上の警句は「この世の良いもの」「法律で禁じられている」「不道徳である」「食べると太る」という四つの要素からなっているが、「この世の良いものについての哲学」という集合だと考えると、中身について吟味しなくても何となく分かった気になることができる。四つの要素からなる概念を1つの集合を表す言葉の中に隠蔽してしまえるからである。

雑多な要素を集合で括ってしまうもう1つの利点は思考の対象の範囲を限定することができると言うことだ。「この世の良いもの」は上にあげたもの以外にも数多くあると思うが、さしあたって考慮するのは上の四つの要素に限定することができるのだ。

次に行うことはこの要素の中でコントロールとアウトプットを見つけることである。これは、入力と出力と言ってもいいし、独立変数と従属変数や原因と結果と言ってもいいかも知れない。要するにラジオの音量つまみのように自由に操作できる要素と、ラジオから出る音の大きさのように結果として表われる要素のことだ。上の例で言えば「この世の良いもの」がコントロールになり、「法律で禁じられている」「不道徳である」「食べると太る」がアウトプットにあたる。「この世の良いものについての哲学」という器械の「この世の良いもの」というボタンを押したら、残りの要素が出力されたとイメージするとよい。「この世の良いもの」が何かと考えたところ、出てきたのは獲得したいと言う欲求がかきたてられるが、その後が恐いといった代物だったのだ。

本を読むときでも、段落の内容を一言で言うとどうなるか、またその要素は何か、その要素のうちでコントロールは何か、そのコントロールに対するアウトプットは何かと考えて読むと良く分かる。

一般に「何が何だ」とか「こうだから、こうなる」などのように概念が対を成している形の表現は、明晰に理解できる。「指を切れば血が出る」、「犬が西向きゃ尾は東」のような文の理解に困ることは余りないだろう。これは、人間の基本的な認識のパターンではないかと思う。恐ろしいことに政治的な決断や、会社の運営方針などもこのようなパターンで決定されていることが多いのではないだろうか。これが意外に誤らずに効果を発揮しているところを見ると、「何が何だ」という判断がなされるときは、その表現系の簡潔さにもかかわらず、その判断が生まれる過程では複雑な情報処理がなされているからだろう。

何が何だと言う対の要素に注目して段落を読む効果の例をもうひとつ試してみよう。

まったく同じものを見ても、問題意識のあるなしで、人の反応は決定的に異なるのです。実は、解決のヒントは至るところに隠されているわけです。問題はそれを見つけ出す能力があるか否か、にかかっています。そのためには、私たちの身のまわりにあるものすべてがヒントになりうる、と考えることです。アイディアは、どこか彼方から飛んでくるものではありません。身近なものから、つかまえるものです。そのためには、「機能固定」を打ち破ることが大切です。「機能固定」とはモノをその主たる機能、働きでしかとらえず、他の働きを見ようとしない、といった意味です。固定観念と言いかえることもできます。(問題解決手法の知識、高橋誠著より)

上の例文はつぎのようないくつかの思考の対からできている。

この場合思考の対は「質問とそれに対する答え」というパターンになっている。この対になったパターンは明快に理解できるので、じっとながめているとこれが、「問題解決の答えは身近なところにあるが、機能固定を打ち破らないと見つかりにくい」というメッセージだということが分かってくる。

文章を読むときに、このように、A -> B という対になる表現を見つけることが理解を速くする助けになる。この際 A と B との関係の論理的な性質の種類は無視して、なんとなく A -> B になるなというものを抜きだすのがコツである。この「何となく」というところに人間特有の情報処理能力の凄さが発揮されることが多いからである。

明晰性

上で述べたように A -> B というような概念の対は分かりやすいと感じる。そこで、すこし寄り道をして、明晰さとは何かを考えてみたい。ここで論じてみたい明晰さとは明晰な頭脳のための明晰さではない。鈍い頭でもはっきりと理解できるための明晰さとは何かということである。著者が思考というものに興味を持ったのは数学が決定的に出来なかったからである。どこから手を付けたら良いかも分からない問題をすらすらと解いてしまう人間を見て、自分と一体どこがちがうのだろうかと不思議でならなかった。一番厭だったのはそういう人間の「こんなのは簡単だ」という言葉だった。それ以来、自分の頭を数学を理解できる頭にしたいというのが著者の夢になった。しかし、結局は数学とは何等関係のない仕事に就くことになり、おかげで、破局を迎えずに済んでいるのかも知れない。

明晰な頭脳にとっての明晰さは永遠の謎だが、ふつうの明晰さなら考えてみることが出来る。「これについてはハッキリとわかる。」という明晰さの感覚は日常生活にはあふれている。スイッチを押すとテレビが写る。チャンネルを変えると画面が変わる。テレビの番組は新聞の最後部の頁にある。「Stand up」を歌っていたのは倉木麻衣だ、等々。これらのものは大体が目に見えるものである。しかし、目に見えているものは全て明晰かというとそうでもない。自分の部屋であっても左奥に何があるか速答出来ない場合がある。つまり、明晰に思考できるものはただ見えるだけでなく、少なくとも現在の自分の意識のステージに載っている必要があるのがわかる。意識のステージからはずれたものは簡単なものであっても明晰に思考することは出来ない。すなわち、明晰さの焦点とも言うべきものがあるということだ。

意識の焦点にあるものでも、複雑なものは明晰に理解するというわけにはいかない。人間が一時に把握できる要素の数は七つだそうである。もちろんこの数は少なければ少ない程よいだろう。単純な構造のものに注意を集中した状態が明晰に理解している状態なのだ。

しかしながら、複雑な構造を持った対象物もブロック毎に分けたり、部分的なものに注意を集中しながら文字どおり分析して行くことで明晰に理解できる部分を取り出すことが出来る。これを「単純化」の操作と呼ぶことにしよう。この単純化された部分をジグソーパズルのように組み合わせていくと元の複雑な対象ができあがる。この操作は綜合である。つまり「分析」と「綜合」は人間が複雑な対象を理解しようとするときに無意識に行っている操作なのである。つまり、分析によって対象を単純化し、単純化した部分を再び綜合することによって一見明晰でない構造を明晰に理解することができるようになるのである。明晰な頭脳の持ち主は無意識にこの分析と綜合をやりとげているのだろう。しかし、明晰でない頭脳の持ち主の場合、これを意識的にやらなければならない。

対象を分析するときに「単純化」をすると言ったが、この単純化にはいくつかの種類がある。ひとつは全体を分割して単純な部分に分割する方法。もうひとつは複雑な構造をいくつかのモジュールに分けてモジュールの細部は隠してしまう情報の隠蔽である。これは少しプログラムをかじったことのある人には馴染みの方法である。たとえば Ruby でプログラムする場合配列 a = [1, 2, 3] の合計を求めるメソッドは次のようになる。

def sum( a )
  total = 0.0
  a.each {|d| total += d}
  total
end

これを使うと配列 a = [1, 2, 3] の要素の合計は sum( a ) で取り出すことが出来る。つまり配列の要素の総和をとるアルゴリズムの複雑さは隠蔽されて sum という関数に置き換えることができるのだ。配列のメソッドには要素の数を求める size というものがあるので、sum( a ) / a.size で配列 a の要素の平均を取り出すことが出来る。

もうちょっと凝って配列のクラスに sum という関数を追加するには次のようにすればよい

class Array
def sum
  total = 0.0
  self.each {|d| total += d}
  total
end
end

こうすれば配列 a = [1, 2, 3] の要素の合計は a.sum で計算できる。したがって平均値の計算は a.sum / a.size となり随分スッキリする。ついでに配列に mean という平均値を計算するメソッドを加えてみよう。

class Array
def mean
  self.sum / self.size
end
end

すると配列 a の平均は a.mean でとりだせる。このように細かい情報をクラスや関数でどんどん隠蔽していってより高度な機能を作りだす方法はプログラミングでは一般的な方法である。Ruby のようなオブジェクト言語ではそれが割りに自然にできるのがうれしい。しかし、プログラミングを思考過程のモデルにするのはすこし窮屈な感じがする。うわさでは集合や論理学をもとにしたプログラミング言語もあるそうであるがそういうものが成熟してくればもっと人間の思考と同じ感じで使えるツールができてくるかもしれない。

話が明晰性から少し逸れてしまったが、言いたかったのは明晰な頭脳もそうでない頭脳も要素的な明晰さにはあまり違いがないのではないかということだ。ただし、明晰な頭脳は要素的な明晰さを組織化して複雑なものへと綜合していく組織化の能力にたけているのではないだろうか。明晰でない頭脳はその組織化が苦手で脇道にそれたり、堂々巡りしたり、行き止りになってしまうので混乱するのだろう。それでは、普通の頭脳が明晰になる方法はないのだろうか。著者はそれは KJ 法に代表されるような図式化を練習することによって可能になるのではないかと思っている。明晰に理解できる要素と要素の関係を図式として描いて行くことによって明晰な頭脳が脳の内部で行っている組織化を、平凡な頭脳も脳の外部の助けを借りることによって達成することが出来るのではないかと思う。

抽象化

集合を思考の道具として考えるときに重要なもうひとつの性質に、抽象化がある。小さな子供が犬を見ると「ワンワン」と言って喜ぶが、犬にはひとつとして同じものはいない。また、人は、世界中の全部の犬を知っているわけでもないのに何となく犬はこのようなものだという観念を持っている。さらに、どうしてあれが犬でこれが猫なのか説明しろと言われても困るだろう。何という理由はないが、あれは犬でこれは猫なのである。これは人間が多くのものを見るときにその共通なあるいは本質的な性質を抽出する傾向を持っているからだ。「犬」という言葉はその目に見えない共通の性質につけられたラベルなのである。

このように抽象化された性質は目には見えない概念である。概念には名前というラベルがつけられるが、名前自身と概念との本質的な類似点はない。しかし、目には見えないがその概念のおかげでほぼあやまらずに個々の犬と猫を見分けることが出来るのである。数学を理解している者には数学に関するこの概念がハッキリとしているので練習問題が簡単に見えるが、理解していないものはこの概念を持たないためにさっぱり分からないという感じを持つのだろう。おまけに目に見えない概念はなかなか伝えることが難しいことが、大量の数学嫌いを生む原因になっているのかも知れない。

「犬」の概念のように自然発生的に生ずる概念は「似ているか、似ていないか」という判断でなされることが多い。この動物は犬に似ているから犬であって猫ではない。と判断しているようなのである。しかし、「似ている」という性質をプログラムで表現しようとすると非常に難しいようである。部分的な比較はコンピュータは得意だが、全体的に似ているというような判断は苦手である。

この「似ている」という感覚を目に見えるように描くことはできないし、言語で説明することも難しい。しかし、多くの個体からその共通した特長を抽出して作った感覚的なデータベースが人間の脳に形作られていて、「似ている」という感覚でそれが検索されていることは間違いない。共通した性質について知っているという感覚があるからこそ、はじめてみた個体をこれは犬だと判断できるのである。抽象化された情報は目でみたり言葉で表現することは難しいが、この抽象化された情報を持つからこそ、人間は新しい情報であっても既知のパターンと似ているものは分かりやすいと感じるのである。

訳のわからない説明になってきたようなので実例をあげてみよう。Ruby では for ループのくりかえしは、数字でも、文字の配列でも同じように for i in <object> で実行できる。数字の 1 から 10 までを表示するプログラムは次のようになる。

for i in 1..10
  puts i
end

ところが、配列 ['dog', 'cat', 'rat'] の要素を表示するプログラムも次のように同じように書けるのである。

for i in ['dog', 'cat', 'rat']
  puts i
end

つまり for i in という文が、「オブジェクトの要素をひとつずつ取り出して処理する」というやや抽象的な作用をを持っているために、オブジェクトの種類が違っていても同じ方式でプログラムを書くことが出来るのである。「違う種類のオブジェクトに対する似た性質の仕事が、同じ表記で実行できる」という感覚が Ruby のプログラムが書きやすいと感じる理由のひとつだろう。

抽象化が効果をあげている他の例としては Unix のデータストリームがある。Unix では、データを、数値データ、文字データ、画像データと区別せずデータストリームとして抽象化して一本化してしまったため、プログラムの操作に統一感ができて応用の効くシステムになっている。

人は自分がなれている作業に似た作業は分かりやすいと感じる。人が高度に抽象的な概念を持っていれば、より多くの場面で「似ている」という感じを持つことができるだろう。抽象的な概念は目に見えないため習得が難しいが、一旦習得すると、応用範囲が広く、それによって、より多くのものを楽に理解できるようになる。著者の嫌いな「こんなのは簡単だ」という言葉もそういう事情から発生していると考えられる。

抽象化された概念の難しさは、それを他の人に伝達するのが困難であるという事である。犬や猫のようなものなら、個々の動物を提示してこれが犬だ、これが猫だといって教師付きの学習をさせれば良いだろうが、数学のように高度に抽象的な概念は伝えるのが難しい。それは、抽象的概念が機能や構造といった目に見えないものの概念だからである。この、機能や構造と言う概念を身につけるためには、数学の場合は自分で定理を証明するか、練習問題を解くというやり方になるだろうが、結構ハードルが高い。

従って、このような場合は抽象化の逆、具象化をすると良いのではないだろうか。目に見える形のモデルはないかと考えることである。たとえば、集合と集合の写像については、二つのざるの中の団栗を紐の両端に結びつけるところを想像する。片方の団栗を引っ張るともうひとつのざるの中の団栗がついてくるというイメージである。ざるや団栗を使った思考実験をしながら、集合と集合の要素間の結び付きという写像のイメージを作り上げるのである。さらに、集合を表すざるは皿や紙の上に書いた丸でも構わないのでイメージの中で置き換えてみる。また、複数の団栗がひとつの団栗に結びつけられているところを想像する。あるいは写像と言うものをコインをいれると缶ジュースがでてくる自動販売機にたとえる、等々。ちょうど何匹も犬をみて犬と言う概念を作り上げていったように、写像をあらわす具体的な事例を色々と変えることで、モデルを変えても変わらない要素と要素の関係という目に見えない写像の概念を作って行くのである。

このようにモデルを使って概念を形成する場合、ひとつのモデルに固執せず、いろいろなモデルを利用してみるのがコツである。モデルを色々と替えて行くうちに、それらに共通な関係あるいは構造としての本質が概念として理解できてくる。モデルを変えても本質は変わらないというところがミソである。

また、抽象的概念を習得しようとするとき便利なもうひとつの便利な方法は「要するに」という言葉を利用することである。抽象的な定義や複雑で厳密な定義があったとき、「要するにどういうことを言いたいのか」と考えると良い。細かな定義の裏にある本質とは何だろうと考えることである。抽象的な定義や複雑な定義はその定義の有効範囲を広くとりたいときや、定義に厳密さを与えたいときに使われるが、それに惑わされないでその定義の基本的なアイディアは何かと考えてみると意外に単純なことがあるからである。

命題論理学

論理的思考力をつけようと思ったら命題論理学は避けて通れない。命題論理学を学ぶ利点はそれが非常に分かりやすいと云う事である。命題論理学では証明可能な命題は全てトートロジー(恒真命題)であるから、真理表によって簡単に検討することが出来る。命題論理学を理解することは、真理表を理解することと同じである。つまり、実際の問題を命題論理として表現できればその検討は真理表を作ることによって自動的に行うことが出来るのである。無責任な考えかも知れないが、真理表を自分で書くことができるようになったら、それだけで、かなり命題論理学の恩恵を被ることが出来ると思う。

例えば上の「論理的思考力をつけようと思ったら命題論理学は避けて通れない」という文を命題論理学で分析してみよう。上の文は二つ原子命題の複合命題である。これを、A = 「(私が)論理的思考力をつけたいと思う」、B = 「(私が)命題論理学を勉強する」とおくと、例文の命題は A ⇒ ¬¬B Bが二重否定になっているが、「命題論理学を勉強するのを」「避ける」「ことは出来ない」からである。つまりこの文は A ⇒ B すなわち「論理的思考力をつけようと思うならば命題論理学を勉強する」といっているのと同じなのである。

また A ⇒ B が真のときはその対偶 ¬B ⇒ ¬A も真だから「命題論理学を勉強しないならば論理的思考力をつけようとは思っていない」ということもわかる。

さらに A ⇒ B は ¬(A ∧ ¬B) と同値だから、「論理的思考力をつけようと思っていて、かつ、命題論理学を勉強しない人はいない」ということも分かる。また A ∧ ¬B は A ⇒ B の否定なので、「論理学的思考力をつけようと思っていて命題論理学を勉強しない」場合、 A ⇒ B の仮定が誤りであったことがわかる。

ここで、¬(A ∧ ¬B) は ¬A ∨ B と同値だから、A ⇒ B が正しければ、「論理的思考力をつけたくないか、または、命題論理学を勉強する」という事態であることもわかる。

また A ⇒ Bと ¬A ⇒ ¬B の真理表は同値ではないので、「論理的思考能力をつけたいと思っていないから命題論理学は勉強しない」という推論は必ずしも正しくないということも分かる。

また、有名な「逆また真ならず」で「命題論理学を勉強するから論理的思考力をつけたいと思っている」という推論も正しい訳ではないことも分かる。

命題を記号化することによって自然言語で考えていたときよりは論理構造がはっきりして、ひとつのテーマに対していろいろな方向から考えることが出来るようになる。

ところで、上の例の A ならば B の「ならば」というのは論理学では含意とよばれる演算子である。含意は、『「A ならば B」が真であるとき、A が真である。故に Bは真である』。という三段論法のときの基本的な要素である。ところが、一般的に論理的に文章を読むとか、論理的に思考しなさいと勧める本を読んでいるときに想定されている論理とは、実は、この三段論法のことなのである。実際、数学の定理の証明でさえ、使われる論理のほとんどが三段論法である。したがって、含意を含んだ命題をいろいろな方向からみることができれば充分実用的な論理学の知識があると言える。命題論理学の複雑な式の解析を要するのは、論理回路の設計のときか、論理パズルを解くときくらいではないだろうか。ふつうの状況での論理的思考という言葉が指すのは三段論法のことだといっても過言ではないと思う。含意について上のような様々な見方を知っていると論理的な思考に柔軟性ができてくるのではないだろうか。

命題論理学を思考方法に利用するもうひとつのコツは、真理表の読み方である。例えば上の A⇒B の真理表は次のようになる。

ABA ⇒ B
TTT
TFF
FTT
FFT

上の表で分かるのは原子命題 A と B の真偽のあらゆる組合せが検討されていると言うことである。A が真で B が真のときはどうか。A が真で Bが偽のときはどうか... と全部で4通りの場合について検討してある。論理の確実性の本質は実はここにあるのである。起こり得る「全ての」場合を想定して真偽を検討してあるために論理的推論の確実性は保障されているのである。つまり、論理学の論理とは高校の数学ででてくる、y = | x - 1 | のグラフを書くときのような「場合分け」に他ならない。したがって上の真理表から「前堤の A が常に偽であれば、全ての結論を真とする推論は真である」という一見常識と反するようなことも確実なものとして受け入れることができるのである。(これは、「矛盾からは全ての命題が証明できる」ということとも関連している。)

真理表についてもうひとつ面白いことがある。上の真理表で原子命題の数が A と B のふたつしかない場合、真理表のバリエーション(真理関数の値の取り方)は 2^4 = 64 通りしかないことである。つまり A B の真理値の組合せが 4 通りあり、その各々に複合命題の真理値の組合せが 2 通りあるからである。原子命題 A B を含むどんな複雑な複合命題の真理関数もこの 64通り以外の組合せをとることはない。命題論理学の場合その複雑性は原子命題の数によるもので、式の複雑性にはよらない。したがって、原子命題の性質をしっかり調べれば、その組合せによる複雑さにはあまり惑わされないで済むと言うことである。複合命題の数は無限だが、複合命題のとり得る真理値の種類は 64 通りである。さらに、原子命題の真理値の起こり得る組合せは 4 通りにすぎない。この事実から直接に思考方法を導くことは出来ないが、複雑なシステムを複数の原子命題に分解して解析するときには、その最も基本的な原子命題に注目して調べることで情報量を極端に減らすことが出来るのではないかと思う。

ただし、複合命題の真理表(真理関数)の種類が原子命題の数に支配されるからと言って少数の命題を公理とした論理体系が有限個の定理しか持てないと言うわけではないので注意が必要だ。少数の原子命題を公理として、その公理から論理的演繹規則で体系を作る場合、導き出される定理のバリエーションは無限である。また、定理の真理値は常に真(トートロジー)でなくてはならないので真理表のバリエーションの有限性と命題論理の定理の数の無限性とは全く別の話である。もし、ある論理体系が命題論理のモデルとして表現できるならば、命題論理の完全性から、任意の命題が定理であるかどうかは、その命題の真理値表がトートロジーになるかどうかで判断できるので便利である。自然数論の場合も、どのような式を作ってもつねにそれが証明可能かその否定が証明可能であることが保障されていると都合が良かったのだが、そうはならなかった。

含意

論理的な考え方を身につけるためには命題論理学の初歩を勉強するのがよい。特に真理表は分かりやすく、機械的に作成することが出来るので論理とは何かを考えるのに都合が良い。¬(A ∧ B) = ¬A ∨ ¬B のようなド・モルガンの法則も真理表を比較することで簡単に証明することが出来る。このように明解な真理表だが、ひとつだけ分かりにくいものがある。それが A ⇒ B の含意の真理表である。含意の真理表を再掲すると次のようになる。

ABA ⇒ B
TTT
TFF
FTT
FFT

これでいくと、前堤 A が真の場合結論の B が真になるときはこの仮定は真になるし、前堤 A が偽のときに結論の B が真である場合は、この仮定が誤っているというのは理解できる。しかし、前堤 A が偽なら結論が真でも偽でも仮定は正しいというのが納得できないのである。しかしよく考えると A ならば Bという仮定は、Aが正しい時には必ず B も正しくないといけないが、それ以外の場合は、何も B にたいする束縛がないということなのである。前堤が結論を束縛するのは前堤が真の時だけであるという含意の性質をよく理解することが大切なのである。

一般的に論理的な文章と言うものは「ならば」が多用されている。そうして、論理の運び方の間違いもこの「ならば」で生じていることが多い。たとえば「リスクをとれば利益が上がる、したがってリスクをとらなければ利益は上がらない」という推論や「細菌感染症では白血球が増える、この患者は白血球が増えているので細菌感染症である」という推論はいずれも誤った推論なのである。

こうしてみると、論理的に考えたと思って書いた文章が非論理的になってしまうのは「ならば」の性質をよく理解していないところから生じるのではないだろうか。なぜそうなるかと言うと含意の真理表の性質が分かりにくいからではないかと思う。

また、批判的に文章を読む場合 A ⇒ B という仮定そのものが本当に正しいのかに注意して読まなくてはならない。その場合は誤った仮定をすばやく見つけ出す必要があるそれには A ⇒ B の否定と同値な A ∧ ¬B を考えると良い。「政治家は金権体質をかえられない」という仮定に対して「政治家であって金権体質でない」人がいれば仮定が誤りであったことが分かる。

大切なことは「〜ならば〜」だという文章があったときは、真理表とにらめっこしながら、前堤と結論の全ての組合せについて考える必要があるのである。全ての可能性について検討することの重要な例として次のような話がある。

ガソリンスタンドの経営者がある営業所の売り上げが少ないのでこれを整理しようかと悩んでいたそうである。そのとき考えたのはこの営業所がなくても利用者は困らないだろうということだ。すぐ先に他社のスタンドがあるからである。しかし自分のスタンドがなくなったときに誰か困る人があるだろうかと考えたとき、近所の老人の家に灯油を配達していたのを思いだしたのである。このひとたちは灯油を配達してくれる営業所がなくてどうするだろうと思ったとき、灯油の宅配を主要業務にすることを考えついた。そこで、そこの営業所ではガソリンの給油を止め、灯油の宅配をはじめたところ売り上げが急激に伸びたそうである。

この例は厳密には命題論理の扱い方の問題ではない。最初の仮定は次のようになる。

営業所を閉鎖⇒利用者は他のスタンドへ⇒利用者は困らない

これはガソリンの供給に関して言えば事実であって、疑問の余地はない。しかし、視点をかえて灯油の供給に関して考えると全く違う推論になる。

営業所を閉鎖⇒老人への宅配ができない⇒利用者が非常に困る。

視点を変えるだけで含意の内容が

営業所を閉鎖⇒利用者は困らない

から

営業所を閉鎖⇒利用者が非常に困る

という全く正反対の内容に変化してしまう。論理的推論では含意が非常に重要な働きをするため、特に注意して取り扱う必要があるのではないだろうか。経済の構造改革などの議論が盛んだが、対策や結論だけに議論を集中させるのではなく、議論の際にほとんど無反省に採用されている含意の検討をすることも大切なのではないかと思う。含意を動かし難いものと考えると、それ以後の議論はほとんど機械的に決まってしまうからである。

「ならば」を用いる推論は物事を考えるとき好んで使われる考え方であるが、落し穴が多い。前説で述べたような含意の様々な見方を活用して A ⇒ B を徹底的に検討しなおすことが「論理的」な考え方や新しい発想を生み出すためのヒントになりのではないか。そのための一番明解な道具が真理表なのである。(2003.1.29)