Q: 0 01 01011 0101101011011 0101101011011010110101101101011011 etc.

Each string is formed from the previous string by substituting '01' for '0' and '011' for '1' simultaneously at each occurance. Notice that each string is an initial substring of the previous string so that we may consider them all as initial substrings of an infinite string. The puzzle then is, given n, determine if the nth digit is 0 or 1 without having to construct all the previous digits. That is, give a non-recursive formula for the nth digit.

S: Let G equal the limit string generated by the above process and define the string F by

F__0__? = "0",
F__n__? = "1" if n = floor(phi*m) for some positive integer m,
F__n__? = "0" if n = floor(phi^2*m) for some positive integer m,

where floor(x) is the greatest integer =< x and phi = (1 + \/5)/2; I claim that F = G.

I will try to motivate my solution. Let g__0__?="0" and define g__n+1__?
to be the string that results from replacing "0" in g__n__? with "01"
and "1" with "011"; furthermore, let s(n) and t(n) be the number of
"0"'s and "1"'s in g__n__?, respectively. Note that we have the
following recursive formulas : s(n+1) = s(n) + t(n) and t(n+1) =
s(n) + 2t(n). I claim that s(n) = Fib(2n-1) and t(n) = Fib(2n),
where Fib(m) is the mth Fibonacci number (defined by Fib(-1) = 1,
Fib(0) = 0, Fib(n+1) = Fib(n) + Fib(n-1) for n>=0); this is easily
established by induction. Now noting that Fib(2n)/Fib(2n-1) -> phi
as n -> infinity, we see that if the density of the "0"'s and "1"'s
exists, they must be be 1/phi^2 and 1/phi, respectively. What is
the simplest generating sequence which has this property? Answer:
the one given above.

Proof: We start with

Beatty's Theorem: if a and b are positive irrational numbers such that 1/a + 1/b = 1, then every positive integer has a representation of the form floor(am) or floor(bm) (m a positive integer), and this representation is unique.

This shows that F is well-defined. I now claim that

Lemma: If S(n) and T(n) (yes, two more functions; apparently today's the day that functions have their picnic) represent the number of "0"'s and "1"'s in the initial string of F of length n, then S(n) = ceil(n/phi^2) and T(n) = floor(n/phi) (ceil(x) is the smallest integer >= x).

Proof of lemma: using the identity phi^2 = phi + 1 we see that S(n)

- T(n) = n, hence for a given n either S(n) = S(n-1) + 1 or T(n) =

T(n-1) + 1. Now note that if F__n-1__?`"1" ==> n-1 = floor(phi*m) for
some positive integer m and since phi*m-1 < floor(phi*m) < phi*m ==>
m-1/phi < (n-1)/phi < m ==> T(n) = T(n-1) + 1. To finish, note that
if F n-1?`"0" ==> n-1 = floor(phi^2*m) for some positive integer m
and since phi^2*m-1 < floor(phi^2*m) < phi^2*m ==> m-1/phi^2 <
(n-1)/phi^2 < m ==> S(n) = S(n-1) + 1. Q.E.D.

I will now show that F is invariant under the operation of replacing
"0" with "01" and "1" with "011"; it will then follow that F=G.
Note that this is equivalent to showing that F__2S(n) + 3T(n)__?
= "0", F__2S(n) + 3T(n) + 1__? = "1", and that if n = __phi*m__? for some
positive integer m, then F__2S(n) + 3T(n) + 2__? = "1". One could
waste hours trying to prove some fiendish identities; watch how
I sidestep this trap. For the first part, note that by the above
lemma F__2S(n) + 3T(n)__? = F2*ceil(n/phi^2) + 3*floor(n__/phi)__? =
F2n + floor(n__/phi)__? = F__2n + floor(n*phi-n)__? = F__floor(phi*n+n)__?
= F__floor(phi^2*n)__? ==> F__2S(n) + 3T(n)__? = "0". For the second, it
is easy to see that since phi^2>2, if F__m__?`"0" ==> F m?`"1" hence
the first part implies the second part. Finally, note that if n =

__phi*m__? for some positive integer m, then F

__2S(n) + 3T(n) + 3__? = F

__2S(n+1) + 3T(n+1)__? = "0", hence by the same reasoning as above F

__2S(n) + 3T(n) + 2__? = "1".

Q.E.D.

-- clong@cnj.digex.com (Chris Long)