For any a∈[0,1), define a sequence {ai}i=0n generated by a as follows: a0=a; for 1≤i≤n, ai=ai−1−xi if ai−1≥0, and ai=ai−1+xi if ai−1<0.
Set f(a)=an. It is easy to show by induction that ∣ai∣≤1 for every 0≤i≤n.
If there exists a∈[0,1) such that f(a)=−a, consider the sequence generated by a, a0=a,a1,...,an=f(a)=−a. Clearly, this sequence satisfies the conditions (1) and (3). By the recursive relation, it also satisfies the condition (2). Thus, it suffices to show that there exists a∈[0,1) such that f(a)=−a.
For any a∈[0,1), we say that a is a breaking point if at least one term in its generating sequence is 0. Since every breaking point is of the form ∑i=1ntixi, where ti=−1,0,1, there are finitely many breaking points.
Clearly, 0 is a breaking point; label all breaking points in increasing order by 0=b1<b2<⋯<bm<1.
We first prove that for 1≤k≤m−1, f(a)=f(bk)+(a−bk) for every a∈[bk,bk+1).
Consider bk,bk+1 and their generating sequences. Assume that q0=bk,q1,q2,…,qn is the generating sequence of bk, and r0=bk+1,r1,r2,…,rn is the generating sequence of bk+1. Suppose that rl is the first term of {ri}i=0n equal to 0.
Construct a sequence {si}i=0n as follows:
s0sl+1=r0,s1=r1,…,sl=rl=0,=−rl+1,…,sn=−rn.
It is clear that the sequence {si}i=0n satisfies s0=bk+1; and for 1≤i≤n, si=si−1−xi if si−1>0, and si=si−1+xi if si−1≤0.
We prove by induction that qisi≥0 and si−qi=bk+1−bk.
The conclusion is obviously true for i=0. Assume that it holds for i−1. Then qi−1si−1≥0 and si−1−qi−1=bk+1−bk>0, which implies that qi−1≥0, si−1>0, or qi−1<0, si−1≤0. In the former case, qi=qi−1−xi, si=si−1−xi, and thus si−qi=si−1−qi−1=bk+1−bk. Similarly, in the latter case, we have si−qi=bk+1−bk.
If qisi<0, then qi<0<si. Set b′=bk+1−si=bk+(−qi)∈(bk,bk+1), and consider the generating sequence of b′, u0=b′,u1,…,un. It is easy to show by induction that sj−uj=s0−u0=si for any 0≤j≤i (qj−1 and sj−1 both add or subtract xj for j<i; uj lies between qj−1 and sj−1, so the recursive relation is the same). Then ui=si−si=0, i.e. b′ is a breaking point — a contradiction to bk,bk+1 being two consecutive breaking points. Therefore, qisi≥0. By induction we have verified that qisi≥0 and si−qi=bk+1−bk for all 0≤i≤n.
Since f(bk)=qn, f(bk+1)=rn=−sn, we have f(bk)+f(bk+1)=bk−bk+1. It follows from the above argument that, for any bk<b′<bk+1, the generating sequence of b′ has the same recursive relation as {qi}i=0n and {si}i=0n, and hence
f(b′)=f(bk)+(b′−bk).
Let us go back to the original problem.
If f(bk)=−bk for some k, we are done. If f(bk)=bk for some k, then consider the generating sequence of bk, reversing every term after the first 0, and we obtain a new sequence z0=bk,z1,…,zn=−bk, which satisfies the required conditions. Now assume that ∣f(bk)∣=bk for every k, and we shall consider two cases to show that f(a)=−a for some a∈[0,1):
Case 1: ∣f(bm)∣<bm. Since ∣f(b1)∣>b1=0, there exists k such that ∣f(bk)∣>bk, ∣f(bk+1)∣<bk+1.
Since f(bk)+f(bk+1)=bk−bk+1, we have f(bk)−bk=−(f(bk+1)+bk+1)<0, and hence f(bk)≤−bk. Again by f(bk)+f(bk+1)=bk−bk+1, we have
f(bk)=bk−bk+1−f(bk+1)>bk−2bk+1,
i.e.
bk−2bk+1<f(bk)<−bk.
Let b′=2bk−f(bk). Then bk<b′<bk+1, and
f(b′)=f(bk)+(b′−bk)=(bk−2b′)+(b′−bk)=−b′,
and the result follows.
Case 2: ∣f(bm)∣>bm. Since there is no breaking number in (bm,1), we see from the previous argument that for any b′∈(bm,1), the generating sequence of b′ and the generating sequence of bm have the same recursive relation, and hence
f(b′)=f(bm)+(b′−bm).
Since ∣f∣≤1, we have f(bm)≤bm, and hence
−1≤f(bm)<−bm.
Let b′=2bm−f(bm). Then
bm=2bm−(−bm)<b′<2bm−(−1)=2bm+1<1,
f(b′)=f(bm)+(b′−bm)=(bm−2b′)+(b′−bm)=−b′.
The result again follows.