0 の 0 乗

25 乗の値は 32 である。

25 = 2 × 2 × 2 × 2 × 2 = 32

では、00 乗の値は?

00 = ?

この問題について、当サイト管理人の見解を述べる。

目次

要旨 (TL;DR)

00 の値は以下の通りとするのが妥当であろう。

以降、このように 00 の値を定めるべき理由を説明する。

冪乗としての「0 の 0 乗」

冪乗とは、同じ値を繰り返し掛けた積である。
例えば冒頭に挙げた「25 乗」というのは「25 個掛けた積」を指す。

25 = 2 × 2 × 2 × 2 × 2 = 32

この考えに則ると、「00 乗」というのは「00 個掛けた積」ということになる。
では、「0 個の積」とは何だろうか?

本節では、一般に「0 個の値に対する演算」がどのように定義されるかについて述べる。

0 個の値の和(空和)

手始めに、まずは「0 個の値の和」の話をする。

6 個の値 2, 9, 2, 6, 4, 5 の和」は幾つだろうか?
これは勿論 28 である。

2 + 9 + 2 + 6 + 4 + 5 = 28

では、「3 個の値 2, 9, 2 の和」と「3 個の値 6, 4, 5 の和」の和は幾つだろうか?
これも勿論 28 である。

(2 + 9 + 2) + (6 + 4 + 5) = 13 + 15 = 28

では、「4 個の値 2, 9, 2, 6 の和」と「2 個の値 4, 5 の和」の和は幾つだろうか?
これも勿論 28 である。

(2 + 9 + 2 + 6) + (4 + 5) = 19 + 9 = 28

では、「5 個の値 2, 9, 2, 6, 4 の和」と「1 個の値 5 の和」の和は幾つだろうか?
これも勿論 28 である。

(2 + 9 + 2 + 6 + 4) + (5) = 23 + 5 = 28

このように、6 個の値の和を求めるに当たっては、これを「3 個と 3 個」だったり「4 個と 2 個」だったり「5 個と 1 個」だったりと、部分の和に分解して計算しても結果は変わらない。

和 2 + 9 + 2 + 6 + 4 + 5 を部分の和に分解した図

では、「6 個と 0 個」に分解した場合(下図)はどうだろうか?

和 2 + 9 + 2 + 6 + 4 + 5 を部分の和に分解した図

この場合も同じく全体の和は 28 になってほしい。
ということは、上図において ? で表した「0 個の値の和」は 0 でないとおかしい。

(2 + 9 + 2 + 6 + 4 + 5) + ? = 28 + ? = 28
∴ ? = 0

以上より、「0 個の値の和」(空和と言う)の値は 0 とするのが自然である。

0 個の値の積(空積)

0 個の値の和」が 0 であることは直観に合致するだろう。
これと同じ流れで「0 個の値の積」についても考えてみる。

6 個の値 2, 9, 2, 6, 4, 5 の積」は幾つだろうか?
これは勿論 4320 である。

2 × 9 × 2 × 6 × 4 × 5 = 4320

では、「3 個の値 2, 9, 2 の積」と「3 個の値 6, 4, 5 の積」の積は幾つだろうか?
これも勿論 4320 である。

(2 × 9 × 2) × (6 × 4 × 5) = 36 × 120 = 4320

では、「4 個の値 2, 9, 2, 6 の積」と「2 個の値 4, 5 の積」の積は幾つだろうか?
これも勿論 4320 である。

(2 × 9 × 2 × 6) × (4 × 5) = 216 × 20 = 4320

では、「5 個の値 2, 9, 2, 6, 4 の積」と「1 個の値 5 の積」の積は幾つだろうか?
これも勿論 4320 である。

(2 × 9 × 2 × 6 × 4) × (5) = 864 × 5 = 4320

このように、6 個の値の積を求めるに当たっては、これを「3 個と 3 個」だったり「4 個と 2 個」だったり「5 個と 1 個」だったりと、部分の積に分解して計算しても結果は変わらない。

積 2 × 9 × 2 × 6 × 4 × 5 を部分の積に分解した図

では、「6 個と 0 個」に分解した場合(下図)はどうだろうか?

積 2 × 9 × 2 × 6 × 4 × 5 を部分の積に分解した図

この場合も同じく全体の積は 4320 になってほしい。
ということは、上図において ? で表した「0 個の値の積」は 1 でないとおかしい。

(2 × 9 × 2 × 6 × 4 × 5) × ? = 4320 × ? = 4320
∴ ? = 1

以上より、「0 個の値の積」(空積と言う)の値は 1 とするのが自然である。

0 個の値に対する演算と単位元

同じことを別の演算についてもやってみる。

例えば、正整数の最小公倍数について同じことをすると、「0 個の値の最小公倍数」の値は 1 となる。

最小公倍数 lcm{2, 9, 2, 6, 4, 5} を部分の最小公倍数に分解した図

