thumb|right|267px|The first 89 [[natural numbers in Zeckendorf form. Each rectangle has a Fibonacci number as width (blue number in the center) and as height. The vertical bands have width 10.]]

Zeckendorf's theorem, named after amateur mathematician Edouard Zeckendorf, is a result about the representation of integers as sums of Fibonacci numbers. It states that every positive integer can be represented uniquely as the sum of one or more Fibonacci numbers in such a way that the sum does not include any two consecutive Fibonacci numbers. More precisely, if is any positive integer, there exist positive integers , with , such that

:<math>N = \sum_{i = 0}^k F_{c_i},</math>

where is the <sup>th</sup> Fibonacci number. Such a sum is called the Zeckendorf representation of . The Fibonacci coding of can be derived from its Zeckendorf representation.

For example, the Zeckendorf representation of 64 is

:.

There are other ways of representing 64 as the sum of Fibonacci numbers

:

:

:

:

but these are not Zeckendorf representations because 34 and 21 are consecutive Fibonacci numbers, as are 5 and 3.

For any given positive integer, its Zeckendorf representation can be found by using a greedy algorithm, choosing the largest possible Fibonacci number at each stage. For instance, 11 = 8 + 3, whereas 13 = 13 (not 8 + 5), and 31 = 21 + 8 + 2.

Proof

Zeckendorf's theorem has two parts:

  1. Existence: every positive integer has a Zeckendorf representation.
  2. Uniqueness: no positive integer has two different Zeckendorf representations.

The existence part of Zeckendorf's theorem can be proven by induction. The base case <math>n=1</math> has the Zeckendorf representation <math>n=1=F_2</math>. Assuming that all <math>k<n</math> have a Zeckendorf representation let <math>j</math> be such that <math>F_j<n<F_{j+1}</math>. Then, <math>n-F_j<n</math>. Therefore, there exists a Zeckendorf representation for <math>n-F_j</math>. The assumption <math>F_j<n<F_{j+1}</math> also implies that <math>F_{j-1}=F_{j+1}-F_j>n-F_j</math>. Therefore, the largest Fibonaci number in the Zeckendorf representation of <math>n-F_j</math> must be strictly less than <math>F_{j-1}</math>. This implies that the Zenckendorf representation of <math>n-F_j</math> together with <math>F_j</math> is a valid Zeckendorf representation for <math>n</math>.

To prove uniqueness, one can use the identity

:<math display=block>\sum_{i=0}^{\lfloor n/2\rfloor-1} F_{n-2i} = F_{n+1}-1</math>

This can be proven by induction, or by a counting argument in which one realizes both sides of the identity are two ways of counting the number of ways of writing <math>n</math> using sums of <math>1</math> and at least one <math>2</math>.

To get a contradiction, assume that there are integers <math>c_i</math>, for <math>i=0,1,\ldots,r</math>, and <math>d_i</math>, for <math>i=0,1,\ldots,s</math>, such that <math>c_0,d_0\geq2</math>, <math>c_{i+1}>c_i+1</math>, <math>d_{i+1}>d_i+1</math>, and

:<math>\sum_{i = 0}^r F_{c_i}=\sum_{i=0}^s F_{d_i}</math>

The lengths <math>r</math> and <math>s</math> can be assumed to be the smallest possible.

If <math>c_r=d_s</math>, that is if the largest terms <math>F_{c_r}</math> and <math>F_{d_s}</math> of the two Zeckendorf representations are equal, then they can be deleted from both representations and obtain two new Zeckendorf representations that are equal and have fewer number of summands. This contradicts that <math>r,s</math> were the smallest possible. Therefore, <math>c_r\neq d_s</math>. By swapping the names <math>c</math> and <math>d</math>, if necessary, one can assume that <math>c_r>d_s</math>. However, the sum

:<math>\sum_{i=0}^{s}F_{d_i}\leq \sum_{i=0}^{\lfloor d_s/2\rfloor-1}F_{d_s-2i}=F_{d_s+1}-1\leq F_{c_r}-1<F_{c_r}</math>

Here the first inequality compares the sum with that of the Zeckendorf representation, which largest term is <math>F_{d_s}</math>, and uses the largest Fibonaci numbers allowed. That is, using every second Fibonacci number descending from <math>F_{d_s}</math> and stopping at <math>F_2</math> or <math>F_3</math>. The equation is the identity above. This shows that, even if the sum <math>\sum_{i=0}^s F_{d_s}</math> uses all the largest Fibonacci numbers allowed, its sum is still strictly less than the largest term <math>F_{c_r}</math> in the sum <math>\sum_{i=0}^r F_{c_i}</math>. Therefore, one cannot have two different Zeckendorf representations giving the same sum.

Fibonacci multiplication

One can define the following operation <math>a\circ b</math> on natural numbers , : given the Zeckendorf representations

<math>a=\sum_{i=0}^kF_{c_i}\;(c_i\ge2)</math> and <math>b=\sum_{j=0}^lF_{d_j}\;(d_j\ge2)</math> we define the Fibonacci product <math>a\circ b=\sum_{i=0}^k\sum_{j=0}^lF_{c_i+d_j}.</math>

For example, the Zeckendorf representation of 2 is <math>F_3</math>, and the Zeckendorf representation of 4 is <math>F_4 + F_2</math> (<math>F_1</math> is disallowed from representations), so <math>2 \circ 4 = F_{3+4} + F_{3+2} = 13 + 5 = 18.</math>

(The product is not always in Zeckendorf form. For example, <math>4 \circ 4 = (F_4 + F_2) \circ (F_4 + F_2) = F_{4+4} + 2F_{4+2} + F_{2+2} = 21 + 2\cdot 8 + 3 = 40 = F_9 + F_5 + F_2.</math>)

A simple rearrangement of sums shows that this is a commutative operation; however, Donald Knuth proved the surprising fact that this operation is also associative.

Representation with negafibonacci numbers

The Fibonacci sequence can be extended to negative index&nbsp; using the rearranged recurrence relation

:<math>F_{n-2} = F_n - F_{n-1}, </math>

which yields the sequence of "negafibonacci" numbers satisfying

:<math>F_{-n} = (-1)^{n+1} F_n. </math>

Any integer can be uniquely represented as a sum of negafibonacci numbers in which no two consecutive negafibonacci numbers are used. For example:

  • 0 is represented by the empty sum.

, for example, so the uniqueness of the representation does depend on the condition that no two consecutive negafibonacci numbers are used.

This gives a system of coding integers, similar to the representation of Zeckendorf's theorem. In the string representing the integer&nbsp;, the <sup>th</sup> digit is 1 if appears in the sum that represents ; that digit is 0 otherwise. For example, 24 may be represented by the string 100101001, which has the digit 1 in places 9, 6, 4, and 1, because . The integer&nbsp; is represented by a string of odd length if and only if .

See also

  • Complete sequence
  • Fibonacci coding
  • Fibonacci nim
  • Ostrowski numeration

References

  • Zeckendorf's theorem at cut-the-knot