Results 1  10
of
37
Frühwirth: A LinearLogic Semantics For Constraint Handling Rules
 Proceedings of CP 2005
, 2005
"... Abstract. We motivate and develop a linear logic declarative semantics for CHR ∨ , an extension of the CHR programming language that integrates concurrent committed choice with backtrack search and a predefined underlying constraint handler. We show that our semantics maps each of these aspects of t ..."
Abstract

Cited by 29 (11 self)
 Add to MetaCart
(Show Context)
Abstract. We motivate and develop a linear logic declarative semantics for CHR ∨ , an extension of the CHR programming language that integrates concurrent committed choice with backtrack search and a predefined underlying constraint handler. We show that our semantics maps each of these aspects of the language to a distinct aspect of linear logic. We show how we can use this semantics to reason about derivations in CHR ∨ and we present strong theorems concerning its soundness and completeness. 1
On the expressiveness of linearity vs persistence in the asychronous picalculus
 In Proc. of LICS’06. IEEE Computer Society
, 2006
"... We present an expressiveness study of linearity and persistence of processes. We choose the πcalculus, one of the main representatives of process calculi, as a framework to conduct our study. We consider four fragments of the πcalculus. Each one singles out a natural source of linearity/persistenc ..."
Abstract

Cited by 15 (6 self)
 Add to MetaCart
(Show Context)
We present an expressiveness study of linearity and persistence of processes. We choose the πcalculus, one of the main representatives of process calculi, as a framework to conduct our study. We consider four fragments of the πcalculus. Each one singles out a natural source of linearity/persistence also present in other frameworks such as Concurrent Constraint Programming (CCP), Linear CCP, and several calculi for security. The study is presented by providing (or proving the nonexistence of) encodings among the fragments, a processesasformulae interpretation and a reduction from Minsky machines. 1
Testing concurrent systems: An interpretation of intuitionistic logic
"... Abstract. We present the natural confluence of higherorder hereditary Harrop formulas (HH formulas) as developed concretely in λProlog, Constraint Logic Programming (CLP, [JL87]), and Concurrent Constraint Programming (CCP, [Sar93]) as a fragment of (intuitionistic, higherorder) logic. The combina ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
Abstract. We present the natural confluence of higherorder hereditary Harrop formulas (HH formulas) as developed concretely in λProlog, Constraint Logic Programming (CLP, [JL87]), and Concurrent Constraint Programming (CCP, [Sar93]) as a fragment of (intuitionistic, higherorder) logic. The combination is motivated by the need for a simple executable, logical presentation for static and dynamic semantics of modern programming languages. The power of HH formulas is needed for higherorder abstract syntax, and the power of constraints is needed to naturally abstract the underlying domain of computation. Underpinning this combination is a sound and complete operational interpretation of a twosided sequent presentation of (a large fragment of) intuitionistic logic in terms of behavioral testing of concurrent systems. Formulas on the left hand side of a sequent style presentation are viewed as a system of concurrent agents, and formulas on the right hand side as tests against this evolving system. The language permits recursive definitions of agents and tests, allows tests to augment the system being tested and allows agents to be contingent on the success of a test. We present a condition on proofs, operational derivability (OD), and show that the operational semantics generates only operationally derivable proofs. We show that a sequent in this logic has a proof iff it has an operationally derivable proof. 1
Concurrent Constraint Programming and NonCommutative Linear Logic (Extended Abstract)
, 1996
"... This paper presents a precise connection between a noncommutative version of intuitionistic linear logic (INLL) and concurrent constraint programming (cc). The contribution of this paper is twofold: ffl on the one hand, we refine existing logical characterizations of operational aspects of concu ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
This paper presents a precise connection between a noncommutative version of intuitionistic linear logic (INLL) and concurrent constraint programming (cc). The contribution of this paper is twofold: ffl on the one hand, we refine existing logical characterizations of operational aspects of concurrent constraint programming, by providing a logical interpretation of finer observable properties of cc programs, namely successes and suspensions. ffl on the other ha...
Modules for Prolog revisited
 In Proceedings of International Conference on Logic Programming ICLP 2006, number 4079 in Lecture
