Skip to main content

Algorithmically Broad Languages for Polynomial Time and Space

  • Conference paper
  • First Online:
Logic, Language, Information, and Computation (WoLLIC 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 13038))

  • 437 Accesses

Abstract

Flexible programming languages with built-in bounds on time or space resources are of obvious practical interest. Since we know that no programming language can capture exactly the PTime (or PSpace) algorithms, the challenge is to design languages that guarantee PTime while accommodating a broad spectrum of algorithmic methods. We propose here such languages for PTime and PSpace, based on size-sensitive imperative programming, parameterless procedures, and a retooling of the ramification method.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Unlike the traditional notion of structure expansion, here may have a larger universe than .

  2. 2.

    A common alternative notation is .

  3. 3.

      memorizes the atom denoted by , in case the contraction renders that atom inaccessible.

  4. 4.

    Recall that our vocabularies are lists.

  5. 5.

      d need not be disjoint, and need not be their union.

  6. 6.

    See Definition 3.

  7. 7.

    These successor and predecessor programs are in constant time, in contrast to the linear time obtained when acting on the final atom of the input.

  8. 8.

    Leaving some ids unranked is akin to assigning them 0.

  9. 9.

    I.e. ramified recurrence over strings “with parameter substitution".

  10. 10.

    I.e. defined without subtraction or negative integers.

