The Power of Non-determinism in Higher-Order Implicit Complexity - Characterising Complexity Classes Using Non-deterministic Cons-Free Programming

We investigate the power of non-determinism in purely functional programming languages with higher-order types. Specifically, we consider cons-free programs of varying data orders, equipped with explicit non-deterministic choice. Cons-freeness roughly means that data constructors cannot occur in function bodies and all manipulation of storage space thus has to happen indirectly using the call stack. While cons-free programs have previously been used by several authors to characterise complexity classes, the work on non-deterministic programs has almost exclusively considered programs of data order 0. Previous work has shown that adding explicit non-determinism to cons-free programs taking data of order 0 does not increase expressivity; we prove that this--dramatically--is not the case for higher data orders: adding non-determinism to programs with data order at least 1 allows for a characterisation of the entire class of elementary-time decidablei¾?sets. Finally we show how, even with non-deterministic choice, the original hierarchy of characterisations is restored by imposing different restrictions.

[1]  Andreas Goerdt Characterizing Complexity Classes by Higher Type Primitive Recursive Definitions , 1992, Theor. Comput. Sci..

[2]  Stephen A. Cook,et al.  Characterizations of Pushdown Machines in Terms of Time-Bounded Computers , 1971, J. ACM.

[3]  Holger Petersen,et al.  CONS-Free Programs with Tree Input (Extended Abstract) , 1998, ICALP.

[4]  Lars Kristiansen,et al.  Non-determinism in Gödel’s System T , 2011, Theory of Computing Systems.

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

[6]  Jerzy Tiuryn,et al.  An analysis of ML typability , 1994, JACM.

[7]  Neil Immerman,et al.  Descriptive Complexity , 1999, Graduate Texts in Computer Science.

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

[9]  S. Shelah,et al.  Annals of Pure and Applied Logic , 1991 .

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

[11]  Andreas Goerdt Characterizing Complexity Classes by General Recursive Definitions in Higher Types , 1992, Inf. Comput..

[12]  Martin Hofmann Programming languages capturing complexity classes , 2000, SIGA.

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

[14]  Ugo Dal Lago A Short Introduction to Implicit Computational Complexity , 2010, ESSLLI.

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

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

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

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

[19]  Peter Clote,et al.  Computational Models and Function Algebras , 1994, LCC.

[20]  Isabel Oitavem A recursion-theoretic approach to NP , 2011, Ann. Pure Appl. Log..

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