"... Abstract. Module systems are an essential feature of programming languages as they facilitate the reuse of existing code and the development of general purpose libraries. Unfortunately, there has been no consensual module system for Prolog, hence no strong development of libraries, in sharp contras ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Module systems are an essential feature of programming languages as they facilitate the reuse of existing code and the development of general purpose libraries. Unfortunately, there has been no consensual module system for Prolog, hence no strong development of libraries, in sharp contrast to what exists in Java for instance. One difficulty comes from the call predicate which interferes with the protection of the code, an essential task of a module system. By distinguishing the called module code protection from the calling module code protection, we review the existing syntactic module systems for Prolog. We show that no module system ensures both forms of code protection, with the noticeable exceptions of CiaoProlog and XSB. We then present a formal module system for logic programs with calls and closures, define its operational semantics and formally prove the code protection property. Interestingly, we also provide an equivalent logical semantics of modular logic programs without calls nor closures, which shows how they can be translated into constraint logic programs over a simple module constraint system. 1
Closures and Modules within Linear Logic Concurrent Constraint Programming
"... Abstract. There are two somewhat contradictory ways of looking at modules in a given programming language. On the one hand, module systems are largely independent of the particulars of programming languages. On the other hand, the module constructs may interfere with the programming constructs, and ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
Abstract. There are two somewhat contradictory ways of looking at modules in a given programming language. On the one hand, module systems are largely independent of the particulars of programming languages. On the other hand, the module constructs may interfere with the programming constructs, and may be redundant with the other scope mechanisms of a specific programming language, such as closures for instance. There is therefore a need to unify the programming concepts that are similar, and retain a minimum number of essential constructs to avoid arbitrary programming choices. In this paper, we realize this aim in the framework of linear logic concurrent constraint programming (LCC) languages. We first show how declarations and closures can be internalized as agents in a variant of LCC for which we provide precise operational and logical semantics in linear logic. Then, we show how a complete module system can be represented within LCC, and prove for it a general code protection property. Finally we study the instanciation of this scheme to the implementation of a safe module system for constraint logic programs, and conclude on the generality of this approach to programming languages with logical variables. 1
Semanticspreserving translations between Linear Concurrent Constraint Programming and Constraint Handling Rules ∗
"... The Constraint Simplification Rules (CSR) subset of CHR and the flat subset of LCC, where agent nesting is restricted, are very close syntactically and semantically. The first contribution of this paper is to provide translations between CSR and flatLCC. The second contribution is a transformation ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
(Show Context)
The Constraint Simplification Rules (CSR) subset of CHR and the flat subset of LCC, where agent nesting is restricted, are very close syntactically and semantically. The first contribution of this paper is to provide translations between CSR and flatLCC. The second contribution is a transformation from the full LCC language to flatLCC which preserves semantics. This transformation is similar to λlifting in functional languages. In conjunction with the equivalence between CHR and CSR with respect to original operational semantics, these results lead to semanticspreserving translations from full LCC to CHR and conversely. Immediate consequences of this work include new proofs for CHR linear logic and phase semantics, relying on corresponding results for LCC, plus an encoding of the λcalculus in CHR. 1.
Observational equivalences for linear logic concurrent constraint languages
"... Linear logic Concurrent Constraint programming (LCC) is an extension of concurrent constraint programming (CC), where the constraint system is based on Girard’s linear logic instead of the classical logic. In this paper, we address the problem of program equivalence for this programming framework. ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Linear logic Concurrent Constraint programming (LCC) is an extension of concurrent constraint programming (CC), where the constraint system is based on Girard’s linear logic instead of the classical logic. In this paper, we address the problem of program equivalence for this programming framework. For this purpose, we present a structural operational semantics for LCC based on a label transition system and investigate different notions of observational equivalences inspired by the state of art of process algebras. Then, we demonstrate that the asynchronous πcalculus can be viewed as simple syntactical restrictions of LCC. Finally, we show that LCC observational equivalences can be transposed straightforwardly to classical Concurrent Constraint languages and Constraint Handling Rules, and investigate the resulting equivalences.
Verification of constraint handling rules using linear logic phase semantics
 IN: PROCEEDING OF CHR 2008, THE FIFTH CONSTRAINT HANDLING RULES WORKSHOP. REPORT SERIES 0810, RICSLINZ
, 2008
"... Constraint Handling Rules (CHR) is a declarative concurrent programming language. Like the class of Concurrent Constraint (CC) languages, CHR features a declarative semantics based on Girard’s intuitionistic linear logic. The phase semantics of linear logic has been used in the past to prove safety ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Constraint Handling Rules (CHR) is a declarative concurrent programming language. Like the class of Concurrent Constraint (CC) languages, CHR features a declarative semantics based on Girard’s intuitionistic linear logic. The phase semantics of linear logic has been used in the past to prove safety properties for the class of CC languages. In this paper we show that we can adapt this result to prove safety properties for CHR as well.