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
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
J. L. Bates and R. L. Constable. Proofs as programs. ACM Trans. Program. Lang. and Syst., 7(1):53–71, 1985.
S. Bellantoni and S. Cook. A new recursion-theoretic characterization of the poly-time functions. Computational Complexity, 2:97–110, 1992.
M. Blum. A machine independent theory of computational complexity. J. ACM, 14:322–336, 1967.
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.
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.
R. L. Constable. Type two computational complexity. In Proc. 5th ACM Symp., Theory of Computing, pages 108–121, 1973.
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.
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).
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.
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.
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.
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.
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.
S. Feferman. A language and axioms for explicit mathematics. In Algebra and Logic, Lecture Notes in Mathematics, pages 87–139. Springer-Verlag, 1975.
J.-Y. Girard, A. Scedrov, and P. J. Scott. Bounded linear logic. Theoretical Computer Science, 97(1):1–66, 1992.
A. Grzegorczyk. Recursive objects in all finite types. Fundamenta Mathematicae, 54:73–93, 1964.
J. Hartmanis and R. Stearns. On the computational complexity of algorithms. Transactions of the American Mathematics Society, 117:285–306, 1965.
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.
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.
S. C. Kleene. Introduction to Metamathematics. D. Van Nostrand, Princeton, 1952.
D. Leivant. Functions over free algebras definable in the simply typed lambda calculus. Theoretical Computer Science, 121:309–321, 1993.
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.
P. Martin-Löf. Intuitionistic Type Theory, Studies in Proof Theory, Lecture Notes. Bibliopolis, Napoli, 1984.
K. Mehlhorn. Polynomial and abstract subrecursive classes. Journal of Computer and System Sciences, pages 148–176, 1976.
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.
D. Scott. Data types as lattices. SIAM J. Comput., 5:522–87, 1976.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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