Weitere ähnliche Inhalte Ähnlich wie 何もないところから数を作る (20) Mehr von Taketo Sano (15) 何もないところから数を作る14. 1X
n=0
( 1)n
= 1 1 + 1 1 + 1 1 + 1 1 + ...
= (1 1) + (1 1) + (1 1) + (1 1) + ...
= 0
= 1 (1 1) (1 1) (1 1) (1 1)...
= 1
0 = 1
23. 実数の公理
1. 四則演算(+, , , )ができる。
2. 実数同士で大小( )が比較できる。
3. 実数全体はつながっている。
→ 実数とはこういうものだとして、さらに極限や連続なども粛々と定義
していけば、解析学は曖昧さや矛盾なく作り上げていくことができる。
37. 自然数の公理
1. 最初の数 0 N が存在する
2. 任意の a N にはその「次」 a+ が存在する
3. a+ = 0 なる a は存在しない(N は 0 から始まる)
4. a b ならば a+ b+ (a+ は単射)
5. N では数学的帰納法が成立する
以上を満たす集合 N を自然数系と呼ぶ
39. 復習:集合の合併
={A, B, C} {D, E} {A, B, C, D, E}
={A, B, C} {} {A, B, C}
40. • 0 = {}
• 1 = 0+ = 0 {0} = {0}
• 2 = 1+ = 1 {1} = {0} {1} = {0, 1}
• 3 = 2+ = 2 {2} = {0, 1} {2} = {0, 1, 2}
• ...
1. 0 = {} (空集合)
2. a+ = a {a}
41. • 0 = {}
• 1 = {0}
• 2 = {0, 1}
• 3 = {0, 1, 2}
• ...
1. 0 = {} (空集合)
2. a+ = a {a}
42. • 0 = {}
• 1 = {0} = { {} }
• 2 = {0, 1} = { {}, { {} } }
• 3 = {0, 1, 2} = { {}, { {} }, { {}, { {} } } }
• ...
1. 0 = {} (空集合)
2. a+ = a {a}
45. • 0 = 🐱
• 1 = {0} = { 🐱 }
• 2 = {0, 1} = { 🐱, { 🐱 } } 👈 さっきの写真
• 3 = {0, 1, 2} = { 🐱, { 🐱 }, { 🐱, { 🐱 } } }
• ...
1. 0 = 🐱 (空集合)
2. a+ = a {a}
簡単でしょう?
48. • 0 = {}
• 1 = {0}
• 2 = {0, 1}
• 3 = {0, 1, 2}
• …
集合として 0 1 2 3 … となっている。
を とすれば自然数系には順序が入る。
49. • a + 0 = a
• a + (b+) = (a + b)+
和 a + b の定義
50. • a + 0 = a
• a + (b+) = (a + b)+
和 a + b の定義
3 + 2 = (3 + 1)+
= ((3 + 0)+ )+
= (3+ )+
= 4+
= 5
51. • a 0 = 0
• a (b+) = (a b) + a
積 a b の定義
52. 3 × 2 = (3 × 1) + 3
= ((3 × 0) + 3) + 3
= (0 + 3) + 3
= 3 + 3
= 6
積 a b の定義
• a 0 = 0
• a (b+) = (a b) + a
56. struct N: Equatable, Printable {
private let val: [Any]
private init(_ val: [Any]) {
self.val = val
}
static var zero: N {
return N([])
}
}
postfix operator + {}
postfix func +(n: N) -> N {
return N(n.val + [n.val])
}
func +(n: N, m: N) -> N {
if(m.val.isEmpty) {
return n
} else {
return (n + m-)+
}
}
func *(n: N, m: N) -> N {
if(m.val.isEmpty) {
return N.zero
} else {
return (n * m-) + n
}
}
https://gist.github.com/taketo1024/d60e0b8ba479921f7b16
61. N-N
0 1 2 3 4 5 6 7-7 -6 -5 -4 -3 -2 -1
N を二つ 0 のところで貼り合わせて、
正負の場合に分けて演算を定義すればいいだけ。
63. 0 1 2 3 4 5 6 7
もっとカッコイイやり方:
7
6
5
4
3
2
1
64. 0 1 2 3 4 5 6 7
もっとカッコイイやり方:
7
6
5
4
3
2
1
x - y = 0
x - y = 1
x - y = 2
x - y = 3
x - y = 4
x - y = 5
x - y = 6
x - y = 7
65. 0 1 2 3 4 5 6 7
もっとカッコイイやり方:
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
x - y = -1-1-2-3-4-5-6-7
66. もっとカッコイイやり方:
0 1 2 3 4 5 6 7
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
-1-2-3-4-5-6-7
「直線上に並ぶ点たち」をまとめて一つの整数とすればいい。
👈 (n, 0) が n 0 に対応
(0, n) が n 0 に対応 👉
67. こうすることで演算が簡単に定まる:
例) 5 - 8 = (5, 0) + (0, 8)
= (5, 8)
= (0, 3)
= -3
例)3 (-2) = (3, 0) + (0, 2)
= (3 0 + 0 2, 3 2 + 0 0)
= (0, 6)
= -6
68. Z0 1 2 3 4 5 6 7-7 -6 -5 -4 -3 -2 -1
先ほどと同様、もうこの先は普通の真っ
直ぐな整数として扱っていい。
Z は +, , で閉じた「環」になる。
71. Z (分子)
1
Z (分母)
2
34 1/1 = 2/2 = 3/3 = 4/4 = …
2 = 2/1 = 4/2 = 6/3 = …
1/2
「 (0, 0) と (p, q) を結ぶ直線上の点をまとめたもの」が p/q
73. 演算は小学校で習った通りに定義する
例) 2/3 + 3/5 = (2, 3) + (3, 5)
= (10, 15) + (9, 15) 👈 通分
= (19, 15)
= 19/15
例)3/4 2/7 = (3, 4) (2, 7)
= (3 2, 4 7)
= (6, 28)
= (3, 14) 👈 約分
= 3/14
74. Q は +, , , で閉じた「体」になる。
限りなく密に分布しているが、まだ無理数の穴が空いている。
Q
79. ex
=
1X
n=0
xn
n!
= 1 + x +
x2
2
+
x3
6
+
x4
24
+ ...
e =
1X
n=0
1
n!
= 1 + 1 +
1
2
+
1
6
+
1
24
+ ...
ほぼチートだが、テイラー展開:
より、 x = 1 として、
👈 有理数の無限和
80. e =
1X
n=0
1
n!
= 1 + 1 +
1
2
+
1
6
+
1
24
+ ...
なので、有限部分和を取れば、
a0 = 1
a1 = 2
a2 = 2.5
a3 = 2.666...
a4 = 2.708...
...
81. a0 = 1
a1 = 2
a2 = 2.5
a3 = 2.666...
a4 = 2.708...
...
Q
e
0 1 2 3 4
この数列は Q の中で e に近づいていくので、
この数列のことを e ってことにすればいい。
92. ちなみに
R から 複素数 C を作るのは簡単。
R R に (0, 1) (0, 1) = (-1, 0) となる掛け算を入れるだけ。
R
iR C
z
w
zw
93. まとめ
φ < N < Z < Q <<< R
空集合から出発して、順に実数まで構成していくことができた!
しかし Q と R の間には、離散と連続の超えがたい壁があった。
94. まとめ
φ < N < Z < Q <<< R
空集合から出発して、順に実数まで構成していくことができた!
しかし Q と R の間には、離散と連続の超えがたい壁があった。
👆 これはどうやって作るの?