Results 11  20
of
233
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 29 (4 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.
Higher Type Recursion, Ramification and Polynomial Time
 Annals of Pure and Applied Logic
, 1999
"... It is shown how to restrict recursion on notation in all finite types so as to characterize the polynomial time computable functions. The restrictions are obtained by enriching the type structure with the formation of types !oe, and by adding linear concepts to the lambda calculus. 1 Introduction ..."
Abstract

Cited by 28 (3 self)
 Add to MetaCart
(Show Context)
It is shown how to restrict recursion on notation in all finite types so as to characterize the polynomial time computable functions. The restrictions are obtained by enriching the type structure with the formation of types !oe, and by adding linear concepts to the lambda calculus. 1 Introduction Recursion in all finite types was introduced by Hilbert [9] and later became known as the essential part of Godel's system T [8]. This system has long been viewed as a powerful scheme unsuitable for describing small complexity classes such as polynomial time. Simmons [16] showed that ramification can be used to characterize the primitive recursive functions by higher type recursion, and Leivant and Marion [14] showed that another form of ramification can be used to restrict higher type recursion to PSPACE. However, to characterize the much smaller class of polynomialtime computable functions by higher type recursion, it seems that an additional principle is required. By introducing linear...
Sequences, Datalog and Transducers
, 1996
"... This paper develops a query language for sequence databases, such as genome databases and text databases. The language, called SequenceDatalog, extends classical Datalog with interpreted function symbols for manipulating sequences. It has both a clear operational and declarative semantics, based on ..."
Abstract

Cited by 26 (5 self)
 Add to MetaCart
This paper develops a query language for sequence databases, such as genome databases and text databases. The language, called SequenceDatalog, extends classical Datalog with interpreted function symbols for manipulating sequences. It has both a clear operational and declarative semantics, based on a new notion called the extended active domain of a database. The extended domain contains all the sequences in the database and all their subsequences. This idea leads to a clear distinction between safe and unsafe recursion over sequences: safe recursion stays inside the extended active domain, while unsafe recursion does not. By carefully limiting the amountof unsafe recursion, the paper develops a safe and expressive subset of Sequence Datalog. As part of the development, a new type of transducer is introduced, called a generalized sequence transducer. Unsafe recursion is allowed only within these generalized transducers. Generalized transducers extend ordinary transducers by allowing them to invoke other transducers as "subroutines." Generalized transducers can be implemented in Sequence Datalog in a straightforward way. Moreover, their introduction into the language leads to simple conditions that guarantee safety and finiteness. This paper develops two such conditions. The first condition expresses exactly the class of ptime sequence functions; and the second expresses exactly the class of elementary sequence functions.
Safe recursion with higher types and BCKalgebra
 Annals of Pure and Applied Logic
, 2000
"... In previous work the author has introduced a lambda calculus SLR with modal and linear types which serves as an extension of BellantoniCook's function algebra BC to higher types. It is a step towards a functional programming language in which all programs run in polynomial time. In this paper ..."
Abstract

Cited by 26 (3 self)
 Add to MetaCart
In previous work the author has introduced a lambda calculus SLR with modal and linear types which serves as an extension of BellantoniCook's function algebra BC to higher types. It is a step towards a functional programming language in which all programs run in polynomial time. In this paper we develop a semantics of SLR using BCKalgebras consisting of certain polynomialtime algorithms. It will follow from this semantics that safe recursion with arbitrary result type built up from N and ( as well as recursion over trees and other data structures remains within polynomial time. In its original formulation SLR supported only natural numbers and recursion on notation with first order functional result type. 1 Introduction In [10] and [11] we have introduced a lambda calculus SLR which generalises the BellantoniCook characterisation of PTIME [2] to higherorder functions. The separation between normal and safe variables which is crucial to the BellantoniCook system has been achieved...
A Linguistic Characterization of Bounded Oracle Computation and Probabilistic Polynomial Time
, 1998
"... We present a higherorder functional notation for polynomialtime computation with an arbitrary 0, 1valued oracle. This formulation provides a linguistic characterization for classes such as NP and BPP, as well as a notation for probabilistic polynomialtime functions. The language is derived from H ..."
Abstract

Cited by 26 (9 self)
 Add to MetaCart
We present a higherorder functional notation for polynomialtime computation with an arbitrary 0, 1valued oracle. This formulation provides a linguistic characterization for classes such as NP and BPP, as well as a notation for probabilistic polynomialtime functions. The language is derived from Hofmann 's adaptation of BellantoniCook safe recursion, extended to oracle computation via work derived from that of Kapron and Cook. Like Hofmann's language, ours is an applied typed lambda calculus with complexity bounds enforced by a type system. The type system uses a modal operator to distinguish between two sorts of numerical expressions. Recursion can take place on only one of these sorts. The proof that the language captures precisely oracle polynomial time is modeltheoretic, using adaptations of various techniques from category theory.
G.: Automated Complexity Analysis Based on the Dependency Pair Method
 IJCAR 2008. LNCS (LNAI
, 2008
"... Abstract. In this paper, we present a variant of the dependency pair method for analysing runtime complexities of term rewrite systems automatically. This method is easy to implement, but signi cantly extends the analytic power of existing direct methods. Our ndings extend the class of TRSs whose li ..."
Abstract

Cited by 26 (9 self)
 Add to MetaCart
(Show Context)
Abstract. In this paper, we present a variant of the dependency pair method for analysing runtime complexities of term rewrite systems automatically. This method is easy to implement, but signi cantly extends the analytic power of existing direct methods. Our ndings extend the class of TRSs whose linear or quadratic runtime complexity can be detected automatically. We provide ample numerical data for assessing the viability of the method. 1
Analysing the Implicit Complexity of Programs
, 2000
"... We construct a termination ordering, called light multiset path ordering (LMPO), which is a restriction of the multiset path ordering. We establish that the class of programs based on rewriting rules on lists which is terminating by LMPO, characterises exactly the functions computable in polynomial ..."
Abstract

Cited by 25 (7 self)
 Add to MetaCart
We construct a termination ordering, called light multiset path ordering (LMPO), which is a restriction of the multiset path ordering. We establish that the class of programs based on rewriting rules on lists which is terminating by LMPO, characterises exactly the functions computable in polynomial time.
A Functional Scenario for Bytecode Verification of Resource Bounds
 In Jerzy Marcinkowski and Andrzej Tarlecki, editors, Computer Science Logic, 18th International Workshop, CSL 13th Annual Conference of the EACSL, Karpacz
, 2004
"... We consider a scenario where (functional) programs in precompiled form are exchanged among untrusted parties. Our contribution is a system of annotations for the code that can be verified at load time so as to ensure bounds on the time and space resources required for its execution, as well as t ..."
Abstract

Cited by 22 (4 self)
 Add to MetaCart
(Show Context)
We consider a scenario where (functional) programs in precompiled form are exchanged among untrusted parties. Our contribution is a system of annotations for the code that can be verified at load time so as to ensure bounds on the time and space resources required for its execution, as well as to guarantee the usual integrity properties.
A mixed modal/linear lambda calculus with applications to BellantoniCook safe recursion
, 1998
"... . This paper introduces a simplytyped lambda calculus with both modal and linear function types. Through the use of subtyping extra term formers associated with modality and linearity are avoided. We study the basic metatheory of this system including existence and inference of principal types. The ..."
Abstract

Cited by 19 (7 self)
 Add to MetaCart
. This paper introduces a simplytyped lambda calculus with both modal and linear function types. Through the use of subtyping extra term formers associated with modality and linearity are avoided. We study the basic metatheory of this system including existence and inference of principal types. The system serves as a platform for certain higherorder generalisations of BellantoniCook's function algebra capturing polynomial time using a separation of the variables into "safe" and "normal" ones. The distinction between and the syntactic restrictions involved with the safe and normal variables in the BellantoniCook framework are captured by the modal function space and the associated typing rules. The linear function spaces on the other hand are used to enable a certain form of primitive recursion with functional result type which is conservative over polynomial time. The proofs associated with these applications are based on an interpretation of the lambda calculus in a categorytheor...