Results 1  10
of
11
Models of Sharing Graphs: A Categorical Semantics of let and letrec
, 1997
"... To my parents A general abstract theory for computation involving shared resources is presented. We develop the models of sharing graphs, also known as term graphs, in terms of both syntax and semantics. According to the complexity of the permitted form of sharing, we consider four situations of sha ..."
Abstract

Cited by 63 (9 self)
 Add to MetaCart
(Show Context)
To my parents A general abstract theory for computation involving shared resources is presented. We develop the models of sharing graphs, also known as term graphs, in terms of both syntax and semantics. According to the complexity of the permitted form of sharing, we consider four situations of sharing graphs. The simplest is firstorder acyclic sharing graphs represented by letsyntax, and others are extensions with higherorder constructs (lambda calculi) and/or cyclic sharing (recursive letrec binding). For each of four settings, we provide the equational theory for representing the sharing graphs, and identify the class of categorical models which are shown to be sound and complete for the theory. The emphasis is put on the algebraic nature of sharing graphs, which leads us to the semantic account of them. We describe the models in terms of the notions of symmetric monoidal categories and functors, additionally with symmetric monoidal adjunctions and traced
Recursion from Cyclic Sharing: Traced Monoidal Categories and Models of Cyclic Lambda Calculi
, 1997
"... . Cyclic sharing (cyclic graph rewriting) has been used as a practical technique for implementing recursive computation efficiently. To capture its semantic nature, we introduce categorical models for lambda calculi with cyclic sharing (cyclic lambda graphs), using notions of computation by Moggi / ..."
Abstract

Cited by 45 (5 self)
 Add to MetaCart
. Cyclic sharing (cyclic graph rewriting) has been used as a practical technique for implementing recursive computation efficiently. To capture its semantic nature, we introduce categorical models for lambda calculi with cyclic sharing (cyclic lambda graphs), using notions of computation by Moggi / Power and Robinson and traced monoidal categories by Joyal, Street and Verity. The former is used for representing the notion of sharing, whereas the latter for cyclic data structures. Our new models provide a semantic framework for understanding recursion created from cyclic sharing, which includes traditional models for recursion created from fixed points as special cases. Our cyclic lambda calculus serves as a uniform language for this wider range of models of recursive computation. 1 Introduction One of the traditional methods of interpreting a recursive program in a semantic domain is to use the least fixedpoint of continuous functions. However, in the real implementations of program...
Linear Logic, Monads and the Lambda Calculus
 In 11 th LICS
, 1996
"... Models of intuitionistic linear logic also provide models of Moggi's computational metalanguage. We use the adjoint presentation of these models and the associated adjoint calculus to show that three translations, due mainly to Moggi, of the lambda calculus into the computational metalanguage ( ..."
Abstract

Cited by 35 (6 self)
 Add to MetaCart
Models of intuitionistic linear logic also provide models of Moggi's computational metalanguage. We use the adjoint presentation of these models and the associated adjoint calculus to show that three translations, due mainly to Moggi, of the lambda calculus into the computational metalanguage (direct, callbyname and callbyvalue) correspond exactly to three translations, due mainly to Girard, of intuitionistic logic into intuitionistic linear logic. We also consider extending these results to languages with recursion. 1. Introduction Two of the most significant developments in semantics during the last decade are Girard's linear logic [10] and Moggi's computational metalanguage [14]. Any student of these formalisms will suspect that there are significant connections between the two, despite their apparent differences. The intuitionistic fragment of linear logic (ILL) may be modelled in a linear model  a symmetric monoidal closed category with a comonad ! which satisfies some extr...
CallbyName, CallbyValue, CallbyNeed, and the Linear Lambda Calculus
, 1994
"... Girard described two translations of intuitionistic logic into linear logic, one where A > B maps to (!A) o B, and another where it maps to !(A o B). We detail the action of these translations on terms, and show that the first corresponds to a callbyname calculus, while the second correspond ..."
Abstract

Cited by 31 (6 self)
 Add to MetaCart
