319 research outputs found
Bounding normalization time through intersection types
Non-idempotent intersection types are used in order to give a bound of the
length of the normalization beta-reduction sequence of a lambda term: namely,
the bound is expressed as a function of the size of the term.Comment: In Proceedings ITRS 2012, arXiv:1307.784
Linear Rank Intersection Types
Non-idempotent intersection types provide quantitative information about typed programs, and have been used to obtain time and space complexity measures. Intersection type systems characterize termination, so restrictions need to be made in order to make typability decidable. One such restriction consists in using a notion of finite rank for the idempotent intersection types. In this work, we define a new notion of rank for the non-idempotent intersection types. We then define a novel type system and a type inference algorithm for the ?-calculus, using the new notion of rank 2. In the second part of this work, we extend the type system and the type inference algorithm to use the quantitative properties of the non-idempotent intersection types to infer quantitative information related to resource usage
Intersection Types and (Positive) Almost-Sure Termination
Randomized higher-order computation can be seen as being captured by a lambda
calculus endowed with a single algebraic operation, namely a construct for
binary probabilistic choice. What matters about such computations is the
probability of obtaining any given result, rather than the possibility or the
necessity of obtaining it, like in (non)deterministic computation. Termination,
arguably the simplest kind of reachability problem, can be spelled out in at
least two ways, depending on whether it talks about the probability of
convergence or about the expected evaluation time, the second one providing a
stronger guarantee. In this paper, we show that intersection types are capable
of precisely characterizing both notions of termination inside a single system
of types: the probability of convergence of any lambda-term can be
underapproximated by its type, while the underlying derivation's weight gives a
lower bound to the term's expected number of steps to normal form. Noticeably,
both approximations are tight -- not only soundness but also completeness
holds. The crucial ingredient is non-idempotency, without which it would be
impossible to reason on the expected number of reduction steps which are
necessary to completely evaluate any term. Besides, the kind of approximation
we obtain is proved to be optimal recursion theoretically: no recursively
enumerable formal system can do better than that
- …