Combining Linear Logic and Size Types for Implicit Complexity
Résumé
Several type systems have been proposed to statically control the time complexity of lambdacalculus
programs and characterize complexity classes such as FPTIME or FEXPTIME. A first
line of research stems from linear logic and restricted versions of its !-modality controlling duplication.
A second approach relies on the idea of tracking the size increase between input and output,
and together with a restricted recursion scheme, to deduce time complexity bounds. However
both approaches suffer from limitations : either a limited intensional expressivity, or linearity
restrictions. In the present work we incorporate both approaches into a common type system, in
order to overcome their respective constraints. Our system is based on elementary linear logic
combined with linear size types, called sEAL, and leads to characterizations of the complexity
classes FPTIME and 2k-FEXPTIME, for k >= 0.