First note that if a0≥0, then all ai≥0. For ai≥1 we have (in view of ⟨ai⟩<1 and ⌊ai⌋>0 )
⌊ai+1⌋≤ai+1=⌊ai⌋⋅⟨ai⟩<⌊ai⌋
the sequence ⌊ai⌋ is strictly decreasing as long as its terms are in [1,∞). Eventually there appears a number from the interval [0,1) and all subsequent terms are 0.
Now pass to the more interesting situation where a0<0; then all ai≤0. Suppose the sequence never hits 0. Then we have ⌊ai⌋≤−1 for all i, and so
1+⌊ai+1⌋>ai+1=⌊ai⌋⋅⟨ai⟩>⌊ai⌋
this means that the sequence ⌊ai⌋ is nondecreasing. And since all its terms are integers from (−∞,−1], this sequence must be constant from some term on:
⌊ai⌋=c for i≥i0;c a negative integer.
The defining formula becomes
ai+1=c⋅⟨ai⟩=c(ai−c)=cai−c2
Consider the sequence
bi=ai−c−1c2(1)
It satisfies the recursion rule
bi+1=ai+1−c−1c2=cai−c2−c−1c2=cbi
implying
bi=ci−i0bi0 for i≥i0(2)
Since all the numbers ai (for i≥i0 ) lie in [c,c+1), the sequence (bi) is bounded. The equation (2) can be satisfied only if either bi0=0 or ∣c∣=1, i.e., c=−1.
In the first case, bi=0 for all i≥i0, so that
ai=c−1c2 for i≥i0.
In the second case, c=−1, equations (1) and (2) say that
ai=−21+(−1)i−i0bi0={ai01−ai0 for i=i0,i0+2,i0+4,…, for i=i0+1,i0+3,i0+5,….
Summarising, we see that (from some point on) the sequence (ai) either is constant or takes alternately two values from the interval (−1,0). The result follows.