References

  1. Aehlig, K., Berger, U., Hofmann, M., Schwichtenberg, H.: An arithmetic for non-size-increasing polynomial-time computation. TCS 318(1–2), 3–27 (2004)

    Article  Google Scholar 

  2. Bellantoni, S.: Predicative recursion and computational complexity. Ph.D. thesis, University of Toronto (1992)

    Google Scholar 

  3. Bellantoni, S.: Predicative recursion and the polytime hierarchy. In: Clote, P., Remmel, J. (eds.) Feasible Mathematics II, pp. 15–29. Birkhäuser (1994)

    Google Scholar 

  4. Bellantoni, S., Cook, S.A.: A new recursion-theoretic characterization of the polytime functions. Comput. Complex. 2, 97–110 (1992). https://doi.org/10.1007/BF01201998

    Article  Google Scholar 

  5. Ben-Amram, A.M.: On decidable growth-rate properties of imperative programs. In: Baillot, P. (eds.) International Workshop on Developments in Implicit Computational Complexity. EPTCS, vol. 23, pp. 1–14 (2010)

    Google Scholar 

  6. Ben-Amram, A.M., Hamilton, G.W.: Tight worst-case bounds for polynomial loop programs. In: Bojańczyk, M., Simpson, A. (eds.) FoSSaCS 2019. LNCS, vol. 11425, pp. 80–97. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17127-8_5

    Chapter  Google Scholar 

  7. Ben-Amram, A.M., Jones, N.D., Kristiansen, L.: Linear, polynomial or exponential? complexity inference in polynomial time. In: Beckmann, A., Dimitracopoulos, C., Löwe, B. (eds.) CiE 2008. LNCS, vol. 5028, pp. 67–76. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69407-6_7

    Chapter  Google Scholar 

  8. Bernays, P.: A system of axiomatic set theory - part I. JSL 2, 65–77 (1937)

    Google Scholar 

  9. Bloch, S.A.: Functional characterizations of uniform log-depth and polylog-depth circuit families. In: Proceedings, Structure in Complexity Theory, pp. 193–206. IEEE Computer Society (1992)

    Google Scholar 

  10. Böhm, C., Berarducci, A.: Automatic synthesis of typed lambda-programs on term algebras. Theor. Comput. Sci. 39, 135–154 (1985)

    Article  Google Scholar 

  11. Cobham, A.: The intrinsic computational difficulty of functions. In: Bar-Hillel, Y. (ed.) Proceedings of the International Conference on Logic, Methodology, and Philosophy of Science, North-Holland, Amsterdam, pp. 24–30 (1962)

    Google Scholar 

  12. Constable, R.: Type two computational complexity. In: Proceedings of the Fifth ACM Symposium on Theory of Computing, pp. 108–121 (1973)

    Google Scholar 

  13. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Hoboken (1976)

    Google Scholar 

  14. Gries, D.: The Science of Programming. Springer, Heidelberg (1981). https://doi.org/10.1007/978-1-4612-5983-1

    Book  Google Scholar 

  15. Hájek, P.: Arithmetical hierarchy and complexity of computation. Theoret. Comput. Sci. 8, 227–237 (1979)

    Article  Google Scholar 

  16. Handley, W.G.: Bellantoni and Cook’s characterization of polynomial time functions. Typescript, August 1992

    Google Scholar 

  17. Harel, D., Kozen, D., Tiuryn, J.: Dynamic Logic. MIT Press, Cambridge (2000)

    Book  Google Scholar 

  18. Hofmann, M.: Type systems for polynomial-time computation. Ph.D. thesis, Universitat Darmstadt (1998)

    Google Scholar 

  19. Hofmann, M.: Linear types and non-size-increasing polynomial time computation. Inf. Comput. 183(1), 57–85 (2003)

    Article  Google Scholar 

  20. Kanamori, A.: Bernays and set theory. Bull. Symb. Logic 15(1), 43–69 (2009)

    Article  Google Scholar 

  21. Kristiansen, L.: The implicit computational complexity of imperative programming languages. Technical report, BRICS (2001)

    Google Scholar 

  22. Kristiansen, L., Niggl, K.-H.: On the computational complexity of imperative programming languages. Theor. Comput. Sci. 318(1–2), 139–161 (2004)

    Article  Google Scholar 

  23. Lago, U.D., Toldin, P.P.: A higher-order characterization of probabilistic polynomial time. Inf. Comput. 241, 114–141 (2015)

    Article  Google Scholar 

  24. Leivant, D.: Stratified functional programs and computational complexity. In: Twentieth Annual ACM Symposium on Principles of Programming Languages, New York, pp. 325–333. ACM (1993)

    Google Scholar 

  25. Leivant, D.: Predicative recurrence in finite types. In: Nerode, A., Matiyasevich, Y.V. (eds.) LFCS 1994. LNCS, vol. 813, pp. 227–239. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58140-5_23

    Chapter  Google Scholar 

  26. Leivant, B.: Ramified recurrence and computational complexity i: word recurrence and poly-time. In: Feasible Mathematics II, New York, pp. 320–343. Birkhauser-Boston (1994)

    Google Scholar 

  27. Leivant, D.: Ramified recurrence and computational complexity I: word recurrence and poly-time. In: Clote, P., Remmel, J. (eds.) Feasible Mathematics II, Perspectives in Computer Science, pp. 320–343. Birkhauser-Boston, New York (1994). www.cs.indiana.edu/~leivant/papers

  28. Leivant, D.: A characterization of NC by tree recurrence. In: Thirty Ninth FOCS, pp. 716–724. IEEE Computer Society (1998)

    Google Scholar 

  29. Leivant, D.: A theory of finite structures. CoRR, abs/1808.04949 (2018)

    Google Scholar 

  30. Leivant, D., Marion, J.-Y.: Ramified recurrence and computational complexity II: substitution and poly-space. In: Pacholski, L., Tiuryn, J. (eds.) CSL 1994. LNCS, vol. 933, pp. 486–500. Springer, Heidelberg (1995). https://doi.org/10.1007/BFb0022277

    Chapter  Google Scholar 

  31. Leivant, D., Marion, J.-Y.: A characterization of alternating log time by ramified recurrence. Theor. Comput. Sci. 236(1–2), 193–208 (2000)

    Article  Google Scholar 

  32. Leivant, D., Marion, J.-Y.: Evolving graph-structures and their implicit computational complexity. In: ICALP, vol. 40, pp. 349–360 (2013)

    Google Scholar 

  33. Leivant, D., Marion, J.-Y.: Implicit complexity via structure transformation. CoRR, abs/1802.03115 (2018)

    Google Scholar 

  34. Leivant, D., Marion, J.-Y.: Primitive recursion in the abstract. Math. Struct. Comput. Sci. 30(1), 33–43 (2019)

    Article  Google Scholar 

  35. Marion, J.-Y.: A type system for complexity flow analysis. In: Proceedings of the 26th Annual IEEE Symposium on Logic in Computer Science, pp. 123–132 (2011)

    Google Scholar 

  36. Meyer, A., Ritchie, D.: The complexity of loop programs. In: Proceedings of the 1967 22nd National Conference, New York, NY, USA, pp. 465–469. ACM (1967)

    Google Scholar 

  37. Niggl, K.-H., Wunderlich, H.: Certifying polynomial time and linear/polynomial space for imperative programs. SIAM J. Comput. 35(5), 1122–1147 (2006)

    Article  Google Scholar 

  38. Niggl, K.-H., Wunderlich, H.: Implicit characterizations of FPTIME and NC revisited. J. Log. Algebraic Methods Program. 79(1), 47–60 (2010)

    Article  Google Scholar 

  39. Oitavem, I.: Characterizing nc with tier 0 pointers. Math. Log. Q. 50(1), 9–17 (2004)

    Article  Google Scholar 

  40. Oitavem, I.: Characterizing PSPACE with pointers. Math. Log. Q. 54(3), 323–329 (2008)

    Article  Google Scholar 

  41. Oitavem, I.: A recursion-theoretic approach to NP. Ann. Pure Appl. Logic 162(8), 661–666 (2011)

    Article  Google Scholar 

  42. Ritchie, R.W.: Classes of predictably computable functions. Trans. AMS 106, 139–173 (1963)

    Article  Google Scholar 

  43. Schütte, K.: Proof Theory. Springer, Berlin (1977). https://doi.org/10.1007/978-3-642-66473-1

    Book  Google Scholar 

  44. Whitehead, A.N., Russell, B.: Principia Mathematica, vol. II. Cambridge University Press, Cambridge (1912)

    Google Scholar 

  45. Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. MIT Press, Cambridge (1993)

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Leivant .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Leivant, D. (2021). Algorithmically Broad Languages for Polynomial Time and Space. In: Silva, A., Wassermann, R., de Queiroz, R. (eds) Logic, Language, Information, and Computation. WoLLIC 2021. Lecture Notes in Computer Science(), vol 13038. Springer, Cham. https://doi.org/10.1007/978-3-030-88853-4_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-88853-4_23

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-88852-7

  • Online ISBN: 978-3-030-88853-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics