The Power of Non-determinism in Higher-Order Implicit Complexity

Characterising Complexity Classes Using Non-deterministic Cons-Free Programming
  • Cynthia Kop
  • Jakob Grue Simonsen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10201)


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 decidable sets.

Finally we show how, even with non-deterministic choice, the original hierarchy of characterisations is restored by imposing different restrictions.


Implicit computational complexity Cons-free programming EXPTIME hierarchy Non-deterministic programming Unitary variables 


  1. 1.
    Bellantoni, S.: Ph.D. thesis, University of Toronto (1993)Google Scholar
  2. 2.
    Bellantoni, S., Cook, S.: A new recursion-theoretic characterization of the polytime functions. Comput. Complex. 2, 97–110 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Ben-Amram, A.M., Petersen, H.: CONS-free programs with tree input. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 271–282. Springer, Heidelberg (1998). doi: 10.1007/BFb0055060 CrossRefGoogle Scholar
  4. 4.
    Bonfante, G.: Some programming languages for Logspace and Ptime. In: Johnson, M., Vene, V. (eds.) AMAST 2006. LNCS, vol. 4019, pp. 66–80. Springer, Heidelberg (2006). doi: 10.1007/11784180_8 CrossRefGoogle Scholar
  5. 5.
    Clote, P.: Computation models and function algebras. In: Handbook of Computability Theory, pp. 589–681. Elsevier (1999)Google Scholar
  6. 6.
    Cook, S.A.: Characterizations of pushdown machines in terms of time-bounded computers. J. ACM 18(1), 4–18 (1971)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    de Carvalho, D., Simonsen, J.G.: An implicit characterization of the polynomial-time decidable sets by cons-free rewriting. In: Dowek, G. (ed.) RTA 2014. LNCS, vol. 8560, pp. 179–193. Springer, Cham (2014). doi: 10.1007/978-3-319-08918-8_13 Google Scholar
  8. 8.
    Goerdt, A.: Characterizing complexity classes by general recursive definitions in higher types. Inf. Comput. 101(2), 202–218 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Goerdt, A.: Characterizing complexity classes by higher type primitive recursive definitions. Theor. Comput. Sci. 100(1), 45–66 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Immerman, N.: Descriptive Complexity. Springer, New York (1999)CrossRefzbMATHGoogle Scholar
  11. 11.
    Jones, N.: Computability and Complexity from a Programming Perspective. MIT Press, Cambridge (1997)zbMATHGoogle Scholar
  12. 12.
    Jones, N.: The expressive power of higher-order types or, life without CONS. J. Funct. Program. 11(1), 55–94 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Kfoury, A.J., Tiuryn, J., Urzyczyn, P.: An analysis of ML typability. J. ACM 41(2), 368–398 (1994)CrossRefzbMATHGoogle Scholar
  14. 14.
    Kop, C., Simonsen, J.: Complexity hierarchies and higher-order cons-free rewriting. In: Kesner, D., Pientka, B. (eds.) FSCD. LIPIcs, vol. 52, pp. 23:1–23:18 (2016).  10.4230/LIPIcs.FSCD.2016.23
  15. 15.
    Kop, C., Simonsen, J.: The power of non-determinism in higher-order implicit complexity (extended version). Technical report, University of Copenhagen (2017).
  16. 16.
    Kristiansen, L., Mender, B.M.W.: Non-determinism in Gödel’s system T. Theory Comput. Syst. 51(1), 85–105 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Kristiansen, L., Niggl, K.-H.: Implicit computational complexity on the computational complexity of imperative programming languages. Theor. Comput. Sci. 318(1), 139–161 (2004)CrossRefzbMATHGoogle Scholar
  18. 18.
    Kristiansen, L., Voda, P.J.: Programming languages capturing complexity classes. Nord. J. Comput. 12(2), 89–115 (2005)MathSciNetzbMATHGoogle Scholar
  19. 19.
    Dal Lago, U.: A short introduction to implicit computational complexity. In: Bezhanishvili, N., Goranko, V. (eds.) ESSLLI 2010-2011. LNCS, vol. 7388, pp. 89–109. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-31485-8_3 CrossRefGoogle Scholar
  20. 20.
    Oitavem, I.: A recursion-theoretic approach to NP. Ann. Pure Appl. Log. 162(8), 661–666 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Papadimitriou, C.: Computational Complexity. Addison-Wesley, Reading (1994)zbMATHGoogle Scholar
  22. 22.
    Sipser, M.: Introduction to the Theory of Computation. Thomson Course Technology, Boston (2006)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of Copenhagen (DIKU)CopenhagenDenmark

Personalised recommendations