Higher-order interpretations and program complexity

Patrick Baillot 1, 2 Ugo Dal Lago 3, 4
1 PLUME - Preuves et Langages
LIP - Laboratoire de l'Informatique du Parallélisme
4 FOCUS - Foundations of Component-based Ubiquitous Systems
CRISAM - Inria Sophia Antipolis - Méditerranée , DISI - Dipartimento di Informatica - Scienza e Ingegneria [Bologna]
Abstract : Polynomial interpretations and their generalizations like quasi-interpretations have been used in the setting of first-order functional languages to design criteria ensuring statically some complexity bounds on programs [10]. This fits in the area of implicit computational complexity, which aims at giving machine-free characterizations of complexity classes. In this paper, we extend this approach to the higher-order setting. For that we consider simply-typed term rewriting systems [35], we define higher-order polynomial interpretations for them, and we give a criterion ensuring that a program can be executed in polynomial time. In order to obtain a criterion flexible enough to validate interesting programs using higher-order primitives, we introduce a notion of polynomial quasi-interpretations, coupled with a simple termination criterion based on linear types and path-like orders.
Document type :
Journal articles
Complete list of metadatas

Cited literature [35 references]  Display  Hide  Download

https://hal.inria.fr/hal-01337728
Contributor : Ugo Dal Lago <>
Submitted on : Monday, June 27, 2016 - 2:58:06 PM
Last modification on : Wednesday, October 10, 2018 - 10:10:14 AM

File

main.pdf
Files produced by the author(s)

Identifiers

Citation

Patrick Baillot, Ugo Dal Lago. Higher-order interpretations and program complexity. Information and Computation, Elsevier, 2016, ⟨10.1016/j.ic.2015.12.008⟩. ⟨hal-01337728⟩

Share

Metrics

Record views

254

Files downloads

170