Skip to main content

Expressing computational complexity in constructive type theory

  • Conference paper
  • First Online:
Logic and Computational Complexity (LCC 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 960))

Included in the following conference series:

Abstract

It is notoriously hard to express computational complexity properties of programs in programming logics based on a semantics which respects extensional function equality. This is a serious impediment to certain key applications of programming logics, even those which apply very well otherwise.

This paper shows how to define computational complexity measures in such logics as long as they support inductively defined types, dependent products, and functions. The method exploits a natural feature of inductive definitions in type theory, namely that implicit codes are kept with the objects showing how they are presented in the inductive class.

The adequacy of the proposed definition depends on a faithfulness theorem showing that the external (or meta-level) definition of complexity is respected by the internal definition. The results are applied to defining resource bounded quantifiers that can be used to state complexity constraints on constructive proofs and their extracted programs. In such resource bounded logics it is possible to prove theorems like a PTime axiom of choice. The results of the paper bridge the fields of semantics and complexity to a small extent.

Work supported in part by NSF grant CCR-9244739 and ONR grant N00014-92-J-1764

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. S. F. Allen, R. L. Constable, D. J. Howe, and W. Aitken. The Semantics of Reflected Proof. In Proc. of Fifth Symp. on Logic in Comp. Sci., pages 95–197. IEEE, June 1990.

    Google Scholar 

  2. J. L. Bates and R. L. Constable. Proofs as programs. ACM Trans. Program. Lang. and Syst., 7(1):53–71, 1985.

    Google Scholar 

  3. S. Bellantoni and S. Cook. A new recursion-theoretic characterization of the poly-time functions. Computational Complexity, 2:97–110, 1992.

    Article  Google Scholar 

  4. M. Blum. A machine independent theory of computational complexity. J. ACM, 14:322–336, 1967.

    Article  Google Scholar 

  5. S. Buss. The polynomial hierarchy and intuitionistic bounded arithmetic. In Structure in Complexity Theory, Lecture Notes in Computer Science No. 223, pages 77–103. Springer-Verlag, 1986.

    Google Scholar 

  6. A. Cobham. The intrinsic computational difficulty of functions. In Y. Bar-Hillel, editor, Proc. of the 1964 Int. Congress for Logic, Methodology, and Phil. of Sci., pages 24–30, North-Holland, 1965.

    Google Scholar 

  7. R. L. Constable. Type two computational complexity. In Proc. 5th ACM Symp., Theory of Computing, pages 108–121, 1973.

    Google Scholar 

  8. R. L. Constable, S. F. Allen, H. Bromley, W. Cleaveland, J. Cremer, R. Harper, D. J. Howe, T. Knoblock, N. Mendler, P. Panangaden, J. T. Sasaki, and S. F. Smith. Implementing Mathematics with the Nuprl Development System. Prentice-Hall, NJ, 1986.

    Google Scholar 

  9. R. L. Constable and N. Mendler. Recursive Definitions in Type Theory. In Proc. of Logics of Prog. Conf., pages 61–78, January 1985. (Cornell TR 85-659).

    Google Scholar 

  10. R. L. Constable and D. Zlatin. The type theory of PL/CV3". ACM Trans. on Prog. Lang. and Systems, 6(1):94–117, January, 1984.

    Article  Google Scholar 

  11. S. Cook and A. Urquhart. Functional interpretations of feasibly constructive arithmetic. In Proceedings of 21st Symposium on the Theory of Computing, pages 107–112. ACM, 1989. To appear in Annals of Pure and Applied Logic.

    Google Scholar 

  12. S. A. Cook and B. M. Kapron. Characterizations of the basic feasible functionals of finite type. In S. Buss and P. Scott, editors, Proceedings of MSI Workshop on Feasible Mathematics, pages 71–95, New York, 1990. Birkhauser-Boston.

    Google Scholar 

  13. N. G. deBruijn. The mathematical language Automath, its usage and some of its extensions. In Symp. on Automatic Demonstration, Lecture Notes in Mathematics, Vol. 125, pages 29–61. Springer-Verlag, 1970.

    Google Scholar 

  14. P. Dybjer. Inductive sets and families in Martin-Löf's type theory and their set-theoretic semantics. In G. Huet and G. Plotkin, editors, Logical Frameworks, pages 280–306. Cambridge University Press, 1991.

    Google Scholar 

  15. S. Feferman. A language and axioms for explicit mathematics. In Algebra and Logic, Lecture Notes in Mathematics, pages 87–139. Springer-Verlag, 1975.

    Google Scholar 

  16. J.-Y. Girard, A. Scedrov, and P. J. Scott. Bounded linear logic. Theoretical Computer Science, 97(1):1–66, 1992.

    Article  Google Scholar 

  17. A. Grzegorczyk. Recursive objects in all finite types. Fundamenta Mathematicae, 54:73–93, 1964.

    Google Scholar 

  18. J. Hartmanis and R. Stearns. On the computational complexity of algorithms. Transactions of the American Mathematics Society, 117:285–306, 1965.

    Google Scholar 

  19. W. Howard. The formulas-as-types notion of construction. In To H.B. Curry: Essays on Combinatory Logic, Lambda-Calculus and Formalism, pages 479–490. Academic Press, NY, 1980.

    Google Scholar 

  20. D. J. Howe. On computational open-endedness in Martin-Löf's type theory. In Proc. of Sixth Symp. on Logic in Comp. Sci., pages 162–172. IEEE Computer Society, 1991.

    Google Scholar 

  21. S. C. Kleene. Introduction to Metamathematics. D. Van Nostrand, Princeton, 1952.

    Google Scholar 

  22. D. Leivant. Functions over free algebras definable in the simply typed lambda calculus. Theoretical Computer Science, 121:309–321, 1993.

    Google Scholar 

  23. D. Leivant. Stratified functional programs and computational complexity. In Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 325–333, Charleston, SC, January 1993. ACM, ACM Press.

    Google Scholar 

  24. P. Martin-Löf. Intuitionistic Type Theory, Studies in Proof Theory, Lecture Notes. Bibliopolis, Napoli, 1984.

    Google Scholar 

  25. K. Mehlhorn. Polynomial and abstract subrecursive classes. Journal of Computer and System Sciences, pages 148–176, 1976.

    Google Scholar 

  26. F. Pfenning and C. Paulin-Mohring. Inductively defined types in the calculus of constructions. In Mathematical Foundations of Program Semantics, 5th International Conference, Lecture Notes in Computer Science, Vol. 442, pages 209–228. Springer-Verlag, 1989.

    Google Scholar 

  27. D. Scott. Data types as lattices. SIAM J. Comput., 5:522–87, 1976.

    Google Scholar 

  28. S. Smith and R. L. Constable. Partial objects in constructive type theory. In Proc. of Second Symp. on Logic in Comp. Sci., pages 183–93. IEEE, Washington, D.C., 1987.

    Google Scholar 

  29. K. Weihrauch. A simple and powerful approach for studying constructivity, computability and complexity. In J. Myers and M. O'Donnell, editors, Constructivity in Computer Science, Logic in Computer Science 613, pages 228–246. Springer-Verlag, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Daniel Leivant

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Constable, R.L. (1995). Expressing computational complexity in constructive type theory. In: Leivant, D. (eds) Logic and Computational Complexity. LCC 1994. Lecture Notes in Computer Science, vol 960. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60178-3_82

Download citation

  • DOI: https://doi.org/10.1007/3-540-60178-3_82

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60178-4

  • Online ISBN: 978-3-540-44720-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics