動画『1+1の証明』
前提知識
∈などの記号(oparatorにあたる部分)はいわゆるプログラミングにおけるFunctionである。
1∈2はJavaScriptあたりに書きなおすのであれば
code:javascript
function ∈(a, b) {
// 命題の定義
}
と定義され
code:javascript
∈(1, 2);
と使用されているだけに過ぎない。
1+1を実装するのであれば
code:javascript
function add(a, b) {
return a + b;
}
add(1, 2);
上記のような実装になると言える。
1 + 1 = 2をさらに深く掘り下げるにあたり、記号として、1 2 + =が存在している
しかしながら+が関数であるなら1や2はどう定義されているのか、どういう規則の元成り立っているのか...
そういった細かい部分に触れていく。
ペアノの公理(数字という性質の解説)
性質を提唱(後日Wiki)
interface
自然数は以下の性質を持つ集合である。
0は自然数である
すべての自然数は「次の数」を持つ
異なる自然数は同じ 「次の数」を持たない
0はいかなる自然数の「次の数」でもない
ある集合が、0を含み、かつ「ある数を含むならば、その「次の数」も含む」性質を持っている時、その集合は自然数全体を含む
「ある集合が、0を含み」かつ「「次の数」も含む」
「その集合は自然数全体を含む」
0を含まない別の鎖を許容しない
1+1=2とはなにか
「1」とは
「0」の次の数である
「2」とは
「1」の次の数である
「+」とは
+の左側の数を「次の数」に、+の右側の数を「前の数に」変化させる。
右側の数が「0」になるまで行い、右側の数が「0」になった時点で左側の数を結果として返す演算
TypeScript実装サンプル
code:typescript
// numberの概念定義
interface Number {
isZero: () => boolean;
next: () => Number;
prev: () => Number;
}
const add = (a, b) => {
if (b.isZero()) return a;
a = a.next();
b = b.prev();
add(a, b);
};
「=」とは
まだわからない・・・。
自己言及のパラドックス
張り紙禁止という張り紙
地方公務員法、第四条のパラドックス
この法律は規定は、一般職に属するすべての地方公務員(以下「職員」という。)に適用する。
この法律の規定は、法律に特別の定がある場合をのぞく外、特別職に所属する地方公務員には適用しない
code:other
嘘つきのパラドックス・ベリーのパラドックス・ぐれリンクのパラドックス・ラッセルのパラドックスなどなど。
ラッセルのパラドックス
結論
R = { x | ¬ ( x ∈ x ) }
上記の矛盾を経て、「 #外延 こそが集合の本質である」という基本ルールが誕生する。 後に、0ベースで数学を再定義しなおす #公理的集合論 という分野が誕生。 過程
とするとき、R∈Rであるか?
「自分自身を含まない集合」全ての要素とする集合をRとおく。このとき、R自身はRに含まれるか?
「すべての集合の集合」
あらゆる「集合」を要素として含む集合
「すべての集合の集合」の要素には、「すべての集合の集合」自身が含まれている
R = { x | ¬ ( x ∈ x ) }
全ての集合のうち、「自分自身を含まない集合」をすべて集めた集合
RはRに含まれるか?
ゼロの定理
∋ x ∀ y ( ¬ ( y ∈ x ) )
任意の二つの集合を要素とする集合を作ってもよい
0 = {}
1以降の定義
1 = {0} = {{}}
つまり再帰的に
2 = {1} = {{0}} = {{{}}}
となる。
code:typescript
cosnt 0 = {}; // -> { }
const 1 = {0}; // -> {{}}
const 2 = {0, 1}; // -> {{}, {{}}}
const 3 = {0, 1, 2};
const 4 = {0, 1, 2, 3};
nの次の数 = n∪{n}
無限とは
無限にも大小がありそれを濃度と呼ぶ、大きいものを「濃い」という
※自然数は対応付けができてしまうため、自然数の無限においては、濃度は一定である。
対応サンプル
code:txt
A = { 0, 1, 2, 3, ....}
B = {... -3, -2, -1, 0, 1, 2, 3 }
n = n + 1 ) / 2(-1)^n