On 9/1/2020 11:10 AM, olcott wrote:
> Turing equivalent x86 computations are defined as:
> (a) An x86 program can be translated into an abstract model of
> computation that is provably equivalent to a Turing machine.
>
> (b) The abstract model of computation can be concretely implemented on
> physical hardware.
>
> (c) All computations performed on the concrete implementation have an
> identical (state-change-by-state-change and
> tape-head-move-by-tape-head-move) execution trace between the abstract
> model and its concrete implementation for all computations not requiring
> more memory than is available.
>
> Applying this same reasoning to my x86-UTM shows that many computations
> performed by the x86 based UTM are equivalent to computations on an
> actual UTM.
>
> Besides memory allocation from the heap the x86-UTM provides a virtual
> machine instruction allowing any UTM to execute another UTM in
> debug-step mode. This recursive invocation can be to an arbitrary
> recursive depth.
>
> UTMs can be written in Microsoft "C". The resulting COFF object file can
> be directly executed by the x86-UTM. All global data must be
> initialized.
No library functions can be called. Uninitialized global data and
library function calls produce an error message.