The idea is as follows. We treat
σ as splitting
[0,1)∩Q into ‘buckets’ based on a sequence’s first element. So a sequence whose first element is
5 will be placed somewhere within
σ(5)≤x<σ(6). We then pull the same trick with the second element within the given bucket, rescaling
σ to the bucket. So a sequence whose first element is
5 and second element is
12 will go into the bucket
≤σ(12)⋅(σ(6)−σ(5))+σ(5)≤x<σ(13)⋅(σ(6)−σ(5))+σ(5)
We repeat recursively (or iteratively, you choose) for all digits of the sequence, scaling
σ down to the bucket constructed so far.
When the sequence ends, we treat it as followed by infinitely many zeroes, forcings its final position to be the left endpoint of the bucket constructed so far.
From any chosen