Follow-up question (which I admittedly have not spent more than five minutes thinking about so far): are any Universal Turing Machines (UTMs) Brickable? My intuition is yes (based on the fact that most real-world computers seem to be), though I haven’t formally checked yet. If some UTMs are Brickable, my intuition is that all UTMs are likely Brickable, although the particular Brick may be unique to each machine. If instead only some are Brickable, I would be interested what the limiting conditions are, and if none are Brickable, I’m pretty sure that would also have massive implications, though I’m not sure exactly what those would be.
We need to distinguish between “writes zeroes forever” and “simulates a machine that writes zeroes forever”. The second one is also in an infinite loop, but it does things beyond writing zeroes (depending on how the simulated machine’s output is encoded).
I guess “write zeroes” should not be taken literally. The part with “ignores all future output” is better. But in that case, suppose you write a program that simulates another program, and stops if someone pressed the Esc key. Even if the simulated program is bricked, the simulating program will react to the key, so it is not bricked. (And, yeah, Turing machines are not interactive, so… what is the analogy in their case?)
Follow-up question (which I admittedly have not spent more than five minutes thinking about so far): are any Universal Turing Machines (UTMs) Brickable? My intuition is yes (based on the fact that most real-world computers seem to be), though I haven’t formally checked yet. If some UTMs are Brickable, my intuition is that all UTMs are likely Brickable, although the particular Brick may be unique to each machine. If instead only some are Brickable, I would be interested what the limiting conditions are, and if none are Brickable, I’m pretty sure that would also have massive implications, though I’m not sure exactly what those would be.
I think the universal part means it’s all-or-none (any machine that can emulate a Brickable machine is itself Brickable).
We need to distinguish between “writes zeroes forever” and “simulates a machine that writes zeroes forever”. The second one is also in an infinite loop, but it does things beyond writing zeroes (depending on how the simulated machine’s output is encoded).
I guess “write zeroes” should not be taken literally. The part with “ignores all future output” is better. But in that case, suppose you write a program that simulates another program, and stops if someone pressed the Esc key. Even if the simulated program is bricked, the simulating program will react to the key, so it is not bricked. (And, yeah, Turing machines are not interactive, so… what is the analogy in their case?)