Hierarchies in classes of program schemes
We begin by proving that the class of problems accepted by the program schemes of NPS is exactly the class of problems defined by the sentences of transitive closure logic (program schemes of NPS are obtained by generalizing basic non-deterministic while-programs whose tests within while instructions are quantifier-free first-order formulae). We then show that our program schemes form a proper infinite hierarchy within NPS whose analogy in transitive closure logic is a proper infinite hierarchy, the union of which is full transitive closure logic but for which every level of the hierarchy has associated with it a first-order definable problem not in that level. We then proceed to add a stack to our program schemes, so obtaining the class of program schemes NPSS, and characterize the class of problems accepted by the program schemes of NPSS as the class of problems defined by the sentences of path system logic. We show that there is a proper infinite hierarchy within NPSS, with an analogous hierarchy within path system logic (again, such that every level of the hierarchy has associated with it a first-order definable problem not in that level). Like the hierarchies in transitive closure logic and NPS, the hierarchies in path system logic and NPSS are all proper even when we consider only problems involving undirected trees or problems involving out-trees. One aspect of our analysis that we believe to be particularly interesting is that we do not use Ehrenfeucht-Fraisse games for our inexpressibility results, as is usually the case in finite model theory, but we simply consider computations of program schemes on certain finite structures.
finite model theory descriptive complexity theory