Cookies

We use cookies to ensure that we give you the best experience on our website. You can change your cookie settings at any time. Otherwise, we'll assume you're OK to continue.

Durham University

Computer Science

Profile

Publication details for Professor Iain Stewart

Arratia-Quesada, A.A., Chauhan, S.R. & Stewart, I.A. (1999). Hierarchies in classes of program schemes. Journal of Logic and Computation 9(6): 915-957.

Author(s) from Durham

Abstract

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-Fraïssé 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.