Complexity Hierarchies and Higher-order Cons-free Term Rewriting

Constructor rewriting systems are said to be cons-free if, roughly, constructor terms in the right-hand sides of rules are subterms of constructor terms in the left-hand side; the computational intuition is that rules cannot build new data structures. It is well-known that cons-free programming languages can be used to characterize computational complexity classes, and that cons-free first-order term rewriting can be used to characterize the set of polynomial-time decidable sets. We investigate cons-free higher-order term rewriting systems, the complexity classes they characterize, and how these depend on the order of the types used in the systems. We prove that, for every k $\geq$ 1, left-linear cons-free systems with type order k characterize E$^k$TIME if arbitrary evaluation is used (i.e., the system does not have a fixed reduction strategy). The main difference with prior work in implicit complexity is that (i) our results hold for non-orthogonal term rewriting systems with possible rule overlaps with no assumptions about reduction strategy, (ii) results for such term rewriting systems have previously only been obtained for k = 1, and with additional syntactic restrictions on top of cons-freeness and left-linearity. Our results are apparently among the first implicit characterizations of the hierarchy E = E$^1$TIME $\subseteq$ E$^2$TIME $\subseteq$ .... Our work confirms prior results that having full non-determinism (via overlaps of rules) does not directly allow characterization of non-deterministic complexity classes like NE. We also show that non-determinism makes the classes characterized highly sensitive to minor syntactic changes such as admitting product types or non-left-linear rules.

[1]  Guillaume Bonfante Some Programming Languages for Logspace and Ptime , 2006, AMAST.

[2]  Albert Rubio,et al.  The Computability Path Ordering: The End of a Quest , 2008, CSL.

[3]  Neil D. Jones The expressive power of higher-order types or, life without CONS , 2001, J. Funct. Program..

[4]  Lauri Hella,et al.  Computing queries with higher-order logics , 2006, Theor. Comput. Sci..

[5]  Helmut Schwichtenberg,et al.  Higher type recursion, ramification and polynomial time , 2000, Ann. Pure Appl. Log..

[6]  Eitan M. Gurari,et al.  Introduction to the theory of computation , 1989 .

[7]  Salil P. Vadhan,et al.  Computational Complexity , 2005, Encyclopedia of Cryptography and Security.

[8]  Jakob Grue Simonsen,et al.  The Power of Non-determinism in Higher-Order Implicit Complexity - Characterising Complexity Classes Using Non-deterministic Cons-Free Programming , 2017, ESOP.

[9]  Martin Hofmann,et al.  Type Systems For Polynomial-time Computation , 1999 .

[10]  Marco Gaboardi,et al.  A PolyTime Functional Language from Light Linear Logic , 2010, ESOP.

[11]  Albert Rubio,et al.  The higher-order recursive path ordering , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[12]  Jakob Grue Simonsen,et al.  An Implicit Characterization of the Polynomial-Time Decidable Sets by Cons-Free Rewriting , 2014, RTA-TLCA.

[13]  Lars Kristiansen,et al.  On the computational complexity of imperative programming languages , 2004, Theor. Comput. Sci..

[14]  Georg Moser,et al.  Polynomial Path Orders , 2013, Log. Methods Comput. Sci..

[15]  Georg Moser,et al.  A new order-theoretic characterisation of the polytime computable functions☆ , 2012, APLAS.

[16]  Gabriel M. Kuper,et al.  On the Complexity of Queries in the Logical Data Model , 1993, Theor. Comput. Sci..

[17]  Tobias Nipkow,et al.  Higher-Order Rewrite Systems and Their Confluence , 1998, Theor. Comput. Sci..

[18]  Femke van Raamsdonk,et al.  Higher-Order Rewriting , 1999, RTA.

[19]  Cynthia Kop Non-deterministic Characterisations , 2017, ArXiv.

[20]  Ugo Dal Lago,et al.  Higher-Order Interpretations and Program Complexity , 2012, CSL.

[21]  Jakob Grue Simonsen,et al.  Complexity Hierarchies and Higher-Order Cons-Free Rewriting , 2016, FSCD.

[22]  Neil D. Jones,et al.  Computability and complexity - from a programming perspective , 1997, Foundations of computing series.

[23]  Stephen A. Cook,et al.  A new recursion-theoretic characterization of the polytime functions , 1992, STOC '92.

[24]  Georg Moser,et al.  Closing the Gap Between Runtime Complexity and Polytime Computability , 2010, RTA.

[25]  Patrick Baillot From Proof-Nets to Linear Logic Type Systems for Polynomial Time Computing , 2007, TLCA.