Background: this is a continuation of this question here, further expanding the thought experiment.
In short, you have a magic calculation machine which has the following properties.
The machine is:
- Fast. The rigid definition is that the processor frequency can be arbitrarily high (though not infinite).
- Finite. (NEW) Any program that runs on this processor has a fixed, finite input and output size. If the program tries to output more information than it's pre-determined output size, the machine immediately exits. It is not possible to alter these values.
- Frugal. This means that the output of the machine is strictly the data that is outputted. This means that the state of the machine is not an output, and a program that loops infinitely without printing anything has the same output as a program that exits immediately. Expanding on the finite quality of our machine, this means that both of the previous examples are equivalent to any program which has a pre-determined output size of 0.
- Fleeting. The processor has a pre-determined time of execution. This time can be arbitrarily high, but not infinite.
The question:
Given that the processor IS Turing complete with only the [fast] quality, is the processor with the other limitations also Turing complete?
I should note that a language is considered Turing complete if:
It can solve every problem that another Turing complete language can, OR
It can solve every problem that a Turing machine can solve.
The following should not necessarily exclude a program form Turing completeness:
The program cannot solve every problem that a Turing machine can solve in the same way.
Further more:
Does the halting problem occur for any program in this processor?