Results 1  10
of
12
Efficient First Order Functional Program Interpreter With Time Bound Certifications
, 2000
"... We demonstrate that the class of rst order functional programs over lists which terminate by multiset path ordering and admit a polynomial quasiinterpretation, is exactly the class of function computable in polynomial time. The interest of this result lies (i) on the simplicity of the conditions on ..."
Abstract

Cited by 25 (10 self)
 Add to MetaCart
We demonstrate that the class of rst order functional programs over lists which terminate by multiset path ordering and admit a polynomial quasiinterpretation, is exactly the class of function computable in polynomial time. The interest of this result lies (i) on the simplicity of the conditions on programs to certify their complexity, (ii) on the fact that an important class of natural programs is captured, (iii) and on potential applications on program optimizations. 1 Introduction This paper is part of a general investigation on the implicit complexity of a specication. To illustrate what we mean, we write below the recursive rules that computes the longest common subsequences of two words. More precisely, given two strings u = u1 um and v = v1 vn of f0; 1g , a common subsequence of length k is dened by two sequences of indices i 1 < < i k and j1 < < jk satisfying u i q = v j q . lcs(; y) ! 0 lcs(x; ) ! 0 lcs(i(x); i(y)) ! lcs(x; y) + 1 lcs(i(...
The Expressive Power of Higherorder Types or, Life without CONS
, 2001
"... Compare firstorder functional programs with higherorder programs allowing functions as function parameters. Can the the first program class solve fewer problems than the second? The answer is no: both classes are Turing complete, meaning that they can compute all partial recursive functions. In pa ..."
Abstract

Cited by 24 (1 self)
 Add to MetaCart
Compare firstorder functional programs with higherorder programs allowing functions as function parameters. Can the the first program class solve fewer problems than the second? The answer is no: both classes are Turing complete, meaning that they can compute all partial recursive functions. In particular, higherorder values may be firstorder simulated by use of the list constructor ‘cons’ to build function closures. This paper uses complexity theory to prove some expressivity results about small programming languages that are less than Turing complete. Complexity classes of decision problems are used to characterize the expressive power of functional programming language features. An example: secondorder programs are more powerful than firstorder, since a function f of type [Bool]〉Bool is computable by a consfree firstorder functional program if and only if f is in PTIME, whereas f is computable by a consfree secondorder program if and only if f is in EXPTIME. Exact characterizations are given for those problems of type [Bool]〉Bool solvable by programs with several combinations of operations on data: presence or absence of constructors; the order of data values: 0, 1, or higher; and program control structures: general recursion, tail recursion, primitive recursion.
A Flow Calculus of mwpBounds for Complexity Analysis
"... We present a method for certifying that the values computed by an imperative program will be bounded by polynomials in the program’s inputs. To this end, we introduce mwpmatrices and define a semantic relation  = C: M where C is a program and M is an mwpmatrix. It follows straightforwardly from o ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
We present a method for certifying that the values computed by an imperative program will be bounded by polynomials in the program’s inputs. To this end, we introduce mwpmatrices and define a semantic relation  = C: M where C is a program and M is an mwpmatrix. It follows straightforwardly from our definitions that there exists M such that  = C:M holds iff every value computed by C is bounded by a polynomial in the inputs. Furthermore, we provide a syntactical proof calculus and define the relation ⊢ C:M to hold iff there exists a derivation in the calculus where C:M is the bottom line. We prove that ⊢ C:M implies  = C:M. By means of exhaustive proof search, an algorithm can decide if there exists M such that the relation ⊢ C:M holds, and thus, our results yield a computational method. Categories and Subject Descriptors: D.2.4 [Software engineering]: Software/Program Verification; F.2.0 [Analysis of algorithms and problem complexity]: General; F.3.1 [Logics and meanings of programs]: Specifying and Verifying and Reasoning about Programs
Logspace without bounds
"... This paper provides a recursiontheoretic characterization of the functions computable in logarithmic space, without explicit bounds in the recursion schemes. It can be seen as a variation of the Clote and Takeuti characterization of logspace functions [7], which results from the implementation of a ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This paper provides a recursiontheoretic characterization of the functions computable in logarithmic space, without explicit bounds in the recursion schemes. It can be seen as a variation of the Clote and Takeuti characterization of logspace functions [7], which results from the implementation of an intrinsic growthcontrol within an inputsorted context.
Two Simple Intrinsic Characterizations of Main Complexity Classes
 In ICC ’02 [16
"... We give two simple uniform characterizations of the complexity classes L NL P NP by register machine programs. Both characterizations are intrinsic because they do not refer to any time and space bounds. The rst characterization, which permits programs to peek into their computation history, capt ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We give two simple uniform characterizations of the complexity classes L NL P NP by register machine programs. Both characterizations are intrinsic because they do not refer to any time and space bounds. The rst characterization, which permits programs to peek into their computation history, captures also Pspace and it is completely syntactical in that the restrictions on programs are decided from their syntax. The programs computing predicates of larger classes are permitted to access larger parts of their history. The second characterization restricts the access of programs to parts of their input which are then projected away by existential quantication. 1
On QuasiInterpretations, Blind Abstractions and Implicit Complexity ∗
, 2006
"... Quasiinterpretations are a technique to guarantee complexity bounds on firstorder functional programs: with termination orderings they give in particular a sufficient condition for a program to be executable in polynomial time ([14]), called here the Pcriterion. We study properties of the program ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Quasiinterpretations are a technique to guarantee complexity bounds on firstorder functional programs: with termination orderings they give in particular a sufficient condition for a program to be executable in polynomial time ([14]), called here the Pcriterion. We study properties of the programs satisfying the Pcriterion, in order to better understand its intensional expressive power. Given a program on binary lists, its blind abstraction is the nondeterministic program obtained by replacing lists by their lengths (natural numbers). A program is blindly polynomial if its blind abstraction terminates in polynomial time. We show that all programs satisfying a variant of the Pcriterion are in fact blindly polynomial. Then we give two extensions of the Pcriterion: one by relaxing the termination ordering condition, and the other one (the bounded value property) giving a necessary and sufficient condition for a program to be polynomial time executable, with memoisation. 1
Safe Recursion and Calculus over an Arbitrary
"... In this paper, we show that the Bellantoni and Cook characterization of polynomial time computable functions in term of safe recursive functions can be transfered to the model of computation over an arbitrary structure developped by L. Blum, M. Shub and S. Smale. ..."
Abstract
 Add to MetaCart
In this paper, we show that the Bellantoni and Cook characterization of polynomial time computable functions in term of safe recursive functions can be transfered to the model of computation over an arbitrary structure developped by L. Blum, M. Shub and S. Smale.
PERSPECTIVE
"... k / peo pl e/N DJ.h tml Abstract. A programming approac h to computabilit y and complexit y theory yields pro ofs of cen tral results that are sometimes more natural than the classical ones; and some new results as w ell. ..."
Abstract
 Add to MetaCart
k / peo pl e/N DJ.h tml Abstract. A programming approac h to computabilit y and complexit y theory yields pro ofs of cen tral results that are sometimes more natural than the classical ones; and some new results as w ell.
D.2.8 [Software Engineering]: Metrics—complexity measures,
"... f(0, y) = g(y) f(x + 1, y) = h(x, y, f(j1(x), y),..., f(jk(x), y) where g, h, j1,..., jk are primitive recursive and ji(x) ≤ x for i ∈ {1,..., k} , are themselves primitive recursive. A similar remark holds for recursion with parameter substituhal00642731, ..."
Abstract
 Add to MetaCart
f(0, y) = g(y) f(x + 1, y) = h(x, y, f(j1(x), y),..., f(jk(x), y) where g, h, j1,..., jk are primitive recursive and ji(x) ≤ x for i ∈ {1,..., k} , are themselves primitive recursive. A similar remark holds for recursion with parameter substituhal00642731,
Weak Affine Light Typing is complete with respect to Safe Recursion on Notation
, 804
"... Weak affine light typing (WALT) assigns light affine linear formulae as types to a subset ofλterms of System F. WALT is polytime sound: if aλterm M has type in WALT, M can be evaluated with a polynomial cost in the dimension of the derivation that gives it a type. The evaluation proceeds under an ..."
Abstract
 Add to MetaCart
Weak affine light typing (WALT) assigns light affine linear formulae as types to a subset ofλterms of System F. WALT is polytime sound: if aλterm M has type in WALT, M can be evaluated with a polynomial cost in the dimension of the derivation that gives it a type. The evaluation proceeds under any strategy of a rewriting relation which is a mix of both callbyname and callbyvalueβreductions. WALT weakens, namely generalizes, the notion of “stratification of deductions”, common to some Light Systems — those logical systems, derived from Linear logic, to characterize the set of Polynomial functions —. A weaker stratification allows to define a compositional embedding of Safe recursion on notation (SRN) into WALT. It turns out that the expressivity of WALT is strictly stronger than the one of the known Light Systems. The embedding passes through the representation of a subsystem of SRN. It is obtained by restricting the composition scheme of SRN to one that can only use its safe variables linearly. On one side, this suggests that SRN, in fact, can be redefined in terms of more primitive constructs. On the other, the embedding of SRN into WALT enjoys the two following remarkable aspects. Every datatype, required by the embedding, is represented from scratch, showing the strong structural prooftheoretical roots of WALT. Moreover, the embedding highlights a stratification structure of the normal and safe arguments, normally hidden inside