また、正整数の最大値について同じことをすると、「0 個の正整数の最大値」の値も 1 となる。
(これは正整数の範囲で考えているからである。一般には、「0 個の値の最大値」は、考えている全体集合における最小値とすることになる)

最大値 max{2, 9, 2, 6, 4, 5} を部分の最大値に分解した図

こうして「0 個の値に対する演算の結果」として現れる値は、いずれも「どのような値と演算しても、相手の値を保つ」という性質を持っている。
このような値を単位元と呼ぶ。

二項演算 の定義された系において、以下を満たす値 I  が存在するとき、この I  を演算 単位元と呼ぶ。
任意の値 A に対し IA = AI = A

数の演算に限らず、一般に「0 個の値に演算を適用したもの」の値はその演算の単位元とするのが自然である。[注1]

冪乗としての「0 の 0 乗」

さて、ここで「00 乗」の話に戻る。

本節冒頭で述べた通り、「00 乗」とは「00 個掛けた積」であった。
これはすなわち空積積の単位元に等しい)に他ならない。
従って、00 乗の値は 1 であるということになる。

00 = 1

指数関数における「00 乗」

前節では、同じ値を繰り返し掛けた積としての冪乗について述べた。
すなわち、「xy 乗」とは「xy 個掛けた積」であるという前提の下、y = 0, 1, 2, … の場合について考えた。

ある程度条件を絞れば、0, 1, 2, … 以外の y に対しても「xy 乗」の値を定めることができる。
本節では、こうした拡張によって得られる指数関数における「00 乗」について扱う。

指数法則による指数の拡張

以降暫くの間、x の値が正の実数である場合に絞って考える。

指数 y の範囲を拡張するに当たって肝となるのが、指数法則と呼ばれる以下2つの関係式である。

xm + n = xm × xn  xmn = (xm)n

指数法則が成り立つように拡張すると、指数 y が分数 mn や負数 n の場合についても xy の値を定めることができる。

xm/n = nxmm 乗の n 乗根)[注2][注3]
xn = 1xnn 乗の逆数)

斯くして指数 y が一般の有理数の場合について xy が定義できた。

連続性による指数の拡張(実指数関数)

指数 y が有理数である場合について xy が定義できたことで、例えば 23.1423.1415 といった値が定まるようになった。
では、2π (= 23.141592…) はどうだろうか?

指数 π は無理数であるから、上述の拡張では 2π の値は定まらない。
このような場合、π に収束する適当な有理数列 3, 3.1, 3.14, 3.141, 3.1415, … を取り、これによって定まる数列 23, 23.1, 23.14, 23.141, 23.1415, … の極限を取ることで 2π の値を定めることができる。[注4]

23=8
23.1=8.574187…
23.14=8.815240…
23.141=8.821353…
23.1415=8.824411…
2π=8.824977…

このようにすることで、指数 y が一般の実数の場合についても xy の値を定義することができる。

x の値を固定して指数 y に対する xy の値をグラフにプロットすると、以下のように滑らかな曲線が描ける。
これを y の関数と見做したものを、(x を底とする)実指数関数と呼ぶ。

実指数関数 x^y のグラフ (0 < x < 1 の場合)
0 < x < 1 の場合)
実指数関数 1^y のグラフ
x = 1 の場合)
実指数関数 x^y のグラフ (x > 1 の場合)
x > 1 の場合)

勿論、指数 y の値を固定して底 x に対する xy の値をグラフにプロットした場合も、以下のように滑らかな曲線が描ける。
こちらは(y を指数とする)実冪関数と呼ばれる。

実冪関数 x^y のグラフ (y < 0 の場合)
y < 0 の場合)
実冪関数 x^0 のグラフ
y = 0 の場合)
実冪関数 x^y のグラフ (0 < y < 1 の場合)
0 < y < 1 の場合)
実冪関数 x^1 のグラフ
y = 1 の場合)
実冪関数 x^y のグラフ (y > 1 の場合)
y > 1 の場合)

実指数関数における「00 乗」

さて、ここまではx の値が正の実数である場合に絞って考えてきた。
ここで、本稿の主題である「00 乗」の値を求めるべく、x = 0 とした場合をも含めて xy の振る舞いを考えてみる。

まず、指数 y の値を y = 0 に固定して底 x の値を 0 に近づけてみる。
すると、xy の値は以下の通り 1 に近づいていく。

0.30=1
0.20=1
0.10=1
0.010=1
0.0010=1
00=1 ?
x^0 のグラフ
x0 のグラフ

今度は、底 x の値を x = 0 に固定して指数 y の値を 0 に近づけてみる。[注5]
すると、xy の値は以下の通り 0 に近づいていく。

00.3=0
00.2=0
00.1=0
00.01=0
00.001=0
00=0 ?
0^y のグラフ
0y のグラフ

