I was thinking about Turing completeness last night, while half asleep. I saw that there was an argument that it is Turing complete, but I didn’t really read the argument. Last night I was wondering if it’s possible to make an arbitrary number of copies of a string. Shouldn’t a Turning complete system be able to do that?
I couldn’t think of a way to do it. But I’m not convinced it can’t be done. What I could do is, for every x and y, build a machine that makes y copies of a string of length x. These machines get super-huge really quickly. (The only way I can think of to do it is have a different physical region correspond to every possible string of that length–which adds up to a lot of regions once x gets very large, and those regions get larger and larger as y grows.)
What I couldn’t think of a way to do is build a machine that, for every x and y, makes x copies of strings of length y.
Again, in case the difference got past you:
I can see how, for every x and y, to build a machine that makes y copies of a string of length x.
I can’t see who to build a machne that, for every x and y, makes y copies of a string of length x.
In other words, give me the x and y, and I can build you a machine. But I can’t build you a machine that deals with arbitrary x and y.
(I also couldn’t see a way to build a machine that deals with arbitary number of copies even given string length. Also vice versa.)
However, I was thinking about this while mentally exhausted, so I am not surprised if I missed something. If someone sees a way to do this, I’d be interested in knowing that. I’d then think about it some more…
Anyway, I’m right, right, that a Turing complete machine should be able to do this?
Maybe not. Maybe it can be that it’s Turing complete on an interpretation of its mechanisms that doesn’t include the operation I described as one that is interpreted as the completion of some task or other. (?)