19 research outputs found
Continuous and monotone machines
We investigate a variant of the fuel-based approach to modeling diverging computation in type theories and use it to abstractly capture the essence of oracle Turing machines. The resulting objects we call continuous machines. We prove that it is possible to translate back and forth between such machines and names in the standard function encoding used in computable analysis. Put differently, among the operators on Baire space, exactly the partial continuous ones are implementable by continuous machines and the data that such a machine provides is a description of the operator as a sequentially realizable functional. Continuous machines are naturally formulated in type theories and we have formalized our findings in Coq as part of Incone, a Coq library for computable analysis. The correctness proofs use a classical meta-theory with countable choice. Along the way we formally prove some known results such as the existence of a self-modulating modulus of continuity for partial continuous operators on Baire space. To illustrate their versatility we use continuous machines to specify some algorithms that operate on objects that cannot be fully described by finite means, such as real numbers and functions. We present particularly simple algorithms for finding the multiplicative inverse of a real number and for composition of partial continuous operators on Baire space. Some of the simplicity is achieved by utilizing the fact that continuous machines are compatible with multivalued semantics
A generic imperative language for polynomial time
The ramification method in Implicit Computational Complexity has been
associated with functional programming, but adapting it to generic imperative
programming is highly desirable, given the wider algorithmic applicability of
imperative programming. We introduce a new approach to ramification which,
among other benefits, adapts readily to fully general imperative programming.
The novelty is in ramifying finite second-order objects, namely finite
structures, rather than ramifying elements of free algebras. In so doing we
bridge between Implicit Complexity's type theoretic characterizations of
feasibility, and the data-flow approach of Static Analysis.Comment: 18 pages, submitted to a conferenc
Theory of higher order interpretations and application to Basic Feasible Functions
Interpretation methods and their restrictions to polynomials have been deeply
used to control the termination and complexity of first-order term rewrite
systems. This paper extends interpretation methods to a pure higher order
functional language. We develop a theory of higher order functions that is
well-suited for the complexity analysis of this programming language. The
interpretation domain is a complete lattice and, consequently, we express
program interpretation in terms of a least fixpoint. As an application, by
bounding interpretations by higher order polynomials, we characterize Basic
Feasible Functions at any order
Computational complexity of real functions
AbstractRecursive analysis, the theory of computation of functions on real numbers, has been studied from various aspects. We investigate the computational complexity of real functions using the methods of recursive function theory. Partial recursive real functions are defined and their domains are characterized as the recursively open sets. We define the time complexity of recursive real continuous functions and show that the time complexity and the modulus of uniform continuity of a function are closely related. We study the complexity of the roots and the differentiability of polynomial time computable real functions. In particular, a polynomial time computable real function may have a root of arbitrarily high complexity and may be nowhere differentiable. The concepts of the space complexity and nondeterministic computation are used to study the complexity of the integrals and the maximum values of real functions. These problems are shown to be related to the “P=?NP” and the “P=?PSPACE” questions
Complete and tractable machine-independent characterizations of second-order polytime
The class of Basic Feasible Functionals BFF is the second-order counterpart
of the class of first-order functions computable in polynomial time. We present
several implicit characterizations of BFF based on a typed programming language
of terms. These terms may perform calls to non-recursive imperative procedures.
The type discipline has two layers: the terms follow a standard simply-typed
discipline and the procedures follow a standard tier-based type discipline. BFF
consists exactly of the second-order functionals that are computed by typable
and terminating programs. The completeness of this characterization
surprisingly still holds in the absence of lambda-abstraction. Moreover, the
termination requirement can be specified as a completeness-preserving instance,
which can be decided in time quadratic in the size of the program. As typing is
decidable in polynomial time, we obtain the first tractable (i.e., decidable in
polynomial time), sound, complete, and implicit characterization of BFF, thus
solving a problem opened for more than 20 years
A tier-based typed programming language characterizing Feasible Functionals
The class of Basic Feasible Functionals BFF is the type-2 counterpart of
the class FP of type-1 functions computable in polynomial time. Several
characterizations have been suggested in the literature, but none of these
present a programming language with a type system guaranteeing this complexity
bound. We give a characterization of BFF based on an imperative language
with oracle calls using a tier-based type system whose inference is decidable.
Such a characterization should make it possible to link higher-order complexity
with programming theory. The low complexity (cubic in the size of the program)
of the type inference algorithm contrasts with the intractability of the
aforementioned methods and does not overly constrain the expressive power of
the language
Domain-independent queries on databases with external functions
AbstractWe study queries over databases with external functions, from a language-independent perspective. The input and output types of the external functions can be atomic values, flat relations, nested relations, etc. We propose a new notion of data-independence for queries on databases with external functions, which extends naturally the notion of generic queries on relational databases without external functions. In contrast to previous such notions, ours can also be applied to queries expressed in query languages with iterations. Next, we propose two natural notions of computability for queries over databases with external functions, and prove that they are equivalent, under reasonable assumptions. Thus, our definition of computability is robust. Finally, based on this equivalence result, we give examples of complete query languages with external functions. A byproduct of the equivalence result is the fact that Relational Machines (Abiteboul and V. Vianu, 1991; Abiteboul et al., 1992) are complete on nested relations: they are known not to be complete on flat relations
Elementary analytic functions in
It is known that rational approximations of elementary analytic functions
(exp, log, trigonometric, and hyperbolic functions, and their inverse
functions) are computable in the weak complexity class . We show
how to formalize the construction and basic properties of these functions in
the corresponding theory of bounded arithmetic, .Comment: 57 page