今度は、底 x と指数 y の値を同時に 0 に近づけてみる。
すると、xy の値は以下の通り 1 に近づいていく。

0.30.3=0.696845…
0.20.2=0.724779…
0.10.1=0.794328…
0.010.01=0.954992…
0.0010.001=0.993116…
00=1 ?
x^y のグラフ(但し x = y)
xy のグラフ(但し x = y

同じく底 x と指数 y の値を 0 に近づけるのであっても、近づけ方に依っては以下の通り xy の値が 10 に近づいていくこともある。

1−1=1
0.1−1/2=3.162277…
0.01−1/3=4.641588…
0.001−1/4=5.623413…
0.0001−1/5=6.309573…
00=10 ?
x^y のグラフ(但し (x, y) = (0.1^(t - 1), -1/t))
xy のグラフ(但し (x, y) = (0.1t − 1, −1/t)

以上のように、実指数関数 xy と上手く整合するように 00 の値を定めようとしても、特定の値に定めることは不可能である。

解析接続による指数の拡張(複素指数関数)

以降また暫くの間、x の値が正の実数である場合に絞って考える。

前項では、指数 y が実数である場合について xy の定義を示した。
では、指数 y が虚数(複素数)の場合はどうだろうか?

指数 y を複素数に拡張する準備として、次式で定まる2つの実関数 exp, log を用意する。[注6]

exp(z) := 1 + z + z22! + z33! + …  log(z) := exp(z) の逆関数
exp(z) のグラフ
exp(z) のグラフ
log(z) のグラフ
log(z) のグラフ

すると、前項で定めた実指数関数 xy は次式の形で表すことができる。

xy = exp(y log(x)) = 1 + (y log(x)) + (y log(x))22! + (y log(x))33! + …

この等式が一般の複素数 y についても成り立つことにすると、一般の複素数 y を指数として xy を定めることができる。
このように定めると、これは(y の関数として)正則な関数(複素関数として良い性質を満たす関数)となる。(複素指数関数[注7]

複素指数関数における「00 乗」

さて、ここでまた「00 乗」について考えよう。

上で述べた xy の定義式において x = y = 0 としようとすると、次のようになる。

00 = exp(0 log(0))

すると log(0) の値が必要となるが、残念乍ら下図の通り log(z)z = 0 で発散してしまい、log(0) の値は定まらない。[注8]
実指数関数のときと同じく、(x, y) の値を上手いこと選べば適当な値に収束させることも可能ではあるが、その場合も特定の値には定まらない。

log(z) のグラフ
〔再掲〕log(z) のグラフ

結局、やはり複素指数関数 xy と上手く整合するように 00 の値を定めることは不可能である。

それでも敢えて「0 の 0 乗」を定義するなら

ここまで頑張って xy の定義域を拡張してきたが、こうして拡張して得られた指数関数と上手くするように 00 の値を定めることはできなかった。
ここでと言っているのは何だったかと言うと、実関数においては連続性、複素関数においては正則性であった。

――連続性/正則性を損なってはいけないのか?

連続性/正則性を損なったとしても、十分な利点があれば 00 を何らかの値と定めるのは意味がある。
そして、定めるとしたらその値は 1 であるべきであろう。
以降、その理由を述べる。

上で挙げた複素指数関数 xy の定義式は、次式の形で書くこともできる。

(★) xy = n = 0(y log(x))nn!

この式 (★) において、左辺の xy は指数関数、右辺の (y log(x))n は冪乗である。

右辺の総和の n = 0 の項では、特に y = 0 のときに「00」の形が現れる。
この 00 は冪乗であるから、その値は 1 である。(そうでないと元々の定義式に一致しない)

一方、左辺の xy において x = y = 0 としたときに現れる「00」は毛色が異なる。
これは指数関数なのであって、xy において x = y = 0 は上手く定義できないのであった。

――同じ等式に現れる同じ「00」という形の表現なのに、片や 1 で片や不定なのは不合理ではないか?

(★) の左辺と右辺における ■ という形の表現はその定義を異にするが、同じ文脈に現れる同じ形の表現である以上、その値は一致していないと無用な混乱を招くだけである。
抑〻指数関数というのは冪乗の拡張だったのであって、それが解析学的に良い性質(連続性/正則性)を持ってしまったのは後付けの話である。
そう考えると、やはり 00 乗の値は 1 であるとするのが適当であろう。

勿論、連続性/正則性が大きな意味を持つ解析学の分野では、強いて 00 の値を定めるのが適当とは言い難い。
ただ、抑〻解析学においては一般の底に対する指数関数 xy などというものを考えること自体が稀なのであって(通常 ez (= exp(z)) を考えれば事は足る)、その意味でも 00 = 1 としてしまって困ることは特に無い。

まとめ

冒頭の要旨の繰り返しとなるが、00 の値は以下の通りとするのが妥当であろう。

脚注