§C3.2ゼッケンドルフの定理

最終更新

ゼッケンドルフの定理は、任意の正の整数を、隣り合わないフィボナッチ数の和としてただ一通りに表すことができると述べます。本記事では、この表示の存在と一意性を扱います。

1 用いるフィボナッチ数を定める

一意性を述べるためには、どの数をフィボナッチ数と呼ぶかを先に確定させる必要があります。この約束を外すと、定理は成り立ちません。

定義 1.1 (本記事で用いるフィボナッチ数).F1=1F_1 = 1、F2=2F_2 = 2と定め、k≥1k \ge 1についてFk+2=Fk+1+FkF_{k+2} = F_{k+1} + F_kと定める。このとき

F1=1,F2=2,F3=3,F4=5,F5=8,F6=13,F7=21, …F_1 = 1,\quad F_2 = 2,\quad F_3 = 3,\quad F_4 = 5,\quad F_5 = 8,\quad F_6 = 13,\quad F_7 = 21,\ \dots

である。この数列の各項をフィボナッチ数と呼び、FkF_kのkkを番号と呼ぶ。番号の差が22以上である二つのフィボナッチ数を、隣り合わないという。

この定め方では、F1<F2<F3<⋯F_1 < F_2 < F_3 < \cdotsが成り立ちます。実際、F1<F2F_1 < F_2であり、Fk+2=Fk+1+Fk>Fk+1F_{k+2} = F_{k+1} + F_k > F_{k+1}が各kkについて成り立つからです。以下では、この狭義の単調増加を繰り返し用います。

注意 1.2 (F1=F2=1F_1 = F_2 = 1と定める流儀では一意性が成り立たない). フィボナッチ数列をF1=F2=1F_1 = F_2 = 1、Fk+2=Fk+1+FkF_{k+2} = F_{k+1} + F_kと定める流儀が広く用いられている。この流儀では11という値が二つの番号に対応するので、番号の組として表示を数えると、たとえば44はF4+F1F_4 + F_1とF4+F2F_4 + F_2という二通りに書くことができる(この流儀ではF4=3F_4 = 3である)。どちらの表示も、番号の差が22以上であるという条件を満たす。したがって一意性を主張するためには、重複する11を一度だけ数える約束、すなわち定義 1.1の定め方が必要である。本記事の以下の主張は、すべてこの定め方のもとでのものである。

2 小さい数で表し方を探す

まず、小さい正の整数を、隣り合わないフィボナッチ数の和として書いてみます。

例 2.1 (11から1212までの表し方).

1=F1,2=F2,3=F3,4=F3+F1,5=F4,6=F4+F1,7=F4+F2,8=F5,9=F5+F1,10=F5+F2,11=F5+F3,12=F5+F3+F1.\begin{aligned} 1 &= F_1, & 2 &= F_2, & 3 &= F_3, & 4 &= F_3 + F_1, \\ 5 &= F_4, & 6 &= F_4 + F_1, & 7 &= F_4 + F_2, & 8 &= F_5, \\ 9 &= F_5 + F_1, & 10 &= F_5 + F_2, & 11 &= F_5 + F_3, & 12 &= F_5 + F_3 + F_1. \end{aligned}

どの表示でも、用いた番号の差は22以上である。また、いずれの数についても、条件を満たす表示はここに挙げた一つだけである。

これらの表示は、いずれも「その数を超えない最大のフィボナッチ数を取り、残りについて同じことを繰り返す」という手続きで得られます。たとえば1212については、1212を超えない最大のフィボナッチ数がF5=8F_5 = 8であり、残りは44、44を超えない最大のフィボナッチ数がF3=3F_3 = 3であり、残りは1=F11 = F_1です。

そこで、次の二つを予想し、それぞれを証明すべき主張として書き下します。第一に、この手続きがどの正の整数についても有限回で終わり、隣り合わない番号だけを使うことです。第二に、条件を満たす表示が一つしかないことです。上の計算は、この二つの予想を立てる手段であって、すべての正の整数についての証明ではありません。

