609 research outputs found
Resource control and intersection types: an intrinsic connection
In this paper we investigate the -calculus, a -calculus
enriched with resource control. Explicit control of resources is enabled by the
presence of erasure and duplication operators, which correspond to thinning and
con-traction rules in the type assignment system. We introduce directly the
class of -terms and we provide a new treatment of substitution by its
decompo-sition into atomic steps. We propose an intersection type assignment
system for -calculus which makes a clear correspondence between three
roles of variables and three kinds of intersection types. Finally, we provide
the characterisation of strong normalisation in -calculus by means of
an in-tersection type assignment system. This process uses typeability of
normal forms, redex subject expansion and reducibility method.Comment: arXiv admin note: substantial text overlap with arXiv:1306.228
A journey through resource control lambda calculi and explicit substitution using intersection types (an account)
In this paper we invite the reader to a journey through three lambda calculi with resource control: the lambda calculus, the sequent lambda calculus, and the lambda calculus with explicit substitution. All three calculi enable explicit control of resources due to the presence of weakening and contraction operators. Along this journey, we propose intersection type assignment systems for all three resource control calculi. We recognise the need for three kinds of variables all requiring different kinds of intersection types. Our main contribution is the characterisation of strong normalisation of reductions in all three calculi, using the techniques of reducibility, head subject expansion, a combination of well-orders and suitable embeddings of terms
Recommended from our members
An algebra of high level petri nets
PhD ThesisPetri nets were introduced by C.A. Petri as a theoretical model of concurrency in which the causal
relationship between actions, rather than just their temporal ordering, can be represented. As
a theoretical model of concurrency, Petri nets have been widely successful. Moreover, Petri nets
are popular with practitioners, providing practical tools for the designer and developer of real
concurrent and distributed systems.
However, it is from this second context that perhaps the most widely voiced criticism of Petri
nets comes. It is that Petri nets lack any algebraic structure or modularity, and this results in
large, unstructured models of real systems, which are consequently often intractable. Although
this is not a criticism of Petri nets per se, but rather of the uses to which Petri nets are put, the
criticism is well taken.
We attempt to answer this criticism in this work. To do this we return to the view of Petri nets
as a model of concurrency and consider how other models of concurrency counter this objection.
The foremost examples are then the synchronisation trees of Milner, and the traces of Hoare,
(against which such criticism is rarely, if ever, levelled). The difference between the models is
clear, and is to be found in the richness of the algebraic characterisations which have been made
for synchronisation trees in Milner's Calculus of Communicating Systems (CCS), and for traces
in Hoare's Communicating Sequential Processes (CSP).
With this in mind we define, in this thesis, a class of high level Petri nets, High Level Petri Boxes,
and provide for them a very general algebraic description language, the High Level Petri Box
Algebra, with novel ideas for synchronisation, and including both refinement and recursion among
its operators. We also begin on the (probably open-ended task of the) algebraic characterisation
of High Level Petri Boxes.
The major contribution of this thesis is a full behavioural characterisation of the High Level Petri
Boxes which form the semantic domain of the algebra. Other contributions are: a very general
method of describing communication protocols which extend the synchronisation algebras of
Winskel; a recursive operator that preserves finiteness of state (the best possible, given the
generality of the algebra); a refinement operator that is syntactic in nature, and for which the
recursive construct is a behavioural fix-point; and a notion of behavioural equivalence which is
a congruence with respect to a major part of the High Level Petri Box Algebra
Resource control and strong normalisation
We introduce the \emph{resource control cube}, a system consisting of eight intuitionistic lambda calculi with either implicit or explicit control of resources and with either natural deduction or sequent calculus. The four calculi of the cube that correspond to natural deduction have been proposed by Kesner and Renaud and the four calculi that correspond to sequent lambda calculi are introduced in this paper. The presentation is parameterized with the set of resources (weakening or contraction), which enables a uniform treatment of the eight calculi of the cube. The simply typed resource control cube, on the one hand, expands the Curry-Howard correspondence to intuitionistic natural deduction and intuitionistic sequent logic with implicit or explicit structural rules and, on the other hand, is related to substructural logics. We propose a general intersection type system for the resource control cube calculi. Our main contribution is a characterisation of strong normalisation of reductions in this cube. First, we prove that typeability implies strong normalisation in the ''natural deduction base" of the cube by adapting the reducibility method. We then prove that typeability implies strong normalisation in the ''sequent base" of the cube by using a combination of well-orders and a suitable embedding in the ''natural deduction base". Finally, we prove that strong normalisation implies typeability in the cube using head subject expansion. All proofs are general and can be made specific to each calculus of the cube by instantiating the set of resources
A Semantics for Propositions as Sessions
Abstract. Session types provide a static guarantee that concurrent pro-grams respect communication protocols. Recently, Caires, Pfenning, and Toninho, and Wadler, have developed a correspondence between proposi-tions of linear logic and session typed pi-calculus processes. We relate the cut-elimination semantics of this approach to an operational semantics for session-typed concurrency in a functional language. We begin by pre-senting a variant of Wadler’s session-typed core functional language, GV. We give a small-step operational semantics for GV. We develop a suitable notion of deadlock, based on existing approaches for capturing deadlock in pi-calculus, and show that all well-typed GV programs are deadlock-free, deterministic, and terminating. We relate GV to linear logic by giving translations between GV and CP, a process calculus with a type system and semantics based on classical linear logic. We prove that both directions of our translation preserve reduction; previous translations from GV to CP, in contrast, failed to preserve β-reduction. Furthermore, to demonstrate the modularity of our approach, we define two extensions of GV which preserve deadlock-freedom, determinism, and termination.
- …