Results 1  10
of
232
Linear Types and NonSizeIncreasing Polynomial Time Computation
 Information and Computation
, 1998
"... this paper we present a typetheoretic approach to this problem. We will develop a fairly natural linear type system which has the property that all definable functions are nonsize increasing and which boasts higherorder recursion on datatypes without any predicativity restriction. We will show th ..."
Abstract

Cited by 89 (13 self)
 Add to MetaCart
this paper we present a typetheoretic approach to this problem. We will develop a fairly natural linear type system which has the property that all definable functions are nonsize increasing and which boasts higherorder recursion on datatypes without any predicativity restriction. We will show that nevertheless all definable firstorder functions are polynomial time computable even if they contain higherorder functions as subexpressions
Optimizing Object Queries Using an Effective Calculus
 ACM Transactions on Database Systems
, 1998
"... This paper concentrates on query unnesting (also known as query decorrelation), an optimization that, even though improves performance considerably, is not treated properly (if at all) by most OODB systems. Our framework generalizes many unnesting techniques proposed recently in the literature and i ..."
Abstract

Cited by 47 (2 self)
 Add to MetaCart
This paper concentrates on query unnesting (also known as query decorrelation), an optimization that, even though improves performance considerably, is not treated properly (if at all) by most OODB systems. Our framework generalizes many unnesting techniques proposed recently in the literature and is capable of removing any form of query nesting using a very simple and efficient algorithm. The simplicity of our method is due to the use of the monoid comprehension calculus as an intermediate form for OODB queries. The monoid comprehension calculus treats operations over multiple collection types, aggregates, and quantifiers in a similar way, resulting in a uniform way of unnesting queries, regardless of their type of nesting.
Predicative Recursion and Computational Complexity
, 1992
"... The purpose of this thesis is to give a "foundational" characterization of some common complexity classes. Such a characterization is distinguished by the fact that no explicit resource bounds are used. For example, we characterize the polynomial time computable functions without making an ..."
Abstract

Cited by 47 (3 self)
 Add to MetaCart
The purpose of this thesis is to give a "foundational" characterization of some common complexity classes. Such a characterization is distinguished by the fact that no explicit resource bounds are used. For example, we characterize the polynomial time computable functions without making any direct reference to polynomials, time, or even computation. Complexity classes characterized in this way include polynomial time, the functional polytime hierarchy, the logspace decidable problems, and NC. After developing these "resource free" definitions, we apply them to redeveloping the feasible logical system of Cook and Urquhart, and show how this firstorder system relates to the secondorder system of Leivant. The connection is an interesting one since the systems were defined independently and have what appear to be very different rules for the principle of induction. Furthermore it is interesting to see, albeit in a very specific context, how to retract a second order statement, ("inducti...
Light types for polynomial time computation in lambdacalculus
 In Proceedings of the 19th IEEE Syposium on Logic in Computer Science
, 2004
"... We propose a new type system for lambdacalculus ensuring that welltyped programs can be executed in polynomial time: Dual light affine logic (DLAL). DLAL has a simple type language with a linear and an intuitionistic type arrow, and one modality. It corresponds to a fragment of Light affine logic ..."
Abstract

Cited by 39 (11 self)
 Add to MetaCart
(Show Context)
We propose a new type system for lambdacalculus ensuring that welltyped programs can be executed in polynomial time: Dual light affine logic (DLAL). DLAL has a simple type language with a linear and an intuitionistic type arrow, and one modality. It corresponds to a fragment of Light affine logic (LAL). We show that contrarily to LAL, DLAL ensures good properties on lambdaterms: subject reduction is satisfied and a welltyped term admits a polynomial bound on the reduction by any strategy. Finally we establish that as LAL, DLAL allows to represent all polytime functions. 1
Resource Control for Synchronous Cooperative Threads
 In CONCUR, volume 3170 of LNCS
, 2004
"... We develop new methods to statically bound the resources needed for the execution of systems of concurrent, interactive threads. ..."
Abstract

Cited by 36 (5 self)
 Add to MetaCart
(Show Context)
We develop new methods to statically bound the resources needed for the execution of systems of concurrent, interactive threads.
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 33 (12 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(...
Algorithms With Polynomial Interpretation Termination Proof
 Journal of Functional Programming
, 1999
"... We study the effect of polynomial interpretation termination proofs of deterministic (resp. nondeterministic) algorithms defined by confluent (resp. nonconfluent) rewrite systems over data structures which include strings, lists and trees, and we classify them according to the interpretations of t ..."
Abstract

Cited by 30 (5 self)
 Add to MetaCart
We study the effect of polynomial interpretation termination proofs of deterministic (resp. nondeterministic) algorithms defined by confluent (resp. nonconfluent) rewrite systems over data structures which include strings, lists and trees, and we classify them according to the interpretations of the constructors. This leads to the definition of six classes which turn out to be exactly the deterministic (resp. nondeterministic) polytime, linear exponentialtime and doubly linear exponential time computable functions when the class is based on conuent (resp. nonconfluent) rewrite systems. We also obtain a characterisation of the linear space computable functions. Finally, we demonstrate that functions with exponential interpretation termination proofs are superelementary.
Database Query Languages Embedded in the Typed Lambda Calculus
, 1993
"... We investigate the expressive power of the typed calculus when expressing computations over finite structures, i.e., databases. We show that the simply typed calculus can express various database query languages such as the relational algebra, fixpoint logic, and the complex object algebra. In ..."
Abstract

Cited by 28 (6 self)
 Add to MetaCart
We investigate the expressive power of the typed calculus when expressing computations over finite structures, i.e., databases. We show that the simply typed calculus can express various database query languages such as the relational algebra, fixpoint logic, and the complex object algebra. In our embeddings, inputs and outputs are terms encoding databases, and a program expressing a query is a term which types when applied to an input and reduces to an output.
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 28 (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 &lsqb;Bool&rsqb;〉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 &lsqb;Bool&rsqb;〉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.