3 表し方が存在すること

定理 3.1 (ゼッケンドルフ表示の存在).定義 1.1のFkF_kについて、次が成り立つ。どの正の整数NNに対しても、番号が大きい順に並べた有限個の番号k1>k2>⋯>kr≥1k_1 > k_2 > \cdots > k_r \ge 1で、どの隣り合う二つの番号についてもki−ki+1≥2k_i - k_{i+1} \ge 2を満たすものが存在して、

N=Fk1+Fk2+⋯+FkrN = F_{k_1} + F_{k_2} + \cdots + F_{k_r}

と表される。

証明.F1≥1F_1\ge1、F2≥2F_2\ge2であり、Fk≥kF_k\ge kかつFk+1≥k+1F_{k+1}\ge k+1ならばFk+2=Fk+1+Fk≥2k+1≥k+2F_{k+2}=F_{k+1}+F_k\ge2k+1\ge k+2である。したがって、フィボナッチ数列は上に有界でない。

NNを正の整数とし、NNより小さいすべての正の整数が条件を満たす表示を持つと仮定する。F1=1≤NF_1=1\le Nであり、フィボナッチ数列は上に有界でないので、Fk≤NF_k\le Nを満たす最大の番号k1k_1が存在する。k1k_1の最大性からN<Fk1+1N<F_{k_1+1}である。

k1=1k_1=1ならばN<F2=2N<F_2=2よりN=1=F1N=1=F_1である。

k1≥2k_1\ge2ならばFk1+1=Fk1+Fk1−1F_{k_1+1}=F_{k_1}+F_{k_1-1}であるから、N<Fk1+Fk1−1N < F_{k_1} + F_{k_1-1}すなわち

0≤N−Fk1<Fk1−10 \le N - F_{k_1} < F_{k_1 - 1}

を得る。N−Fk1=0N-F_{k_1}=0ならばN=Fk1N=F_{k_1}である。N−Fk1>0N-F_{k_1}>0ならばN−Fk1<NN-F_{k_1}<Nであるから、帰納法の仮定によりN−Fk1N-F_{k_1}は条件を満たす表示を持つ。その表示に現れる最大の番号をjjとすると、Fj≤N−Fk1<Fk1−1F_j \le N - F_{k_1} < F_{k_1-1}であり、フィボナッチ数が狭義に単調増加することからj<k1−1j<k_1-1、すなわちj≤k1−2j\le k_1-2である。したがって、この表示にFk1F_{k_1}を加えると、番号の差が22以上であるNNの表示を得る。▨

この証明は、手続きが有限回で終わる理由も同時に与えています。各段階で残りは真に小さくなり、正の整数は無限に減り続けることができないからです。

4 表し方がただ一通りであること

一意性の証明で中心になるのは、条件を満たす和の大きさが最大の番号だけで上から抑えられる、という次の主張です。

定理 4.1 (隣り合わない和の大きさ).k≥1k \ge 1とする。番号が大きい順にk=k1>k2>⋯>kr≥1k = k_1 > k_2 > \cdots > k_r \ge 1と並び、どの隣り合う二つの番号についてもki−ki+1≥2k_i - k_{i+1} \ge 2を満たすとき、

Fk1+Fk2+⋯+Fkr<Fk+1F_{k_1} + F_{k_2} + \cdots + F_{k_r} < F_{k+1}

が成り立つ。

証明.k=1k=1ならばr=1r=1であり、和はF1=1<2=F2F_1=1<2=F_2である。k=2k=2でもr=1r=1であり、和はF2=2<3=F3F_2=2<3=F_3である。

