Abstract

In the past few years, there has been a growing interest in the application of proof-theoretical methods to the design of functional programming languages [3, 11]. One approach relies on representation theorems [3, 8, 10], which show that a large class of general recursive functions can be encoded in a language where general recursion is replaced by primitive recursion with functions, functionals,… as parameters [13]. These results are however purely extensional in nature: they state that a large class of mathematical functions is representable in a given system, but they say nothing about the efficiency of such a representation. Although the intensional aspect is of primary concern for computer science, very little seems to be known about this question. This paper is a beginning in the study of this problem. We take as a case study the following computational model: a primitive recursive function is seen as defining a rewriting system which is evaluated in call-by-name. In this setting, we give a non-trivial necessary condition for an algorithm to be representable. As an application, we can show that the function inf (which computes the minimum of two integers in unary representation) cannot be programmed in complexity O(inf( n,p)). Our proof method uses some basic notions of denotational semantics.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.