Polynomial time and dependent types

Atkey, Robert (2024) Polynomial time and dependent types. Proceedings of the ACM on Programming Languages (PACMPL), 8 (POPL). 2288–2317. 76. ISSN 2475-1421 (https://doi.org/10.1145/3632918)

[thumbnail of Atkey-PACMPL-2024-Polynomial-time-and-dependent-types]
Preview
Text. Filename: Atkey-PACMPL-2024-Polynomial-time-and-dependent-types.pdf
Final Published Version
License: Creative Commons Attribution 4.0 logo

Download (373kB)| Preview

Abstract

We combine dependent types with linear type systems that soundly and completely capture polynomial time computation. We explore two systems for capturing polynomial time: one system that disallows construction of iterable data, and one, based on the LFPL system of Martin Hofmann, that controls construction via a payment method. Both of these are extended to full dependent types via Quantitative Type Theory, allowing for arbitrary computation in types alongside guaranteed polynomial time computation in terms. We prove the soundness of the systems using a realisability technique due to Dal Lago and Hofmann. Our long-term goal is to combine the extensional reasoning of type theory with intensional reasoning about the resources intrinsically consumed by programs. This paper is a step along this path, which we hope will lead both to practical systems for reasoning about programs’ resource usage, and to theoretical use as a form of synthetic computational complexity theory.

ORCID iDs

Atkey, Robert ORCID logoORCID: https://orcid.org/0000-0002-4414-5047;