Ordinary interactive small-step algorithms, III
This is the third in a series of three articles extending the proof of the Abstract State Machine thesis-that arbitrary algorithms are behaviorally equivalent to abstract state machines-to algorithms that can interact with their environments during a step, rather than only between steps. As in the first two articles of the series, we are concerned here with ordinary, small-step, interactive algorithms. This means that the algorithms: (1) proceed in discrete, global steps, (2) perform only a bounded amount of work in each step, (3) use only such information from the environment as can be regarded as answers to queries, and (4) never complete a step until all queries from that step have been answered. After reviewing the previous articles' definitions of such algorithms, of behavioral equivalence, and of abstract state machines (ASMs), we prove the main result: Every ordinary, interactive, small-step algorithm is behaviorally equivalent to an ASM. We also discuss some possible variations of and additions to the ASM semantics.
interaction algorithms abstract state machines theory sequential algorithms postulates equivalence of algorithms