Complete sequence

In mathematics, a sequence of natural numbers is called a complete sequence if every positive integer can be expressed as a sum of values in the sequence, using each value at most once.

For example, the sequence of powers of two {1, 2, 4, 8, ...}, the basis of the binary numeral system, is a complete sequence; given any natural number, we can choose the values corresponding to the 1 bits in its binary representation and sum them to obtain that number (e.g. 37 = 1001012 = 1 + 4 + 32). This sequence is minimal, since no value can be removed from it without making some natural numbers impossible to represent. Simple examples of sequences that are not complete include the even numbers, since adding even numbers produces only even numbers—no odd number can be formed.

Conditions for completeness

Without loss of generality, assume the sequence an is in non-decreasing order, and define the partial sums of an as:

${\displaystyle s_{n}=\sum _{m=0}^{n}a_{m}}$ .

Then the conditions

${\displaystyle a_{0}=1\,}$
${\displaystyle s_{k-1}\geq a_{k}-1\,\forall \,k\geq 1}$

are both necessary and sufficient for an to be a complete sequence.[1][2]

A corollary to the above states that

${\displaystyle a_{0}=1\,}$
${\displaystyle 2a_{k}\geq a_{k+1}\,\forall \,k\geq 1}$

are sufficient for an to be a complete sequence.[1]

However there are complete sequences that do not satisfy this corollary, for example (sequence A203074 in the OEIS), consisting of the number 1 and the first prime after each power of 2.

Other complete sequences

Below is a list of the better-known complete sequences.

• The sequence of the number 1 followed by the prime numbers (studied by S. S. Pillai[3] and others); this follows from Bertrand's postulate.[1]
• The sequence of practical numbers which has 1 as the first term and contains all other powers of 2 as a subset.[4] (sequence A005153 in the OEIS)
• The Fibonacci numbers, as well as the Fibonacci numbers with any one number removed.[1] This follows from the identity that the sum of the first n Fibonacci numbers is the (n + 2)nd Fibonacci number minus 1 (see Fibonacci_numbers#Second_identity).
• All Fibonacci n-Step numbers,[5] where n=2 gives the Fibonacci numbers above, n=3 gives the Tribonacci numbers etc.
• The Lazy caterer's sequence that gives the maximum number of partitions that a plane can be divided into, using n straight lines as dividers.
• All higher dimensions of the Lazy caterer's sequence that uses n hyperplanes (of dimension d-1) to maximally divide a space (of dimension d). (sequence A216274 in the OEIS)
• The Cookie cutter's sequence that gives the maximum number of partitions that a plane can be divided into, using n circles as dividers.[6]
• All higher dimensions of the Cookie cutter's sequence that uses n hyperspherical surfaces (of dimension d-1) to maximally divide a space (of dimension d). (sequence A059250 in the OEIS)
• The ordered set of proper divisors of every practical number (that includes 1 and itself) forms a complete sub-sequence.

Applications

Just as the powers of two form a complete sequence due to the binary numeral system, in fact any complete sequence can be used to encode integers as bit strings. The rightmost bit position is assigned to the first, smallest member of the sequence; the next rightmost to the next member; and so on. Bits set to 1 are included in the sum. These representations may not be unique.

Fibonacci coding

For example, in the Fibonacci arithmetic system, based on the Fibonacci sequence, the number 17 can be encoded in six different ways:

110111 (F6 + F5 + F3 + F2 + F1 = 8 + 5 + 2 + 1 + 1 = 17, maximal form)
111001 (F6 + F5 + F4 + F1 = 8 + 5 + 3 + 1 = 17)
111010 (F6 + F5 + F4 + F2 = 8 + 5 + 3 + 1 = 17)
1000111 (F7 + F3 + F2 + F1 = 13 + 2 + 1 + 1 = 17)
1001001 (F7 + F4 + F1 = 13 + 3 + 1 = 17)
1001010 (F7 + F4 + F2 = 13 + 3 + 1 = 17, minimal form, as used in Fibonacci coding)
The maximal form above will always use F1 and will always have a trailing one. The full coding without the trailing one can be found at
(sequence A104326 in the OEIS). By dropping the trailing one, the coding for 17 above occurs as the 16th term of A104326.
The minimal form will never use F1 and will always have a trailing zero. The full coding without the trailing zero can be found at
(sequence A014417 in the OEIS). This coding is known as the Zeckendorf representation .

In this numeral system, any substring "100" can be replaced by "011" and vice versa due to the definition of the Fibonacci numbers.[7] Continual application of these rules will translate form the maximal to the minimal, and vice versa. The fact that any number (greater than 1) can be represented with a terminal 0 means that it is always possible to add 1, and given that, for 1 and 2 can be represented in Fibonacci coding, completeness follows by induction.

Other coding systems

Other coding systems can be similarly devised. As with the Fibonacci sequence above, these coding systems that employ complete sequences will need to deal with multiple encoding solutions. The two main methods used are the greedy algorithm that will attempt to minimize the number of terms needed to encode an integer from the complete sequence and a minimizing algorithm that will attempt to maximize the number of terms needed to encode the same integer.

• A coding for the sequence of the number 1 followed by the prime numbers using the greedy algorithm can be found at
(sequence A007924 in the OEIS).
• A coding for the sequence of the number 1 followed by the prime numbers using a minimizing algorithm can be found at
(sequence A205598 in the OEIS).
• A coding for the Lazy caterer's sequence using the greedy algorithm can be found at
(sequence A204009 in the OEIS).