Results 1  10
of
11
Alias Types for Recursive Data Structures
, 2000
"... Linear type systems permit programmers to deallocate or explicitly recycle memory, but they are severly restricted by the fact that they admit no aliasing. This paper describes a pseudolinear type system that allows a degree of aliasing and memory reuse as well as the ability to define complex recu ..."
Abstract

Cited by 145 (14 self)
 Add to MetaCart
Linear type systems permit programmers to deallocate or explicitly recycle memory, but they are severly restricted by the fact that they admit no aliasing. This paper describes a pseudolinear type system that allows a degree of aliasing and memory reuse as well as the ability to define complex recursive data structures. Our type system can encode conventional linear data structures such as linear lists and trees as well as more sophisticated data structures including cyclic and doublylinked lists and trees. In the latter cases, our type system is expressive enough to represent pointer aliasing and yet safely permit destructive operations such as object deallocation. We demonstrate the flexibility of our type system by encoding two common compiler optimizations: destinationpassing style and DeutschSchorrWaite or "linkreversal" traversal algorithms.
Structural cut elimination
 In Proceedings of the Tenth Annual IEEE Symposium on Logic in Computer Science
, 1995
"... ..."
A Judgmental Analysis of Linear Logic
, 2003
"... We reexamine the foundations of linear logic, developing a system of natural deduction following MartinL of's separation of judgments from propositions. Our construction yields a clean and elegant formulation that accounts for a rich set of multiplicative, additive, and exponential connectives ..."
Abstract

Cited by 58 (32 self)
 Add to MetaCart
We reexamine the foundations of linear logic, developing a system of natural deduction following MartinL of's separation of judgments from propositions. Our construction yields a clean and elegant formulation that accounts for a rich set of multiplicative, additive, and exponential connectives, extending dual intuitionistic linear logic but differing from both classical linear logic and Hyland and de Paiva's full intuitionistic linear logic. We also provide a corresponding sequent calculus that admits a simple proof of the admissibility of cut by a single structural induction. Finally, we show how to interpret classical linear logic (with or without the MIX rule) in our system, employing a form of doublenegation translation.
Proving Memory Management Invariants for a Language Based on Linear Logic
 In LISP and Functional Programming
, 1992
"... : We develop tools for the rigorous formulation and proof of properties of runtime memory management for a sample programming language based on a linear type system. Two semantics are described, one at a level of observable results of computations and one describing linear connectives in terms of me ..."
Abstract

Cited by 23 (2 self)
 Add to MetaCart
: We develop tools for the rigorous formulation and proof of properties of runtime memory management for a sample programming language based on a linear type system. Two semantics are described, one at a level of observable results of computations and one describing linear connectives in terms of memorymanagement primitives. The two semantics are proven equivalent and the memorymanagement model is proven to satisfy fundamental correctness criteria for reference counts. 1 Introduction Although much literature on optimization of programs discusses the interaction of program execution and memory management, one does not often find formal statements and proofs regarding this interaction. For instance, a compiler for a functional language may generate code that updates an array inplace instead of copying the entire array, even though this optimization is not always safe. The compiler writer probably does not prove the optimization is safe: the size and complexity of real compilers is on...
Confidentiality and integrity with untrusted hosts
, 2000
"... Several securitytyped languages have recently been proposed to enforce security properties such as confidentiality or integrity by type checking. We propose a new securitytyped language, ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Several securitytyped languages have recently been proposed to enforce security properties such as confidentiality or integrity by type checking. We propose a new securitytyped language,
Formalising Actors in Linear Logic
 In Proceedings of the International Conference on ObjectOriented Information Systems (OOIS'94
, 1995
"... We present a logical formalism of the actorbased concurrent object oriented computation in terms of the deduction in linear logic. By encoding messages and objects in the actor model as formulae of linear logic, the distributed state of the actor computation, regarded as a configuration, can be rep ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
We present a logical formalism of the actorbased concurrent object oriented computation in terms of the deduction in linear logic. By encoding messages and objects in the actor model as formulae of linear logic, the distributed state of the actor computation, regarded as a configuration, can be represented as a multiset of object formulae and message formulae. Methods are encoded as a special form of logical implication describing the effect of the communication between objects and messages. With this logical encoding, actor based concurrent computation can be fully modelled as a deduction procedure in linear logic. In the paper, we provide a detailed mapping of the actor model into the logical system. It is shown that, with such a mapping, the logical semantics of actors can be developed. 1 Introduction Concurrent interaction between objects is an intrinsic feature of object oriented systems. However, this feature has not been formally studied since there seems to exist no agreement...
Classical Proofs as Programs, Cut Elimination as Computation
, 1998
"... We show that the SN and CR cutelimination procedure on Gentzenstyle classical logic LKT/LKQ, as presented in Danos et al.(1994), is isomorphic to callbyname (CBN) and callbyvalue (CBV) reduction system respectively. Our method is simple. We assign typed terms on intuitionistic decoration of ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We show that the SN and CR cutelimination procedure on Gentzenstyle classical logic LKT/LKQ, as presented in Danos et al.(1994), is isomorphic to callbyname (CBN) and callbyvalue (CBV) reduction system respectively. Our method is simple. We assign typed terms on intuitionistic decoration of LKT/LKQ so as to simulate the cutelimination procedure by ficontraction  i.e. we simulate cutelimination by normalization. As a consequence we revealed that these term assignments are precisely the one which are known as continuation passing style (CPS). We also establish the isomorphism between ¯calculus and our CPS calculus. 1 Introduction Proof theory: There is a long line of proof theoretical approaches to understanding "deconstructive " classical logic. That is, classical logic that has Strongly Normalizing (SN) and confluent (ChurchRosser or CR) cutelimination procedure. This thread began with Girard's linear logic(LL)[9], followed by LC [10] and the logic of unity (LU) [11]....
Working with Linear Logic in Coq
"... In this paper we describe the encoding of linear logic in the Coq system, a proof assistant for higherorder logic. This process involved encoding a suitable consequence relation, the relevant operators, and some auxiliary theorems and tactics. The encoding allows us to state and prove theorems ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In this paper we describe the encoding of linear logic in the Coq system, a proof assistant for higherorder logic. This process involved encoding a suitable consequence relation, the relevant operators, and some auxiliary theorems and tactics. The encoding allows us to state and prove theorems in linear logic, and we demonstrate its use through two examples: a simple blocks world scenario, and the Towers of Hanoi problem.