k≥3k\ge3とし、kkより小さいすべての番号について主張が成り立つと仮定する。r=1r=1ならば、和はFk<Fk+1F_k<F_{k+1}である。r≥2r\ge2ならばk2≤k−2k_2\le k-2であり、Fk2+⋯+FkrF_{k_2} + \cdots + F_{k_r}は最大の番号がk2k_2である和なので、帰納法の仮定によりFk2+1F_{k_2+1}より小さい。フィボナッチ数が狭義に単調増加することとk2+1≤k−1k_2+1\le k-1から、

Fk1+Fk2+⋯+Fkr<Fk+Fk2+1≤Fk+Fk−1=Fk+1F_{k_1} + F_{k_2} + \cdots + F_{k_r} < F_k + F_{k_2+1} \le F_k + F_{k-1} = F_{k+1}

を得る。▨

定理 4.2 (ゼッケンドルフ表示の一意性).定義 1.1のFkF_kについて、定理 3.1の条件を満たす正の整数NNの表示は、ただ一通りである。

証明.NNを正の整数とし、NNより小さいすべての正の整数について一意性が成り立つと仮定する。NNの条件を満たす二つの表示

N=Fk1+⋯+Fkr=Fl1+⋯+FlsN = F_{k_1} + \cdots + F_{k_r} = F_{l_1} + \cdots + F_{l_s}

を取り、番号はいずれも大きい順に並べる。

定理 4.1を第一の表示に適用するとN<Fk1+1N<F_{k_1+1}であり、Fk1F_{k_1}は和の一部であるからFk1≤NF_{k_1}\le Nである。すなわち

Fk1≤N<Fk1+1F_{k_1} \le N < F_{k_1 + 1}

が成り立つ。同じ議論によりFl1≤N<Fl1+1F_{l_1}\le N<F_{l_1+1}も成り立つ。フィボナッチ数は狭義に単調増加するので、Fk≤N<Fk+1F_k\le N<F_{k+1}を満たす番号kkはただ一つである。したがってk1=l1k_1=l_1である。

両方の表示から共通の項Fk1F_{k_1}を除くと、残る和はどちらもN−Fk1N-F_{k_1}に等しい。r=1r=1ならばN−Fk1=0N-F_{k_1}=0であり、第二の表示に残る正の項も無いのでs=1s=1である。s=1s=1の場合も同様にr=1r=1である。r,s≥2r,s\ge2ならば0<N−Fk1<N0<N-F_{k_1}<Nであり、除いた後の二つの番号列はいずれも条件を満たす。帰納法の仮定により二つの残りの表示は一致するので、もとの二つの表示も一致する。▨

例 4.3 (大きい数での表示).N=100N = 100とする。100100を超えない最大のフィボナッチ数はF10=89F_{10} = 89であり、残りは1111である。1111を超えない最大のフィボナッチ数はF5=8F_5 = 8であり、残りは3=F33 = F_3である。したがって

100=F10+F5+F3=89+8+3100 = F_{10} + F_5 + F_3 = 89 + 8 + 3

であり、番号1010、55、33はどの二つも22以上離れている。

5 隣り合わないという条件を外すと、一通りでなくなる

例 5.1 (番号が隣り合ってよいとした場合). 番号の差が22以上であるという条件を外すと、たとえば1111は

11=F5+F3=F5+F2+F1=F4+F3+F2+F111 = F_5 + F_3 = F_5 + F_2 + F_1 = F_4 + F_3 + F_2 + F_1

すなわち11=8+3=8+2+1=5+3+2+111 = 8 + 3 = 8 + 2 + 1 = 5 + 3 + 2 + 1と、三通りに書くことができる。

この例は、定理 4.2の証明のどこで条件を使ったかと対応しています。条件を使ったのは定理 4.1を適用する箇所であり、番号が隣り合ってよいとすると、和がFk1+1F_{k_1+1}以上になることがあるため、最大の番号がNNから定まらなくなります。実際、11=F4+F3+F2+F111 = F_4 + F_3 + F_2 + F_1の最大の番号は44ですが、F5=8≤11F_5 = 8 \le 11です。

前提記事