The class of Basic Feasible Functionals BFF is the second-order counterpart of the class of first-order functions computable in polynomial time. We present several implicit characterizations of BFF based on a typed programming language of terms. These terms may perform calls to imperative procedures, which are not recursive. The type discipline has two layers: the terms follow a standard simply-typed discipline and the procedures follow a standard tier-based type discipline. BFF consists exactly of the second-order functionals that are computed by typable and terminating programs. The completeness of this characterization surprisingly still holds in the absence of lambda-abstraction. Moreover, the termination requirement can be specified as a completeness-preserving instance, which can be decided in time quadratic in the size of the program. As typing is decidable in polynomial time, we obtain the first tractable (i.e., decidable in polynomial time), sound, complete, and implicit characterization of BFF, thus solving a problem opened for more than 20 years.
翻译:Basic Feasible Functionals (BFF)是第一阶可在多项式时间内计算的函数类的二阶对应。本篇论文提出了一些基于类型编程语言的BFF隐含特征。这些术语可以调用不可递归的命令式方法。类型学科有两个层面:项遵循标准的简单类型学科和程序遵循标准的层次类型学科。BFF完全由可输入且终止程序计算出来的二阶函数组成。令人惊讶的是,即使没有λ-抽象,该表征仍然具有完整性。此外,可以将终止要求指定为完备性保持的实例,其可以在程序大小的平方时间内决定。由于类型判定是可多项式时间内可决定的,因此我们获得了第一个可判定BFF的可行,完整和隐含特征,这解决了一个超过20年的问题。