Girard described two translations of intuitionistic logic into linear logic, one where A > B maps to (!A) o B, and another where it maps to !(A o B). We detail the action of these translations on terms, and show that the first corresponds to a callbyname calculus, while the second corresponds to callbyvalue. We further show that if the target of the translation is taken to be an affine calculus, where ! controls contraction but weakening is allowed everywhere, then the second translation corresponds to a callbyneed calculus, as recently defined by Ariola, Felleisen, Maraist, Odersky, and Wadler. Thus the different calling mechanisms can be explained in terms of logical translations, bringing them into the scope of the CurryHoward isomorphism.
Complexity Results for Model Checking
, 1995
"... The complexity of model checking branching and linear time temporal logics over Kripke structures has been addressed in e.g. [SC85, CES86]. In terms of the size of the Kripke model and the length of the formula, they show that the model checking problem is solvable in polynomial time for CTL and ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
The complexity of model checking branching and linear time temporal logics over Kripke structures has been addressed in e.g. [SC85, CES86]. In terms of the size of the Kripke model and the length of the formula, they show that the model checking problem is solvable in polynomial time for CTL and NPcomplete for L(F ). The model checking problem can be generalised by allowing more succinct descriptions of systems than Kripke structures. We investigate the complexity of the model checking problem when the instances of the problem consist of a formula and a description of a system whose state space is at most exponentially larger than the description. Based on Turing machines, we define compact systems as a general formalisation of such system descriptions. Examples of such compact systems are Kbounded Petri nets and synchronised automata, and in these cases the wellknown algorithms presented in [SC85, CES86] would require exponential space in term of the sizes of the system descriptions and the formulas; we present polynomial space upper bounds for the model checking problem over compact systems and the logics CTL and L(X; U;S). As an example of an application of our general results we show that the model checking problems of both the branching time temporal logic CTL and the linear time temporal logics L(F ) and L(X;U;S) over Kbounded Petri nets are PSPACEcomplete.
Part II: A Behavioural Semantics and Full Abstractness
"... is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent publications in the BRICS Report Series. Copies may be obtained by contacting: BRICS ..."
Abstract
 Add to MetaCart
is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent publications in the BRICS Report Series. Copies may be obtained by contacting: BRICS
Linear Recursion
"... s decoration does not allow for improvement as far as reductions are concerned: all functions defined by recursion are totally intuitionistic. But some functions defined on the list data type, for example "append" or "reverse", seem to be linear in their definitions and should no ..."
Abstract
 Add to MetaCart
(Show Context)
s decoration does not allow for improvement as far as reductions are concerned: all functions defined by recursion are totally intuitionistic. But some functions defined on the list data type, for example "append" or "reverse", seem to be linear in their definitions and should not be decorated with the above fixpoint. Hence we would like to find rules for recursion that enable us to detect as purely linear those PCF programs defined by recursion that do not make use of weakening and contraction and have linear complexity. On this talk we concentrate on the definition of a linear natural numbers object and a linear primitive recursion schemata. Par'e and Roman in [PR89] proposed a natural numbers object in the context of symmetric monoidal closed categories, which is the usual natural numbers object definition when the cartesian product is substituted by a tensor and the terminal object by the unit of the tensor. But their definition also permits the definition of the
A TypeFree ResourceAware λCalculus
, 1996
"... We introduce and study a functional language λ_R , having two main features. λ_R has the same computational power of the λcalculus. λ_R enjoys the resourceawareness of the typed/typable functional languages which encode the Intuitionistic Linear Logic. ..."
Abstract
 Add to MetaCart
We introduce and study a functional language λ_R , having two main features. λ_R has the same computational power of the λcalculus. λ_R enjoys the resourceawareness of the typed/typable functional languages which encode the Intuitionistic Linear Logic.
An Efficient Linear Machine With UpdateinPlace for Linear Variables
"... We introduce xLIN, a novel linear abstract machine that ensures computing with linear resources takes no space and constant time by executing linear substitutions immediately, as specied by the rule. In addition, computing with nonlinear resources introduces no e ciency penalty. Garbage colle ..."
Abstract
 Add to MetaCart
We introduce xLIN, a novel linear abstract machine that ensures computing with linear resources takes no space and constant time by executing linear substitutions immediately, as specied by the rule. In addition, computing with nonlinear resources introduces no e ciency penalty. Garbage collection is not required for linear objects, while still present for nonlinear objects. Using a suitable memory model we show that when we use sharing of common subexpression during execution the immediate substitution cannot be done for all linear variables and identify via a type system which incorporates also storage locations a subset of linear variables which admits immediate substitution. This subset is rich enough to include many standard recursively dened linear functions. 1 Introduction Since linear logic rst appeared [7], it was immediately perceived by the scientic community as a promising framework in which the mechanics of reduction could be better understood. By vir...