I am constructing a doubly infinite string using the following process: I start with the string
0101. In each step, I insert a 0 to the left of each 1 in the string. After the first step, the
string becomes 001001. After the second step, it becomes 00010001, and so on.
With each iteration, the string grows longer, but only in one direction.
..you will obtain ever longer and longer (but still finite) strings.
What you are really trying to suggest, I think, is that "after forever" [somehow stepping outside
the whole time dimension] you will have produced some kind of "final" result. IOW you're thinking
of some kind of "supertask".
If you search the internet for "supertask" you'll find all sorts of discussions on the logical
difficulties that arise. Those aren't problems of mathematics - more a result of not having
properly thought through what is being asked. After all, you can't actually perform the supertask
you're suggesting. You could make what your saying a bona-fide mathematical question, if you could
make clear what the (mathematically) vague bits in your post really mean. E.g.
- what exactly do you mean by a doubly infinite string? [this is the easy bit]
- people would agree that your iterative process creates well defined /finite/ strings
at each (finite) step. Then you say "If I continue this process forever...", which you CAN'T
do, and so instead you need to /define/ mathematically what you mean by the final result of
such an infinite sequence of string rewrites. Presumably some kind of limit process,
but what exactly? Just saying words doesn't automatically mean you're making
sense mathematically... [this is the Hard bit]
But maybe you don't need to go down such a Hard path, because I suspect you can get to where you
really want to get by just describing the final structure you're looking for, and forgetting all the
string rewrite supertask stuff.
E.g. can we properly define a mathematical object representing "a 1 followed by (countably)
infinitely many 0s then another 1 then (countably) infinitely many 0s"?
Sure we can - it's not a "sequence" in the usual sense (map from N [the natural numbers 0,1,2...] to
a target set) because it's "too long" for that. The "order type" we need is not that of N, but
instead the larger infinite ordinal w+w, where I use w for the order type of N. (Maybe check out
the "ordinal numbers" link below if you're not familiar with ordinals.)
To the left of the first 1, there will eventually be an infinite number of 0s.
To the right of the first 1, there will also be an infinite number of 0s, followed by another 1.
Does this process create a valid doubly infinite string?
No, according to what people normally take "doubly infinite string" to mean. That would be
something akin to a "sequence", but indexed by values going to both the left and right. Or put more
formally: a map from Z [=integers: positive and negative numbers, and zero of course] to the target
set. Something like:
index --> target value
...
-2 0
-1 0
0 1
+1 1
+2 1
...
the above is one way to represent the doubly infinite sequence "...,0,0,0,0,1,1,1,1,..."
The object you are trying to construct has a right hand end and extends indefinitely only in one
direction.
As I started describing above, the "sequence" you're aiming for goes only in one direction, but goes
beyond indices provided by N. You could model it as a kind of "long" sequence based on ordinals
higher than w (order type of natural numbers N) used for "normal" infinite sequences.
E.g. your specific "string" would be the map from ordinal 2w to the target set {0,1}:
index --> target value
0 1
1 0
2 0
3 0
...
w 1
w+1 0
w+2 0
w+3 0
...
Or you could describe your specific "string" as made up of two regular infinite sequences
concatenated, but that's mathematically more awkward to generalise further.
Regards,
Mike.