Higher-order interpretations and program complexity

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...

Full description

Saved in:
Bibliographic Details
Published in:Information and computation Vol. 248; pp. 56 - 81
Main Authors: Baillot, Patrick, Dal Lago, Ugo
Format: Journal Article
Language:English
Published: Elsevier Inc 01.06.2016
Elsevier
Subjects:
ISSN:0890-5401, 1090-2651
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
ISSN:0890-5401
1090-2651
DOI:10.1016/j.ic.2015.12.008