Abstract
The class of Basic Feasible Functionals BFF$_2$ is the type-2 counterpart of the class FP of type-1 functions computable in polynomial time. Several characterizations have been suggested in the literature, but none of these present a programming language with a type system guaranteeing this complexity bound. We give a characterization of BFF$_2$ based on an imperative language with oracle calls using a tier-based type system whose inference is decidable. Such a characterization should make it possible to link higher-order complexity with programming theory. The low complexity (cubic in the size of the program) of the type inference algorithm contrasts with the intractability of the aforementioned methods and does not overly constrain the expressive power of the language.
Highlights
Type-2 computational complexity aims to study classes of functions that take type-1 arguments
We show that the 2-tier sequential version of the type system of [MP14], characterizing FP, is a strict subsystem of the type system of Figure 3
We have presented a first tractable characterization of the class of type-2 polynomial time computable functionals BFF2 based on a simple imperative programming language
Summary
Type-2 computational complexity aims to study classes of functions that take type-1 arguments. The class characterized in these works was christened the Basic Feasible Functionals, BFF for short It was shown in [KC91, KC96] that, to type-1, feasible type-2 functions correspond to the programs computed in time polynomial in the size of their input. (1) Characterizations using a general model of computation (whether machine- or programbased) require externally imposed and explicit resource bounding, either by a type-2 polynomial [KC91, KC96, FHHP15] or a bounding function within the class of [Con, Meh76]. This is analogous to a shortcoming in Cobham’s characterization of the class. Key words and phrases: Feasible Functionals, BFF, implicit computational complexity, tiering, type-2, type system
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have