摘要
This paper describes the automated complexity analysis (ACA) system for automated higher-order complexity analysis of functional programs synthesized with the NUPRL proof development system. We introduce a general framework for defining models of computational complexity for functional programs based on an annotation of a given operational language semantics. Within this framework, we use type decomposition and polynomialization to express the complexity of higher-order terms. Symbolic interpretation of open terms automates complexity analysis, which involves generating and solving higher-order recurrence equations. Finally, the use of the ACA system is demonstrated by analyzing three different implementations of the pigeonhole principle.
摘要译文
本文介绍了使用NUPRL证明开发系统合成的功能程序的自动化复杂度分析(ACA)系统的自动化高阶复杂性分析。基于给定的操作语言语义的注释,我们引入了定义功能程序的计算复杂度模型的一般框架。在这个框架下,我们使用类型分解和多项式来表示高阶项的复杂度。开放术语的符号解释自动化复杂度分析,其涉及生成和求解高阶复现方程。最后,通过分析三种不同的执行原理来证明ACA系统的使用。
Ralph Benzinger. Automated higher-order complexity analysis[J]. Theoretical Computer Science, 2004,318(1-2): 79-103