-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathch-logic.xml
More file actions
198 lines (185 loc) · 23.1 KB
/
Copy pathch-logic.xml
File metadata and controls
198 lines (185 loc) · 23.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
<?xml version="1.0" encoding="utf-8"?>
<chapter xml:id="ch-logic">
<title>論理</title>
<introduction>
<p>本章では、他者への介入において不可欠な論理について述べる。</p>
<p><xref ref="sec-logic-purpose"/>節では、論理が必要とされる理由を述べる。
<xref ref="sec-logic-def"/>節では、論理において重要な定義について、<xref ref="sec-logic-prop"/>節では、命題や定理、証明について述べる。
<xref ref="sec-logic-infer"/>節では、代表的な推論の形式を述べ、<xref ref="sec-logic-science"/>節では、科学における方法について述べる。</p>
</introduction>
<section xml:id="sec-logic-purpose">
<title>論理の目的</title>
<p>行った説明や主張に対して他者の同意を得るには、自分と相手で共有できる価値観、すなわち成果メディアが不可欠である。
愛や芸術、宗教、権力などで納得を得られる場合でなければ、相手と共有できる<em>真理</em>に基づき、自分の主張の「正しさ」を示すことで相手を説得する必要がある。
この、真理に基づいてある主張の「正しさ」を説明する過程を<dfn en="logic" r="ろんり">論理</dfn>と呼ぶ。</p>
<p>物事の「正しさ」を検証するのが人間である以上、ある<strong>物事が絶対に正しいことを検証する手段は存在しない</strong>。
実験で正しさを裏付けると思われる結果が得られても、事前の準備や事後の分析で誤りが生じている可能性は否定できない。
数学の定理でも、その定理を導く論理に誤りがあるかは人間が検証する以上、検証する人間が誤りを見過ごすことは当然にありえる。
実験や証明を機械化し、プログラムに正しさの判断を委ねても、プログラム自体やハードウェアに欠陥がある場合もありうる。
あくまで、多数の人間や機械の検証を経ることで、その物事が誤りである可能性を小さくしているだけである。
従って、「正しい」とされる物事も、それは<em>まだ有力な反論が存在しない</em>ことを示しているに過ぎない。</p>
<p>物事の「正しさ」の検証にあっては、論理であれば他者の立場でも納得できる<dfn r="きゃっかんせい">客観性</dfn>が求められる。
実験や調査であれば、他者が同じ実験や調査を再度行っても、同じ結果が得られる<dfn r="さいげんせい">再現性</dfn>が必要である。
客観性や再現性のない記述は、たとえそれが本当は正しい<em>真理であったとしても、検証できないために正しいとはみなされない</em>。</p>
</section>
<section xml:id="sec-logic-def">
<title>定義</title>
<p>論理的な説明を行うには、説明で使う用語に<dfn en="definition" r="ていぎ">定義</dfn>を与え、他者との間で用語の意味に<ruby r="そご">齟齬</ruby>が生じないようにする必要がある。
定義は、ある<em>記述<m>B</m>に対して用語<m>A</m>を与え</em>、以降の説明において<m>A</m>を<m>B</m>の意味で使うことを示すものである。
例えば、本稿では「情報」「システム」「創発」などの用語を別の表現で言い換えることで、これらの用語を定義している。</p>
<p>従って、最も基本的な定義の表現は「<m>A</m>を<m>B</m>と定義する」「<m>B</m>を<m>A</m>と呼ぶ」などである。
数式ではこれを「<m>A = B</m>」と記すが、左辺が定義される用語であることを明示するために「<m>A := B</m>」と記すこともある。</p>
<p><strong>定義を行う際は、定義する用語<m>A</m>の特徴を明確に示し、<m>A</m>ではないものとの区別を示す</strong>必要がある。
「<m>A</m>は<m>B</m><em>ではない</em>」という否定の記述や、「<m>A</m>は<m>B</m>の<em>ための</em>ものである」と目的のみを示す記述、「<m>A</m>は<m>B</m><em>の1つ</em>である」「<m>B</m><em>など</em>を<m>A</m>という」といった例示のみの記述は、<m>A</m>と<m>A</m>以外のものを区別できない。
これらの記述は、用語<m>A</m>が何を指しており、何ではないのかが明瞭でないため、適切な定義とはいえない。</p>
<p>定義は、<strong>説明に使う用語の意味を共有して誤解を防ぐ</strong>目的の他、<strong>説明で頻繁に使う用語を短く言い換え、説明を円滑にする</strong>目的でも使われる。</p>
</section>
<section xml:id="sec-logic-prop">
<title>命題と定理</title>
<p><em>「正しい」かどうか明確に定まる文</em>を<dfn en="proposition" r="めいだい">命題</dfn>という。
命題<m>P</m>が「正しい」とき「<m>P</m>は<dfn en="true" r="しん">真</dfn>である」といい、そうでないとき「<m>P</m>は<dfn en="false" r="ぎ">偽</dfn>である」という<xref ref="bib-aristotle-int"/><xref ref="bib-aristotle-int-j"/>。
<em>真である命題</em>を一般に<dfn en="theorem" r="ていり">定理</dfn>というが、一般的には、真である命題のうち<em>特に重要なもの</em>を指して「定理」と呼ぶことが多い。</p>
<p><m>P, Q</m>が命題のとき、「<m>P</m>ならば<m>Q</m>である」という形の命題を、「ならば」の意味を表す記号「<m>⇒</m>」を使って「<m>P ⇒ Q</m>」と表す。
例えば、「<m>x</m>がネコならば、<m>x</m>は動物である」という命題は「<m>x \in \text{ネコ} ⇒ x \in \text{動物}</m>」と表せる。</p>
<p>日常会話では、命題「<m>x</m>がネコならば、<m>x</m>は動物である」をより単純に「ネコは動物である」と表すことがある。
「ネコは動物である」も真偽が定まるので命題だが、「ネコ」「動物」は単なる集合で真偽が定まらないため、この命題を「<m>\text{ネコ} ⇒ \text{動物}</m>」と表すことはできない。
代わりに、部分集合を表す記号「<m>\subset</m>」を使うと、この命題は「<m>\text{ネコ} \subset \text{動物}</m>」と表せる。</p>
<note>
<title>「ならば」の形式的定義と対偶</title>
<statement>
<p><m>P, Q</m>が命題のとき、命題「<m>P ⇒ Q</m>」の厳密な定義は「命題<m>P</m>が真であれば命題<m>Q</m>が真である」である。
従って「<m>P ⇒ Q</m>」が真となるのは、「<m>P</m>かつ<m>Q</m>」が成り立つときか、「<em><m>P</m>ではない</em>(<m>P</m>が偽である)」ときである。
定義記号「<m>:=</m>」で記せば、「<m>(P ⇒ Q) := (\bar{P} \vee (P \wedge Q)) = ((\bar{P} \vee P) \wedge (\bar{P} \vee Q)) = (\bar{P} \vee Q)</m>」となる。</p>
<p>この定義に従えば、「命題「<m>P ⇒ Q</m>」とその対偶「<m>\bar{Q} ⇒ \bar{P}</m>」の真偽は等しい」という定理は、次の式変形で示せる。
<me>(\bar{Q} ⇒ \bar{P}) = (\bar{\bar{Q}} \vee \bar{P}) = (Q \vee \bar{P}) = (\bar{P} \vee Q) = (P ⇒ Q)</me></p>
</statement>
</note>
<note>
<title>「すべて」「ある」の形式的定義とその否定</title>
<statement>
<p>「すべて」や「ある」を含む命題については、Aristotleの時代から議論されてきた<xref ref="bib-aristotle-int"/><xref ref="bib-aristotle-int-j"/>。
集合<m>X</m>の<em>すべての</em>(<em>任意の</em>)要素<m>x</m>について命題<m>P_x</m>が成り立つことを、全称記号と呼ばれる記号「<m>\forall</m>」を使って「<m>\forall x \in X, P_x</m>」と表す。
また、集合<m>X</m>の<em>ある</em>要素<m>x</m>について命題<m>P_x</m>が成り立つ(<m>P_x</m>が成り立つ<m>x</m>が<em>存在する</em>)ことを、特称記号と呼ばれる記号「<m>\exists</m>」を使って「<m>\exists x \in X, P_x</m>」と表す。
<m>\forall, \exists</m>はそれぞれ、「<em>A</em>ll」と「<em>E</em>xists」の頭文字を逆さにした記号である。
これらを、前のコラムで使った「<m>:=</m>」で形式的に定義すると、次のようになる。
なお、<m>X = \{x_1, \cdots, x_n\}</m>のとき<m>\bigwedge_{x \in X} P_x := P_{x_1} \wedge \cdots \wedge P_{x_n}</m>とする。
<me>(\forall x \in X, P_x) := \bigwedge_{x \in X} P_x, \hspace{1em}
(\exists x \in X, P_x) := \bigvee_{x \in X} P_x</me></p>
<p>この定義を使うと、「すべての<m>x</m>について<m>P_x</m>が成り立つ」の否定が「ある<m>x</m>について<m>P_x</m>が成り立たない」になることや、「ある<m>x</m>について<m>P_x</m>が成り立つ」の否定が「すべての<m>x</m>について<m>P_x</m>が成り立たない」になることは、次の式変形で示せる。変形の途中ではde Morganの公式(<m>\overline{A \wedge B} = \bar{A} \vee \bar{B}, \overline{A \vee B} = \bar{A} \wedge \bar{B}</m>)を使っている。
<me>\overline{\forall x \in X, P_x} = \overline{\bigwedge_{x \in X} P_x} = \bigvee_{x \in X} \overline{P_x} = (\exists x \in X, \overline{P_x}) \hspace{1em}
\overline{\exists x \in X, P_x} = \overline{\bigvee_{x \in X} P_x} = \bigwedge_{x \in X} \overline{P_x} = (\forall x \in X, \overline{P_x})</me></p>
</statement>
</note>
</section>
<section xml:id="sec-logic-infer">
<title>推論</title>
<introduction>
<p>いくつかの命題から一つの命題を導くことを<dfn en="inference" r="すいろん">推論</dfn>といい、推論の過程を明らかに示したものを<dfn en="proof" r="しょうめい">証明</dfn>という。
推論には次に示す複数の方法があり、推論で導かれた命題がどの程度正しいかという<em>厳密性</em>の高さと、推論で導かれた命題がどの程度元の命題にないことを述べているかという<em>拡張性</em>の高さが、それぞれ異なる。
代表的な推論法には、厳密性の高い順に演繹・帰納・アブダクションがある。
このうち、演繹とアブダクションに対応する思考法が、de Bonoの垂直思考と水平思考である。</p>
<p><ruby r="トゥールミン">Toulmin</ruby>は、<em>前提</em>、<em>規則</em>、<em>結論</em>という3つの命題が存在し、前提に規則を適用すると結論が得られるとした<xref ref="bib-toulmin"/>。
この「三角ロジック」と呼ばれる形式に従えば、演繹・帰納・アブダクションの3つの推論法は、図<xref ref="fig-logic-inference"/>のように対比できる。
図中の矢印は命題を表し、「<m>A ⇒ B</m>」を前提、「<m>B ⇒ C</m>」を規則、「<m>A ⇒ C</m>」は結論とする。
また、それぞれの推論法で与えられている命題を実線で、推論により導かれる命題を点線で示す。</p>
<figure xml:id="fig-logic-inference">
<image source="image/logic-inference"/>
<caption>推論の方法</caption>
</figure>
<p>図<xref ref="fig-logic-inference"/>の例では、<m>A</m>を「<m>x</m>はソクラテスである」、<m>B</m>を「<m>x</m>は人である」、<m>C</m>を「<m>x</m>は死ぬ」としている。
このとき、前提(<m>A \Longrightarrow B</m>)は「ソクラテスは人である(<m>x: \text{ソクラテス} \Longrightarrow x: \text{人}</m>)」、規則(<m>B \Longrightarrow C</m>)は「人は死ぬ(<m>x: \text{人} \Longrightarrow x: \text{死ぬ}</m>)」、結論(<m>A \Longrightarrow C</m>)は「ソクラテスは死ぬ(<m>x: \text{ソクラテス} \Longrightarrow x: \text{死ぬ}</m>)」となる。</p>
<definition>
<title>演繹・帰納・アブダクション</title>
<statement>
<ul>
<li><strong>前提と規則</strong>から<strong>結論</strong>を導く推論を<dfn en="deduction" r="えんえき" ruby="1">演繹</dfn>という。</li>
<li><strong>前提と結論</strong>から<strong>規則</strong>を導く推論を<dfn en="induction" r="きのう" ruby="1">帰納</dfn>という。</li>
<li><strong>規則と結論</strong>から<strong>前提</strong>を導く推論を<dfn en="abduction">アブダクション</dfn>という。</li>
</ul>
</statement>
</definition>
</introduction>
<subsection xml:id="ssec-logic-infer-deduction">
<title>演繹</title>
<p><dfn en="deduction" r="えんえき" ruby="1">演繹</dfn>は、前提と規則から結論を導く推論である。
図<xref ref="fig-logic-inference"/>の例では、「ソクラテスは人である」という前提と、「人は死ぬ」という規則が与えられたときに、「ソクラテスは死ぬ」という<em>結論が真だと推論</em>する。
Aristotleによる三段論法<xref ref="bib-aristotle-ana"/><xref ref="bib-aristotle-ana-j"/>は演繹の代表的な推論法で、「<m>A ⇒ B, B ⇒ C</m>」のとき「<m>A ⇒ C</m>」が成り立つという推論を行う。</p>
<p>演繹による推論では、前提と規則の命題が真なら、<strong>推論した結論が真であることが保証</strong>され、<em>高い厳密性</em>をもつ。
厳密性を重視する数学や論理学では、演繹以外の推論の使用は認められない。
一方、演繹では<strong>前提に含意される以上の結論を導くことはできない</strong>ため、<em>拡張性はない</em>。</p>
</subsection>
<subsection xml:id="ssec-logic-infer-induction">
<title>帰納</title>
<p><dfn en="induction" r="きのう" ruby="1">帰納</dfn>は、前提と結論から規則を導く推論である。
図<xref ref="fig-logic-inference"/>の例では、「ソクラテスは人である」「プラトンは人である」「ゼノンは人である」という前提と、「ソクラテスは死ぬ」「プラトンは死ぬ」「ゼノンは死ぬ」という結論が与えられたときに、「人は死ぬ」という<em>規則が真だと推論</em>する<xref ref="bib-aristotle-ana2"/><xref ref="bib-aristotle-ana-j2"/><xref ref="bib-bacon"/>。
<em>経験則</em>や<dfn en="heuristics">ヒューリスティクス</dfn>は、帰納による推論の例である。</p>
<p>帰納による推論では、前提と結論が真でも、<strong>推論した規則が真であることは保証されない</strong>ため、<em>厳密性は十分でない</em>。
この例の場合、例えば「エピクロス」という「死なない人」の例(<em>反例</em>)がある可能性は否定できない。
一方、帰納では前提に含まれる個々の事例を<em>一般化</em>でき、前提の内容以上の規則を得る可能性があるため、<em>一定の拡張性</em>をもつ。</p>
<p>数学や工学では、帰納による推論をそのまま使うことは認められないが、帰納に類似した数学的帰納法を使うことがある。
また、人力や機械で<em>起こりうる場合をすべて列挙</em>し、すべての場合について真であることを証明することがある。
例えばグラフ理論で、隣接する領域が異なる色になるよう塗り分けるのに必要な色数を示す「四色定理」の証明は難問とされていたが、コンピュータを使ってすべての場合について命題が正しいことが示された<xref ref="bib-appel-haken1"/><xref ref="bib-appel-haken2"/>。
これらの数学的帰納法や全数列挙はあくまで演繹による推論であり、帰納ではない。</p>
</subsection>
<subsection xml:id="ssec-logic-infer-abduction">
<title>アブダクション</title>
<p><dfn en="abduction">アブダクション</dfn>は、規則と結論から前提を導く推論である。
図<xref ref="fig-logic-inference"/>の例では、「ソクラテスは死ぬ」という結論と「人は死ぬ」という規則が与えられたときに、「ソクラテスは人である」という<em>前提が真だと推論</em>する。
アブダクションに類似する手法はAristotle<xref ref="bib-aristotle-ana2"/><xref ref="bib-aristotle-ana-j2"/>も言及しているが、近代的な提唱を行ったのは<ruby r="パース">Peirce</ruby>である<xref ref="bib-yonemori"/>。</p>
<p>アブダクションによる推論では、結論と規則が真でも、<strong>推論した前提が真であることは保証されない</strong>。
この例の場合、死んだ「ソクラテス」は人ではなく、ネコやイヌなどの人以外の動物である可能性もある。</p>
<p>アブダクションによる推論は<em>高い拡張性</em>をもつ一方、帰納よりも<em>厳密性に乏しく</em>、このままでは命題の正しさを示すのは難しい。
そこで、アブダクションで得られた命題を<em>仮説</em>として、演繹により仮説の正しさを示し、帰納により実例で仮説の正しさを裏付けることがよく行われる。
アブダクションが果たす仮説形成の役割は、Russellが<q>仮説を形成することが科学的な仕事のなかでもっとも難しいのであり、偉大な能力が不可欠となる</q><xref ref="bib-russell"/>というように、科学において極めて重要である。</p>
</subsection>
<note>
<title>証明の形式的定義</title>
<statement>
<p>命題の列<m>P_1, \cdots, P_n</m>について、任意の<m>i (1 \leq i \leq n)</m>について「<m>P_i</m>は公理である」または「<m>P_1, \cdots, P_{i-1} ⇒ P_i</m>が真である」を満たすとき、<m>P_1, \cdots, P_n</m>を<m>P_n</m>の<dfn en="proof" r="しょうめい">証明</dfn>と呼び、<m>P_n</m>を<dfn en="theorem" r="ていり">定理</dfn>と呼ぶ。</p>
<p>例えば、命題「2つの偶数の和は偶数」の証明をこの定義に従って行うと、次のようになる。
<ul>
<li><m>P_1</m>:「2つの偶数<m>x, y</m>は2つの整数<m>p, q</m>を使って<m>x = 2p, y = 2q</m>と表せる」</li>
<li><m>P_2</m>:「<m>x + y = 2p + 2q</m>」</li>
<li><m>P_3</m>:「<m>2p + 2q = 2(p + q)</m>」</li>
<li><m>P_4</m>:「<m>2(p + q)</m>は偶数」</li>
<li><m>P_5</m>:「2つの偶数の和は偶数」</li>
</ul></p>
<p>このとき、命題の列<m>P_1, \cdots, P_5</m>について、<m>P_1</m>は偶数の定義により真、<m>P_2</m>は<m>P_1</m>により真、<m>P_3</m>は加法・乗法の定義と分配法則により真、<m>P_4</m>は偶数の定義により真、<m>P_5</m>は<m>P_1, \cdots, P_4</m>により真となり、元の命題は真である。</p>
</statement>
</note>
</section>
<section xml:id="sec-logic-science">
<title>科学における推論</title>
<p>実際に命題<m>P</m>の正しさを示す場面では、次の方法も使われる。</p>
<ul>
<li><m>P</m>を述べた<em>文献</em>を引いて示す<br/>
過去の論文、書籍、記事などで、<m>P</m>を述べた部分を根拠として示す。
重要な根拠の場合には、<m>P</m>を述べた部分を<em>出典</em>として<em>引用</em>することもある。
これは演繹に類似した方法だが、出典自体の正しさに疑義がある場合、<m>P</m>の正しさを保証できない。</li>
<li><m>P</m>を<em>実験</em>や<em>調査</em>、<em>シミュレーション</em>、<em>統計</em>で示す<br/>
実験や調査を直接実施する他、模擬的に現象を再現するシミュレーションや、過去に収集された統計などの事例を元に<m>P</m>を示す。
物理学や生物学、心理学や社会学では、演繹では正しさを示せない場合が多いため、この方法を使うことが一般的である。
これは帰納に類似した方法であり、一般化により<m>P</m>の正しさを示そうとするため、厳密性は十分でない。</li>
<li><m>P</m>を<em>確率的</em>に示す<br/>
<m>P</m>が偽となる場合が実際には存在しても、その場合がごく稀にしか生じないことが明らかな場合は、<m>P</m>が正しいものとして扱うことができる。
例えば、高い偶発性をもつなど極めて特殊な条件下でしか反例が生じない場合は、そうした場合を検討する必要性や意義が小さい。
<m>P</m>の反例が生じる確率により厳密性が左右されるため、本当に反例が生じる確率が十分に小さいかを吟味する必要がある。</li>
<li><m>P</m>が真だと<em>仮定</em>する<br/>
理論を構築するにあたって必要な命題については、<dfn en="axiom" r="こうり">公理</dfn>や公準・原理・前提などと呼び、真だと仮定することがある。
これはあくまで「仮定」なので、その命題の正しさを示すわけではないが、正しさが十分に明らかだと考えられる場合には、この仮定を行うことができる。
数学や論理学など何らかの命題を仮定しないと理論を構築できない場合や、物理学や生物学で実際の観測を行えない場合に、はじめに仮定をおいて理論を構築する。</li>
<li><m>P</m>を別の命題<m>P'</m>に<em>変形</em>(<em>帰着</em>)して示す<br/>
より単純な別の命題に変形して解くことで、そのままでは複雑で扱いにくい命題<m>P</m>を示す。
文章で表された問題を数式に変形して解いたり、欲しい情報をキーワードに変形して検索エンジンに委ねたりした上で、得られた結果を解釈して元の問題の解とする。
変形した問題<m>P'</m>は、既に解が知られている問題であるか、時間的・経済的・人員的に解決できる問題である必要がある。</li>
<li><m>P</m>を複数の命題<m>P_1, P_2</m>に<em>問題分割</em>(還元)して示す<br/>
命題<m>P</m>を複数の命題の組み合わせに分割することで、問題を明確化し示しやすくする。
<m>P</m>を「<m>P_1</m>かつ<m>P_2</m>」の形に分割する場合と、「<m>P_1</m>または<m>P_2</m>」の形に分割する場合がありうる。
前者には、手順のように順序で分割できるものや、複数の命題を元に<m>P</m>を示すものなどがある。
後者には、場合分けのようにいずれかの場合が満たされればよいものなどがある。</li>
</ul>
<p>証明された命題の体系を<dfn en="theory" r="りろん">理論</dfn>や学問と呼び、その全体は<dfn en="science" r="かがく">科学</dfn>と呼ばれる。
その論理性と客観性により、科学は、一定の方法に従えば<em>誰もが</em>技能を身につけられる手順や、<em>誰もが</em>最適な判断を行うための知識を提供する。
科学を学び体系的な知識を得ることで、人間は試行錯誤や失敗の回数を最小限に抑えることができ、より高度で、より正しい行動を効率的に実行できるようになる。</p>
</section>
</chapter>