NO.1719 ブルバキ 集合論1 第1章 形式的な数学の記述のノート(2) 2008.4.21 DDT
§1.対象式と関係式
以下§3までは、「概要」でWell-Difined性の説明を十分に行ったと考え、特に詳しい説明は設けない。
つけたとしても、コメント程度である。
1.記号,記号列
数学的理論Tで用いる記号は、次の三種類である。
1゜論理記号: τ,ou,〜.
2゜文字 : これは原則として任意である.
3゜特殊記号: これは個々の理論によって、随時導入される.
Tにおける記号列とは、Tの記号を一列に並べて書いたものである。
定義とは、記号列の省略記法である。
2.構成手続き
あらゆる特殊記号は、重みと呼ばれる整数を持つ。
ある記号列がτで始まるか、一つの文字である場合、それを第一種と呼ぶ。
そうでない場合、第二種と呼ぶ。
Tにおける構成手続きとは、次の条件の一つを満たす記号列の列Aのことである。
a) Aは一つの文字である。
b) 記号列の列の中に、Aより前に、第二種の記号列Bがあり、Aは〜Bである.
c) 記号列の列の中に、Aより前に、第二種の記号列BとCがあり、AはBouCである.
d) 記号列の列の中に、Aより前に、第二種の記号列Bと文字xがあり、Aはτx(B)である.
e) Tにおける重みnの特殊記号sと、記号列の列の中にAより前にあるn個の第一種記号列
A1,A2,・・・,Anがあり、Aは、sA1A2・・・Anである.
Tの構成手続き中に現れる、第一種記号列をTの対象式,第二種記号列をTの関係式と呼ぶ。
a)より、全ての文字を理論において採用でき、それは対象を表しうる。
b)より、Aが関係式なら、〜Aも関係式である。
c)より、AとBが関係式なら、AouBも関係式である。
d)より、Aが関係式でxが文字なら、τx(A)は対象式である。
e)より、A1,A2,・・・,Anが対象式で、sが重みnの特殊記号なら、sA1A2・・・Anは関係式である。
b)とc)を使うことにより、AとBが関係式なら、〜AouBも関係式となる。
以後、この関係式を表す省略記法として、
A⇒B
を採用する。A⇒Bの意味については、後述する。
記号列Rに含まれる文字xを、全て同時に記号列Tに置き換えて得られる記号列の省略記法を、以後、
(T|x)R
で定義する。
§2.公理
「概要」で述べたようにここでの目的は、理論の公理を与えた後では、
それらに対して適用する機械的な計算規則(恒真関係を返す組み込み関数)を与えることである。
以下はその公理と計算規則の導入である(仕様定義といえる)。計算規則のことは、シェーマと呼ぶ。
1.公理
1゜理論Tの最初に現れる、一つ以上の関係式を、Tの明示公理と呼ぶ。
明示公理に現れる文字を、Tにおける定数という.
2゜Tのシェーマとは、次のような特性を持つ.
a) シェーマの一つSを適用して得られる結果は、Tの関係式である.
b) TがTの対象式、xを文字とする。RがシェーマSの適用によって得られるTの関係式ならば、
(T|x)RもSの適用により得られる。
Tのシェーマによって得られる全ての関係式を、Tの非明示公理と呼ぶ。
2.証明
理論の公理とシェーマが与えられれば、シェーマを公理に次々と適用することで、
さらには三段論法の適用により証明が実行され、定理が得られる(形式論理の出力仕様)。
それが証明である。ただし実際には、証明に必要な関係式や対象式を、
証明の前に構成しておくのが普通だ。そこで次のようになる。
理論Tにおける証明の全文とは、次のものからなる。
1゜必要な関係式や対象式に関する補助的な構成手続き.
2゜証明.すなわち、Rを関係式として、次のいずれかの条件を満たす記号列があること.
a) RはTの明示公理.
b) RはTのシェーマから得られる.
c) Rより前に、関係式SとS⇒Rがある.
理論Tにおける定理とは、Tの証明の中に現れる関係式のことである。
証明と定理の導入により、「定理を証明する」という行為に関する、
形式的で一般的な規則を与えることが可能になる。以下では、それらを推論法則と呼び、
Cnで番号付けして示す(Tipsまたはパターン)。
本章の目的は、この推論法則を、必要最小限の範囲で得ることである。
なお推論法則にも、いわゆる[証明]を付けるが、
この[証明]は、上で述べたような通常の数学的証明ではないことを注意する。
それは、具体的に書かれた有限個の記号からなる記号列の列から得られる推論結果を、総括して書いた、
省略記述と考えるのが正しい。
この[証明]は原則として、総括することにより、途中の経過を省略して書いたものとみなすことができる。
従って、全ての記号を省略しないで書き並べれば自明と考えられる。
それがこれらの[証明]の根拠である。その意味で、太字記号で[証明]と記して、
通常の数学的[証明]とは区別する。
C1(三段論法)
AとA⇒Bを理論Tの定理とする。BはTの定理。
[証明]
AとA⇒BがTの定理であれば、2゜a),b),c)のどれかを満たす証明P1とP2が存在し、
P1はAを、P2はA⇒Bを含む。従って、
P1,P2,B
をつくれば、これは2゜c) を満たす証明になる。よって、BはTの定理。[証明終]
3.理論における代入
一つの文字は対象を表すのだった。
従って理論全体において、そこで使用される文字xを全て同時に対象式Tで置き換えても、
理論の意味は変わらない。ただし、文字xが定数である場合とそうでない場合とでは、少し差がある。
「概要」でも述べたように、この項と次項とは、実用プログラムのレベルで言えば、
混成言語プログラムの方法と、Sub Routineの本質について述べたものに過ぎない。
Tを一つの理論とする。A1,A2,・・・,Anをその明示公理全体、
xを文字、TをTの対象式とする。記号およびシェーマはTと同じで、明示公理が、
(T|x)A1,(T|x)A2,・・・,(T|x)Anである理論を(T|x)Tで表す。
C2
Aを理論Tの定理、TをTの対象式、xを文字とする。(T|x)Aは(T|x)Tの定理。
[証明]
(1) AがTの明示公理であれば、(T|x)Aは(T|x)Tの明示公理で定理。
(2) AがTのシェーマによって得られる定理であれば、(T|x)Aは、同じTのシェーマによって得られる、
(T|x)Tの定理。
(3) TにおいてAより前に関係式BとB⇒Aがあるなら、(T|x)Tおいて、
(T|x)Bと(T|x)(B⇒A)、すなわち、(T|x)B⇒(T|x)Aをつくれる。従って、
(T|x)Aは(T|x)Tの定理。[証明終]
C3
Aを理論Tの定理、TをTの対象式、xをTの定数でない文字とする。(T|x)AはTの定理。
[証明]
C2の[証明](2)と(3)は、Tと(T|x)Tの違いに関わらない。従って(1)のみ考慮すれば良い。
その場合、xはTの定数でない文字なので、(T|x)AはAに一致し、Tの定理になる。[証明終]
4.理論の比較
理論Tのすべての記号が理論T'の記号であり、Tのすべての明示公理がT'の定理であり、
TのすべてのシェーマがT'のシェーマであるとき、T'はTより強いと言われる。
実用プログラムの世界では、このような概念はあまり使われない。しかし実用言語の言語開発の側面では、
これと良く似た概念がある。それが低級言語,高級言語である。
Macro AssemblerはAssemblerよりも高級で(強く)、
CはMacro Assemblerよりももっと高級(もっと強い)といった分類である。
C4
理論T'がTより強ければ、Tの全ての定理は、T'の定理である。
[証明]
(1) AがTの明示公理なら、それはT'の定理である。
(2) AがTのシェーマから得られる定理なら、T'の同じシェーマからAが得られ、それはT'の定理である。
(3) Tにおいて、Aより前に関係式BとB⇒Aがあるなら、T'においても関係式BとB⇒Aをつくれる。
従って、BをT'の定理にできる。[証明終]
二つの理論T'とTは、おのおのが他方より強いとき、同値であるという。
このとき、Tの定理はT'の定理であり、T'の定理はTの定理である。
実用Applicationに限れば、VBとVCは今やほぼ同値と言える。
したがって一方でやれる事は、もう一方でもほぼ必ずやれる。
C5
Tを理論、A1,A2,・・・,Anをその明示公理全体、a1,a2,・・・,akをその定数全体、
T1,T2,・・・,TkをTの対象式とする。
(T1|a1)(T2|a2)・・・(Tk|ak)Ai,i=1〜nが、理論T'の定理であり、
Tのすべての記号はT'の記号であり、TのすべてのシェーマはT'のシェーマとする。
AがTの定理なら、(T1|a1)(T2|a2)・・・(Tk|ak)AはT'の定理。
[証明]
明示公理(T1|a1)(T2|a2)・・・(Tk|ak)Aiを持つ理論を、(T1|a1)(T2|a2)・・・(Tk|ak)Tとする。
さらに、
(T1|a1)(T2|a2)・・・(Tk|ak)Tは、Tと同じ記号とシェーマを持つ。
T'はTと同じ記号とシェーマを持つから、それは(T1|a1)(T2|a2)・・・(Tk|ak)Tの記号とシェーマであり、
しかもTの明示公理Aiから得られる(T1|a1)(T2|a2)・・・(Tk|ak)Aiは、理論T'の定理である。
従って、T'は(T1|a1)(T2|a2)・・・(Tk|ak)Tより強い。
よってC4より、Tの定理(T1|a1)(T2|a2)・・・(Tk|ak)AはT'の定理。[証明終]
§3.論理的な理論
この節以降では、それぞれの個別理論に固有のシェーマ(計算規則または組み込み関数)を具体的に与え、
アルゴリズムに当たるその運用を展開して行く事になる。
しかしアルゴリズムを「書く」ためには、何らかの言語を一つ選択し、
その言語の語彙を用いてアルゴリズムを書く必要がある。
プログラミングの世界では、その行為をコーディングと言う。
もし、選択できる言語が存在しないなら、言語自体を[定義]しながらコーディングを進めるしかない。
§1.と2.で行った作業は、言語の語彙を[定義]した事にあたる。明らかに語彙も、形式的なものだった。
ただしここで使っている[定義]の意味は、§1.1で述べた「記号列の省略記法」という意味での定義よりも、
明らかに広くて非形式的なものである。例えば語彙の導入において、
結果として現れた語彙自体は形式的なものだったが、その導入に使われた言葉は、
非形式的な説明である。そのようなものを、ここでは、[定義]と書くことにした。
これは、あるものを説明する事とほぼ同義である。
いずれにしろここでの状況は、言語を作りつつ進む場合に当たる。
数学的記述の形式化は始めたばかりで、あらかじめ用意された、形式論理記述用言語があるわけではない。
以後の作業を進めるにあたっても、広い意味での形式的プログラミング言語の[定義]は、
引き続き必要になるが、形式的定義を行った際には、原則的にはいつでも、
Well-difined性の「証明」が必要である。
形式的定義は、既存の理論と矛盾しないことをチェックすべきだ。
形式的記号の導入は、意味に縛られずに自由に行えるからである。
しかし現段階において、形式化された既存の理論というのものは存在しない。
製作中だからだ。あるのは、ただ現実に行える事、行っている事の意味や判断だけである。
例えば、R(x)を文字xを含む関係式だとする。可能な全てのxに対してR(x)をテストし、
R(x)が全て真だった時には、その意味として、
(∀x)R
を用いるが、同時に、
〜(∃x)(〜R)
という判断を下す。そして、任意のxに対してR(x)が成り立つ事や、
任意のxに対して〜R(x)が成り立たない事などを確認していなくても、
(∀x)R ⇔ 〜(∃x)(〜R)
という論理的判断を恒真関係として受け入れ、これを形式的なアルゴリズムの一つとする。
同様に、A(x)を満たす全てのxに対してB(x)をテストし、B(x)が全て真ならば、その意味として、
A(x) ⇒ B(x)
を用いるが、任意のxでA(x)が必ず成り立つとは限らない。それでも、
A ⇒ B
という論理的判断を受け入れ、恒真関係として採用する。
何を言いたいかというと、論理アルゴリズムを書くための言語のWell-difined性の「証明」は、
現段階では現実に行える事、行っている事の意味や判断に基づくしかないという事である。
ところで、このWell-difined性の「証明」は明らかに、§1.2でいちおう形式的に[定義]した
証明]よりもさらに形式化されていない説明になるのは明らかだろう。
そのような意味で、以後の各節,各項には、必要に応じてWell-difined性の説明を設ける。
上の例でもう一つ言いたいのは、論理は現実に行っている事に対する、一種の省略記述だという事実である。
例えば、(∀x)Rが成り立つと仮定したならば、全てのxに対してR(x)をテストせずに、
〜(∃x)(〜R)は成り立つと判断する。これによって全てテストを省略できるので、
明らかに推論の効率は上がる。これが論理の実際的な価値である(省力化)。
だからこそ恒真関係のみを受け入れ、証明を要しない遍手続きを探す。
1.公理
以下のS1〜S4のシェーマが非明示公理を与える全ての理論Tを、論理的な理論と呼ぶ。
A,B,CはTの関係式とする。
S1 (AouA)⇒Aは、Tの公理.
S2 A⇒(AouB)は、Tの公理.
S3 (AouB)⇒(BouA)は、Tの公理.
S4 (A⇒B)⇒((CouA)⇒(CouB))は、Tの公理.
以下Tは、ある一つの論理的な理論を表すものとし、しばしば「Tの」という言い回しを省略する。
また、文脈上で自明ならば、関係式,対象式などの説明も省略する。
§2.2より、理論Tにおける証明の全文とは、次のようなものだった。
1゜必要な関係式や対象式に関する補助的な構成手続き.
2゜証明.すなわち、Rを関係式として、次のいずれかの条件を満たす記号列があること.
a) RはTの明示公理.
b) RはTのシェーマから得られる.
c) Rより前に、関係式SとS⇒Rがある.
ここまでで明らかなように、論理的な理論は明示公理を持っても持たなくても良い。
状況を簡単化するために、明示公理を持たない理論で考える。つまり上記a)の適用は、とりあえずない。
そうすると最初にあるのは、シェーマのみである。シェーマは公理を導く。
例えば、「S1 (AouA)⇒Aは、Tの公理」は、(AouA)⇒AがTの非明示公理である事を言っている。
よって上記b)より、(AouA)⇒Aは定理である。つまりシェーマは実質的に、理論Tの明示公理であり、
明らかな恒真関係である。
このような事情から、以後の説明では、S1〜S4を一種の明示公理とみなす。
つうじょうの手順では、理論Tの明示公理にシェーマを適用し、いくつかの補助的定理を導いた後に、
c)三段論法が登場し、関係式S⇒Rから、前提Sと結論Rを切り離し、結論Rを一人立ちさせる。
次の例にはほとんど利用価値がないが、説明のために導入する。
A ⇒ AouB,(A ⇒ AouB) ⇒ (CouA ⇒ CouAouB),CouA ⇒ CouAouB
(1) (2) (3)
(1):A ⇒ AouB は、S2より「明示公理」とみなせる。それにシェーマS4を適用し、
「定理」(2)を得る。定理(1),(2)に三段論法c)を適用し、
(3):CouA ⇒ CouAouB が「定理」である事がわかり、
以後の同様なタイプの推論では、「定理」CouA ⇒ CouAouB を、
自由にその前提として用いて良い事になる。典型的な理論は、このような推論の連鎖からなる。
この例からもわかるように、推論に現れる関係式は常に恒真関係である
。何故なら推論は、形式的普遍手続きでなければならないからだ。
特にふつうに言うところの理論の公理は、恒真関係である事を強制された関係式であると言える。
よって、このような理論構成で三段論法に現れる関係式は、つねに全て恒真関係である。
恒真関係とは、次のようなものだ。文字(対象)xを含んだ関係式A(x)の外延集合をaで表す。
xで表される対象全体の外延集合をXとする。Xには全ての物が含まれると、ここでは素朴に考える。
A(x)が恒真関係であるとは、a=Xである事だ。何故ならそうでないとすれば、
Aは特定のxでしか成り立たない事になり、任意のケースでは成り立たないからだ。
この事をここでは、普遍的に真という言葉で表す。特にAが文字xを含んでいないならば、
Aが任意の対象xに無関係という意味で(成り立つなら)、恒真関係とみなせる。
次に三段論法は、C1によれば、
AとA⇒Bを理論Tの定理とする.BはTの定理.
というものだった。
ここで少なくとも、A(x)とA(x)⇒B(x)は恒真関係でなければならない。
A(x)については、現実との比較テストが行われて普遍的に真である事が確認されたか、
公理としてそうである事が強制されたか、それともS1〜S4にように、
自明な恒真関係とみなせるかのどれかである。
しかしA(x)⇒B(x)については、たとえA(x)とB(x)が普遍的に真であっても、
どういう場合にA(x)⇒B(x)を恒真関係と認めるべきかはわかっていない。
つまり三段論法を認めるためには、A⇒BをWell-difinedする事が必要だ。
要するにここでは、§1.2で 〜AouB の事だと定義された、⇒ のWell-difined性を説明したいのである。
A(x)とB(x)の外延集合をa,bとしたとき、A(x)⇒B(x)が任意のxで成り立つためには、
a⊂bが必要なのは明らかである。たとえxが現実にはA(x)を満たさないとしても、
そう仮定した場合に(x∈aと仮定した場合に)つねに、A(x)⇒B(x)が成り立つために、
a⊂bは必要である。aやbの補集合をここでは、a'やb'で表す。そうすると、
a'∪b=X ⇔ a⊂b
であるのがわかる。a'∪b=Xとは、〜AouBが普遍的に真という事である。
逆に、〜AouBが普遍的に真であれば、上記関係が成り立つ事も言える。この事実をもって、
A⇒B を、〜AouB で定義する.
ことになる。
さらに、公理の完全性,無矛盾性,独立性の問題があるが、ここでは問わない。
ここで言う公理とは、実質的に論理的理論の明示公理とみなせるS1〜S4の事だが、
つうじょうの推論のタイプ(Tipsおよびパターン)は、S1〜S4を過不足なく用いる事によって、
いずれも導けるのだとだけ、ここでは言うに止める。
最後に、普遍的に真である事を以後、「命題理論の意味で定理」と言う事にする。
純粋な命題理論は、公理S1〜S4しか持っておらず、しかもこれらはシェーマであるから、§1.1.2゜より、
a) シェーマの一つSを適用して得られる結果は、Tの関係式である.
b) TがTの対象式、xを文字とする。RがシェーマSの適用によって得られるTの関係式ならば、
(T|x)RもSの適用により得られる。
という特性を持つものになる。従ってS1〜S4のみを明示公理とし、S1〜S4をシェーマとする命題理論の
定理は全て、この特性を持つ。命題理論の定理は常に普遍的に真なのだ。
その中には、たまたま文字xを含まないが故に普遍的に真になる関係式Aもあり得るが、
最初からAが文字xを含めない事と、これは本質的に違う。この違いは、
後述する「限定作用素を持つ理論」において、重要な違いをもたらす。
2.基本的結論
ここでは三段論法によって導かれる、典型的な推論パターンを[証明]し、以後の議論への準備とする。
C6
A⇒B,B⇒Cが定理なら、A⇒Cは定理。
[証明]
S4でCを〜Cに置き換えたものを考えれば、
(A⇒B)⇒((〜CouA)⇒(〜CouB))
となる。これは、
(A⇒B)⇒((C⇒A)⇒(C⇒B))
と同じ。従って、C⇒AとA⇒Bが定理なら、C⇒Bが定理になる。これは、A⇒B,B⇒Cが定理なら、
A⇒Cが定理になると同じこと。[証明終]
C7
B⇒(AouB)は定理。
[証明]
S2より、
B⇒(BouA)
であり、S3より、
(BouA)⇒(AouB)
である。従って、C6より、
B⇒(AouB)
は定理。[証明終]
C8
A⇒Aは定理。
[証明]
S2より、
A⇒(AouA)
であり、S1より、
(AouA)⇒A
である。従って、C6より、A⇒A は定理。[証明終]
C9
Bが定理なら、A⇒Bは定理。
[証明]
S7より、
B⇒(〜AouB)
である。これは、
B⇒(A⇒B)
と同じ。Bが定理だから、A⇒Bは定理。[証明終]
C9は一見利用価値がないように見えるが、意味はすぐわかる。
Bが正しいなら、どんな前提を立てても(前提とは無関係に)Bは正しいという当然の結果である。
しかも利用価値もある。
(まだ[証明]していないが)対偶をとると、〜B⇒〜Aとなる。
ここでAは任意であったから、〜Aも任意である。
Bは真だったから、〜Bは偽。従って、間違った前提からはどんな結論でも出せる事になる。
前提とは仮定だから、真であるBに対して〜Bを仮定した、
追加仮定を行った系では、Bと〜Bは両方とも真である。このような理論は矛盾していると言われ、
上で述べた事情から任意の関係式が真となる。この状況を上手く利用したのが、
後述する帰謬法(背理法)である。
間違った前提からはどんな結論でも出せる、の対偶を再び取ると、
特定の結論しか出せない時には(結論が前提に束縛される時には)前提は間違っていない
、という意味になる。この事は、理論の無矛盾性の証明に結びつきそうだが、
このノートの方針は数学基礎論と関わらないなので、これ以上深追いしない(自分には出来ないし)。
もっと現実的な見方も出来る。特定の結論しか出せない時には前提は間違っていない、
は論理的な理論の反証可能性を保証するように見える。C9はきっと、まともな理論が持たざる得ない、
まともさから来るお釣りのような性質だと思う。
C10
Aou(〜A)は定理。
[証明]
C8より、
A⇒A
は定理。これは
〜AouA
と同じ。S3より、
(〜AouA)⇒(Aou(〜A))
である。従って、
Aou(〜A)
は定理。[証明終]
C11
A⇒(〜〜A)は定理。
[証明]
C10より、〜Aou(〜〜A)は定理。これは、
A⇒(〜〜A)
と同じ。[証明終]
C12
(A⇒B)⇒((〜B)⇒(〜A))は定理。
[証明]
C11とS4とS3から、
B⇒(〜〜B)
(B⇒(〜〜B))⇒((〜AouB)⇒(〜Aou(〜〜B)))
(〜Aou(〜〜B))⇒(〜〜Bou(〜A))
である。従って、C6より、
(〜AouB)⇒(〜〜Bou(〜A))
が定理になる。これは、
(A⇒B)⇒((〜B)⇒(〜A))
と同じ。[証明終]
C13
A⇒Bが定理なら、(B⇒C)⇒(A⇒C)は定理。
[証明]
C12,S4,S3より、
(A⇒B)⇒((〜B)⇒(〜A))
((〜B)⇒(〜A))⇒((Cou(〜B))⇒(Cou(〜A)))
(〜BouC)⇒(Cou(〜B)
(Cou(〜A)⇒(〜AouC)
である。A⇒Bが定理だから、
(〜BouC)⇒(Cou(〜B)
((Cou(〜B))⇒(Cou(〜A)))
(Cou(〜A)⇒(〜AouC)
が得られる。従って、C6より、
(〜BouC)⇒(〜AouC)
が言える。これは、
(B⇒C)⇒(A⇒C)
と同じもの。[証明終]
以後、C6(とC1)は、引用することなく使用する。
3.証明の方法
2.で示された全ての推論法則を用いたとしても、実際には非常に遠回りで、
何度も同じ[証明]パターンを繰り返す必要に迫られる。
以下はさらなるショートカットの導入である。これらがないと実際上、
証明は不可能なくらい手がかかるものになる。以下に述べる「証明の方法」
は標準的なものである。いずれも最初の「補助仮定の方法」を基礎にしている。
3.1 補助仮定の方法
C14(演繹法則)
Aを理論Tの関係式、Tの公理にAを追加して得られる理論を、
T'とする。BがT'の定理なら、A⇒BはTの定理。
[証明]
まずBがT'の公理なら、それはTの明示公理であるか、Aそのものか、
シェーマの適用によって得られたものである。Tの明示公理ならばそれはTの定理だから、
C9よりA⇒Bが成り立つ。BがAなら、C8よりTでA⇒Aが成り立つ。
Bがシェーマの適用によって得られたものならば、それは定理だから、
やはりC9よりTでA⇒Bが成り立つ。残る場合は、BがT'における三段論法によって得られた場合である。
BがT'において、三段論法によって得られたとすれば、T'にBを含む証明Pnがあり、
Pnの中で、Bより前に関係式SとS⇒Bが存在する。SとS⇒Bは、証明Pnの中に現れる関係式だから、
T'の定理である。従ってそれらは、Tの明示公理であるか、Aであるか、
シェーマの適用によって得られたか、T'における三段論法で得られたものになる。
Tの明示公理,A,シェーマの適用の場合はいずれも、SとS⇒BはTの定理であり、
BもTの定理になる。よって、A⇒BはTの定理。
そこで、SとS⇒BがT'における三段論法で得られたものとする。ただし証明Pnは、
SとS⇒Bの証明を含まないとする。そうすると、証明Pnより前に、
SとS⇒Bを含む証明Pn-1が存在しなければならない。帰納的に遡ることによって、
あるm≦nが存在し、証明P1,P2,・・・,Pmに含まれる全ての定理は、Tの明示公理であるか、
シェーマの適用によって得られたか、Tのにおける三段論法によって得られた定理であるか、
Aということになる。Aである場合を除いて、それらの定理は全てTの定理である。
P1,P2,・・・,Pmの定理がAでないときは、それはTの定理であるから、
そこから三段論法の系列によって帰納的に得られたBは、Tの定理であり、A⇒Bが成り立つ。
そこでP1,P2,・・・,Pmの定理がAである場合を考える。
例えばAがP1に含まれ、SがP2に含まれ、S⇒B1がP3に含まれるとする。
ただし、1,2,3≦mである。このとき、A⇒SとA⇒(S⇒B1)は明らかにTの定理であり、
ここからA⇒B1がTの定理として得られると仮定する。帰納的に逆をたどれば、
A⇒SとA⇒(S⇒B)がTの定理であれば、A⇒BはTの定理である。これを示す。
以上の結論として以下では、定理と言えばTの定理になる。
C13より、
(A⇒S)⇒((S⇒B)⇒(A⇒B))
が成り立つ。A⇒Sは定理であるから、
(S⇒B)⇒(A⇒B)
は定理である。さらに、A⇒(S⇒B)も定理なのだから、
A⇒(A⇒B)
が定理である。これは、
〜Aou(A⇒B)
と同じものである。従って、
(〜Aou(A⇒B))⇒((A⇒B)ou(〜A))
より、
(A⇒B)ou(〜A)
は定理。
次にS2より、
〜A⇒(〜AouB)
は定理。これは、
〜A⇒(A⇒B)
と同じものである。これにS4を適用すれば、
(〜A⇒(A⇒B))⇒(((A⇒B)ou(〜A))⇒((A⇒B)ou(A⇒B)))
が得られる。従って、〜A⇒(A⇒B)が定理であるから、
((A⇒B)ou(〜A))⇒((A⇒B)ou(A⇒B))
も定理。また、(A⇒B)ou(〜A)も定理だから、
(A⇒B)ou(A⇒B)
が定理。最後にS1を適用すれば、
A⇒B
が、Tの定理になる。[証明終]
3.2 帰謬法
理論Tにおいて、関係式Aと〜Aが同時に定理となる場合、Tは矛盾していると言われる。
C15
Aを理論Tの関係式、Tの公理に〜Aを追加して得られる理論を、T'とする。T'が矛盾すれば、
AはTの定理。
[証明]
理論T'が矛盾すれば、T'の任意の関係式CはT'の定理であることを示す。
理論T'が矛盾するとは、〜BとBが、同時にT'の定理となることである。従って、S2より、
〜B⇒(〜BouC)
が成り立つ。〜BはT'の定理だから、
〜BouC
がT'の定理で、これは、
B⇒C
と同じ。ここでBもT'の定理だから、
C
がT'の定理になる。
従って、Aを理論Tの関係式として、
Tの公理に〜Aを追加して得られる理論T'が矛盾すれば、AはT'の定理である。
よって、Tにおいて、
〜A⇒A
が定理(補助仮定の方法)。これにS4を適用すれば、
(〜A⇒A)⇒((Aou(〜A))⇒(AouA))
が得られる。〜A⇒AはTの定理だから、
(Aou(〜A))⇒(AouA)
がTの定理。C10より、Aou(〜A)はTの定理で、
AouA
はTの定理である。これにS1を適用すれば、
(AouA)⇒A
なので、
A
がTの定理になる。[証明終]
帰謬法の応用として、次の2つの推論法則を示す。
C16
〜〜A⇒Aは定理。
[証明]
〜〜Aを追加した理論T'とする(補助仮定の追加)。
さらに〜Aを追加した理論をT"とする(帰謬法の仮定の追加)。
このときT"において、〜Aと〜〜Aは定理となるから矛盾。従ってT'でAは定理で、
〜〜A⇒A
は、最初の理論の定理。[証明終]
17
((〜B)⇒(〜A))⇒(A⇒B)は定理。
[証明]
(〜B)⇒(〜A)を追加した理論をT',さらにAを追加した理論をT",
その上で〜Bを追加した理論をT'''とする。
T'''において、(〜B)⇒(〜A)は定理だから、〜Bが定理なら〜Aが定理になる。
ところがAもT'''の定理なので、これは矛盾。従って、
B
はT"の定理で、
A⇒B
はT'の定理になる。よって、
((〜B)⇒(〜A))⇒(A⇒B)
は、最初の理論の定理である。[証明終]
3.3 場合分けの方法
C18
A,B,Cを理論Tの関係式とする。AouB,A⇒C,B⇒CがTの定理なら、CはTの定理。
[証明]
S4,S3およびS1より、以下が得られる。
(B⇒C)⇒((AouB)⇒(AouC))
(AouC)⇒(CouA)
(A⇒C)⇒((CouA)⇒(CouC))
(CouC)⇒C
ここで、A⇒C,B⇒CがTの定理だから、
(AouB)⇒(AouC)
(AouC)⇒(CouA)
(CouA)⇒(CouC)
(CouC)⇒C
は、いずれもTの定理になる。AouBもTの定理だから、
AouC
(AouC)⇒(CouA)
(CouA)⇒(CouC)
(CouC)⇒C
が得られる。三段論法を繰り返し適用すれば、CはTの定理。[証明終]
3.4 補助定数の方法
C19
xを文字、AおよびBを理論Tの関係式、T'をある理論とし、以下の条件を満たすとする。
1゜xはTの定数でなく、Bはxを含まない.
2゜(T|x)AがTの定理となる、Tの対象式Tがある.
3゜理論T'は、Tの公理にAを追加して得られる.
このとき、BがT'の定理なら、BはTの定理。
[証明]
補助仮定の方法より、A⇒BはTの定理。このときxはTの定数でないので、
C3より、(T|x)(A⇒B)もTの定理になる。Bは文字を含まないなので、
これは(T|x)A⇒Bと同じで、しかも、(T|x)AがTの定理となる、Tの対象式Tがある。
従って、BはTの定理である。
[証明終]
この段階まで来ると、推論はかなり自由に行えるようになる。まず良く使われる関係式 、
・ A⇒〜〜A と 〜〜A⇒A(二重否定律,排中律)
・ (A⇒B)⇒(〜B⇒〜A) と (〜B⇒〜A)⇒(A⇒B)(対偶)
は[証明]され、推論のアウトラインを定める、
・ 補助仮定の方法
・ 帰謬法(背理法)
が導入された。また、
・ 補助定数の方法
により、ある性質を持つ対象を適宜導入する事も可能だ
(補助仮定の方法と組み合わせると、これはSub RoutineのLocal変数になる)。最後に、
・ 場合分けの方法
は、基本的な論理演算AouBを、個々の要素関係式A,Bに分解して考えても良い事を許す。
これに二重否定律を加えると、AやBが否定〜を伴っていても、同様に分解できる事がわかる。
任意の関係式は、〜とouで連結された関係式で出来ているから、
それらを要素関係式に分解し、他の推論法則も利用して、
目的に沿って組み立て直す事が出来るようになる。特にS2からは、
A,B ⇒ AouB という関係式は常に正しい。
次項では、もう一つの基本論理演算AetB(A AND B)を定義する。
従って次項では、AetBの定義の他に、
・ AetBをA,Bに分解する方法、およびその逆
・ 分解のための、〜,ou,etに関する分配則
が必要になる。AetBは意味から言って、〜とouから定義できるのは明らかだろう。
4.論理積
AetBを、〜((〜A)ou(〜B))で定義する。
C20
A,Bを定理とする。AetBは定理。
[証明]
〜(AetB)を仮定する。これは〜〜((〜A)ou(〜B))のことで、C16より、
〜〜((〜A)ou(〜B))⇒((〜A)ou(〜B))
が成り立つ。従って、
(〜A)ou(〜B)
は定理だが、これは、
A⇒(〜B)
と同じ。Aが定理なので、〜Bが定理。
ところがBも定理だから、これは矛盾。
よって、A,Bを定理なら、AetBは定理でなければならない。[証明終]
C21
(AetB)⇒Aと(AetB)⇒Bは定理。
[証明]
〜A⇒((〜A)ou(〜B))
は定理。C12より、
(〜A⇒((〜A)ou(〜B)))⇒(〜((〜A)ou(〜B))⇒(〜〜A))
も定理で、C16より、
〜((〜A)ou(〜B))⇒(〜〜A),〜〜A⇒A
が定理になるが、これは、
AetB⇒(〜〜A),〜〜A⇒A
と同じ。従って、
AetB⇒A
が定理になる。同様に、
〜B⇒((〜B)ou(〜A)),((〜B)ou(〜A))⇒((〜A)ou(〜B))
〜B⇒((〜A)ou(〜B)),(〜B⇒((〜A)ou(〜B)))⇒(〜((〜A)ou(〜B)))⇒(〜〜B))
〜((〜A)ou(〜B))⇒(〜〜B),〜〜B⇒B
〜((〜A)ou(〜B))⇒B
が得られるが、最後の式は、
AetB⇒B
と同じである。ただし、上の は三段論法の仮定を、下の は三段論法の結論を表す。
[証明終]
5.同値
A⇔Bを、(A⇒B)et(B⇒A)で定義する。
C22
A⇔Bが定理なら、B⇔Aは定理。A⇔BとB⇔Cが定理なら、A⇔Cは定理。
[証明]
A⇔Bは、(A⇒B)et(B⇒A)と同じである。従ってC21より、
((A⇒B)et(B⇒A))⇒(B⇒A)
((A⇒B)et(B⇒A))⇒(A⇒B)
は定理。A⇔B、すなわち(A⇒B)et(B⇒A)が定理だから、
B⇒A,A⇒B
は定理。よってC20より、
(B⇒A)et(A⇒B)
は定理。これは、
B⇔A
と同じ。
次にA⇔BとB⇔Cが定理なら、C21より、
A⇒B,B⇒C
は定理なので、
A⇒C
は定理。同様に、
C⇒B,B⇒A
が定理で、
C⇒A
も定理。C20より、
(A⇒C)et(C⇒A)
が定理になる。これは、
A⇔C
と同じ。[証明終]
以下のC23〜C25は、[証明]を省略している。これらについては、
今まで得られた結果を「証明の方法」も含めて全面的に活用すれば、いずれも導ける。
C23
A⇔Bが定理とする。以下は定理。
(〜A)⇔(〜B)
(A⇒C)⇔(B⇒C),(C⇒A)⇔(C⇒B)
(AetC)⇔(BetC),(AouC)⇔(BouC)
[証明]
C1〜C22を使用すれば、示せる。詳細は、Appendixに譲る。[証明終]
C24
次は定理。
〜〜A⇔A,(A⇒B)⇔((〜B)⇒(〜A))
AetA⇔A,AetB⇔BetA
(Aet(BetC))⇔((AetB)etC)
(AouB)⇔〜((〜A)et(〜B))
(AouA)⇔A,(AouB)⇔(BouA)
(Aou(BouC))⇔((AouB)ouC)
(Aet(BouC))⇔((AetB)ou(AetC))
(Aou(BetC))⇔((AouB)et(AouC))
(Aet(〜B))⇔(〜(A⇒B)),(AouB)⇔((〜A)⇒B)
[証明]
C1〜C23を使用すれば、示せる。詳細は、Appendixに譲る。[証明終]
C25
Aを定理とすれば、以下は定理。
(AetB)⇔B
〜Aを定理とすれば、以下は定理。
(AouB)⇔B
[証明]
C1〜C24を使用すれば、示せる。詳細は、Appendixに譲る。
[証明終]
A⇒Aは定理である。従ってC20より、
(A⇒A)et(A⇒A)は定理。これは、A⇔Aと同じである。すなわち、A⇔Aは定理である。
ここで、記号列Aが定義により、記号列Bで表せるとする。
定義とは省略記法のことであるから、A⇔Bは定理A⇔Aを、省略記法を用いて表したものとみなせる。
このことからA⇔Bも、便宜上定理とみなす。この方針に従えば、例えば、
(〜AouB)⇔(A⇒B)
(T|x)(〜A)⇔(〜(T|x)A)
などは定理である。そこでC24とetの定義により、
〜(AouB)⇔((〜A)et(〜B))
(AetB)⇔((〜A)ou(〜B))
は定理であるから、ouとetは否定によって互いに移る事ができる。
すなわちAetBについての関係式を得たあとに、A,Bを〜A,〜Bに置き換えて対偶をとれば、
対応するAouBについての関係式が得られる。一方についての関係式があるなら、
他方についても同様であり、両者の全体は全く同等である。