以下では,質問をしている方には,ひょっとすると難しすぎるかもしれない,本物の説明を分かりやすく書いています.嘘や方便や譬え話は,数学では真実で駆逐される (べき) だと思うからです.自分自身の昔を思い出すと,簡単なことと思われていることが納得できなくて苦しい思いをしたのは,誰も本質的な本物の説明をしてくれなかったからだったので,その恨みをこういう機会に晴らしたい,と思っているから,ともいえますが,同じように,フラストレーションをためている人もいると思うので,その人たちには救いになるような答になっているはずのものです.質問されたのが,まさにそういう方なら,この答えは best answer になっているはずです.
自然数の全体を ℕ で表すことにします.ℕ = {1,2,3,… } です.自然数の全体に 0 も含める,という流儀もあるのですが,質問をした方は,この,より自然な定義を,知らないかもしれないので,ここでは, ℕ の要素は 1 から始まるものとしています.
𝑛 ∈ ℕ に対して,2 の 𝑛 乗を対応させる関数を考えて,これを,[math]f_ℕ[/math] と名づけることにします.
[math]f_ℕ : ℕ \rightarrow ℝ[/math] ; [math]n\mapsto 2^n=\overbrace{2\times\,\cdots\,\times 2}^{n\ 個}[/math]
です.関数の行き先 (値域) は ℕ でもいいのですが,後の都合から,余裕をとって,実数の全体 ℝ にしてあります.この関数 [math] f_ℕ [/math] の性質のうちには,次の二つのものがあります:
[math](a_ℕ)[/math] [math]f_ℕ (1) =2[/math];
[math](b_ℕ)[/math] すべての [math]m, n\in ℕ[/math] に対し,[math]f_ℕ (m+n)=f_ℕ(m) \cdot f_ℕ(n)[/math]
[math]f_ℕ[/math] が,この二つの性質を満たすことは簡単に確かめられると思います ([math](b_ℕ)[/math] は,記法の翻訳をして [math]2^{m+n}=2^m\cdot 2^n [/math]と書き直すと,見たことのある式になると思います).実は,[math]f_ℕ[/math] は,この二つの性質を持つ唯一の ℕ から ℝ への関数,として特徴づけることができます:
補題 1. [math]f_ℕ[/math] は, [math](a_ℕ)[/math] と [math](b_ℕ)[/math] によって一意に決まる.
証明.[math]f: ℕ \rightarrow ℝ[/math] を
[math](a)[/math] [math]f(1) =2[/math];
[math](b)[/math] すべての [math]m, n\in ℕ[/math] に対し,[math]f (m+n)=f(m) \cdot f(n)[/math]
を満たすものとしたとき,[math]f(n)=f_ℕ(n)[/math] がすべての[math] n\in ℕ [/math]で成り立つことが示せればよい.これは,
[math]f(1) = 2 =f_ℕ (1)[/math] ([math](a)[/math] による) ,[math](b)[/math] により,[math]f(2) = f(1+1)= f(1)\cdot f(1) =2\cdot 2=f_ℕ(2)[/math], [math]f(3)=f(2+1)=f(2)\cdot f(1) = 2\cdot 2\cdot 2\cdot=f_ℕ(3)[/math], etc. によりよい.□
ただし,上の “証明” で “etc.” と書いたところは,厳密には,帰納法による証明で精密化する必要があります.
ここで,この f_ℕ を,[math](a_ℕ)[/math] と [math](b_ℕ)[/math] に対応する性質を満たす [math]ℤ = \{ …,-2,-1,0,1,2,… \}[/math] から ℝ への関数に拡張できないだろうか,と考えてみます.すると,通常の[math] k\mapsto2^k[/math] , [math]k\in ℤ[/math] が,そのようなものになっていることが分かります.つまり,[math]f_ℤ : ℤ \rightarrow ℝ[/math] を,[math]k\in ℤ[/math] に対し
[math]f_ℤ(k) =\left\{\begin{array}{ll}2^k, &\mbox{if }k\in ℕ\\1, &\mbox{if }k=0\\ \frac{1}{2^{-k}}, &\mbox{if }k<0\end{array}\right.[/math]
とすると,[math]f_ℤ[/math] は,
[math](a_ℤ)[/math] [math]f_ℤ(1) =2[/math];
[math](b_ℤ)[/math] すべての [math]k,\ell \in ℤ [/math] に対し,[math]f_ℤ(k+\ell)=f_ℤ(k) \cdot f_ℤ(\ell)[/math]
を満たすことが,特に [math](b_ℤ)[/math] については場合わけで証明をすることで,示せます.[math]f_ℤ[/math] の定義で,[math]k=0[/math] の場合のところが,[math]2^0=1[/math] に対応するものになっています.
ここでの [math]f_ℤ[/math] の定義は,一見恣意的にも思えますが,この場合にも,[math](a_ℤ) [/math]と [math](b_ℤ)[/math] は [math]f_ℤ[/math] の特徴づけになっていることが,示せるので,[math]2^0:=1[/math] や [math]2^{-k}:=\frac{1}{2^k}[/math] は,2の冪乗関数が ,[math](a_ℤ) [/math]と [math](b_ℤ)[/math] を満たす,という要請の必然的な帰結になっていることが,わかります.
————————————————-
f_ℤ を,上と同じような意味で自然に有理数の全体 ℚ 上の関数に拡張することもできて,これをやると,高校くらいで習うことになる肩に有理数の乗るような指数関数が導入されることになります.
実は,問題はここからです.ℚ から ℝ への関数で,(a) と (b) に対応する性質を満たすものは,一意に存在して,それがちょうど高校で習うような指数関数になっていることが言えるのですが,この関数を 今度は,ℝ から ℝ への関数に拡張しようとすると,選択公理と呼ばれる数学の公理を仮定しているときには,一意性を言うために,この拡張された関数が連続である,という条件が (a) と (b) に対応する性質に加えて必要になるからです.選択公理は,現代数学では常に仮定されるもの,と言っていいものなのですが,それが構成的な原理でないことから,問題視されることも少なくありません.一方,選択公理の alternative と見做されることの多い,決定性の公理と呼ばれる公理を選択公理の代わりに仮定することにすると,この ℝ 上の指数関数が,関数の連続性の仮定なしで,(a) と (b) に対応する性質で一意に決定できることが証明できます (この証明はかなり難しいものです).これについては,どこか別の場所でもう少し詳しく書いて見たいと思っています.—- と書いていたのですが,その後,昔書いた解説論文に,ここで言ったことの議論の細部を書き加えたものをこの論文の拡張版として upload しました:
[1] 渕野 昌,加法的関数の連続性について, 中部大学工学部紀要,Vol.37, (2001), 55--64.
[2] ———-, [1] の拡張版 (2023).