28,045 research outputs found
Session Type Systems based on Linear Logic:Classical versus Intuitionistic
Session type systems have been given logical foundations via Curry-Howard
correspondences based on both intuitionistic and classical linear logic. The
type systems derived from the two logics enforce communication correctness on
the same class of pi-calculus processes, but they are significantly different.
Caires, Pfenning and Toninho informally observed that, unlike the classical
type system, the intuitionistic type system enforces locality for shared
channels, i.e. received channels cannot be used for replicated input. In this
paper, we revisit this observation from a formal standpoint. We develop United
Linear Logic (ULL), a logic encompassing both classical and intuitionistic
linear logic. Then, following the Curry-Howard correspondences for session
types, we define piULL, a session type system for the pi-calculus based on ULL.
Using piULL we can formally assess the difference between the intuitionistic
and classical type systems, and justify the role of locality and symmetry
therein.Comment: In Proceedings PLACES 2020, arXiv:2004.0106
Towards Races in Linear Logic
Process calculi based in logic, such as DILL and CP, provide a
foundation for deadlock-free concurrent programming, but exclude
non-determinism and races. HCP is a reformulation of CP which addresses a
fundamental shortcoming: the fundamental operator for parallel composition from
the -calculus does not correspond to any rule of linear logic, and
therefore not to any term construct in CP.
We introduce non-deterministic HCP, which extends HCP with a novel account of
non-determinism. Our approach draws on bounded linear logic to provide a
strongly-typed account of standard process calculus expressions of
non-determinism. We show that our extension is expressive enough to capture
many uses of non-determinism in untyped calculi, such as non-deterministic
choice, while preserving HCP's meta-theoretic properties, including deadlock
freedom
A theorem proving framework for the formal verification of Web Services Composition
We present a rigorous framework for the composition of Web Services within a
higher order logic theorem prover. Our approach is based on the
proofs-as-processes paradigm that enables inference rules of Classical Linear
Logic (CLL) to be translated into pi-calculus processes. In this setting,
composition is achieved by representing available web services as CLL
sentences, proving the requested composite service as a conjecture, and then
extracting the constructed pi-calculus term from the proof. Our framework,
implemented in HOL Light, not only uses an expressive logic that allows us to
incorporate multiple Web Services properties in the composition process, but
also provides guarantees of soundness and correctness for the composition.Comment: In Proceedings WWV 2011, arXiv:1108.208
Non-Deterministic Functions as Non-Deterministic Processes (Extended Version)
We study encodings of the lambda-calculus into the pi-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider lambdafail, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider spi, a pi-calculus in which non-determinism and failure rest upon a Curry-Howard correspondence between linear logic and session types. We present a typed encoding of lambdafail into spi and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in lambdafail via typed processes in spi. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interaction protocols
Observational equivalences for linear logic CC 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. 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 \pi-calculus can be viewed as simple
syntactical restrictions of LCC. Finally we show LCC observational equivalences
can be transposed straightforwardly to classical Concurrent Constraint
languages and Constraint Handling Rules, and investigate the resulting
equivalences.Comment: 17 page
Better Late Than Never: A Fully-abstract Semantics for Classical Processes
We present Hypersequent Classical Processes (HCP), a revised interpretation
of the "Proofs as Processes" correspondence between linear logic and the
{\pi}-calculus initially proposed by Abramsky [1994], and later developed by
Bellin and Scott [1994], Caires and Pfenning [2010], and Wadler [2014], among
others. HCP mends the discrepancies between linear logic and the syntax and
observable semantics of parallel composition in the {\pi}-calculus, by
conservatively extending linear logic to hyperenvironments (collections of
environments, inspired by the hypersequents by Avron [1991]). Separation of
environments in hyperenvironments is internalised by and corresponds
to parallel process behaviour. Thanks to this property, for the first time we
are able to extract a labelled transition system (lts) semantics from proof
rewritings. Leveraging the information on parallelism at the level of types, we
obtain a logical reconstruction of the delayed actions that Merro and Sangiorgi
[2004] formulated to model non-blocking I/O in the {\pi}-calculus. We define a
denotational semantics for processes based on Brzozowski derivatives, and
uncover that non-interference in HCP corresponds to Fubini's theorem of double
antiderivation. Having an lts allows us to validate HCP using the standard
toolbox of behavioural theory. We instantiate bisimilarity and barbed
congruence for HCP, and obtain a full abstraction result: bisimilarity,
denotational equivalence, and barbed congruence coincide
Towards Races in Linear Logic
Process calculi based in logic, such as DILL and CP, provide a
foundation for deadlock-free concurrent programming, but exclude
non-determinism and races. HCP is a reformulation of CP which addresses a
fundamental shortcoming: the fundamental operator for parallel composition from
the -calculus does not correspond to any rule of linear logic, and
therefore not to any term construct in CP.
We introduce non-deterministic HCP, which extends HCP with a novel account of
non-determinism. Our approach draws on bounded linear logic to provide a
strongly-typed account of standard process calculus expressions of
non-determinism. We show that our extension is expressive enough to capture
many uses of non-determinism in untyped calculi, such as non-deterministic
choice, while preserving HCP's meta-theoretic properties, including deadlock
freedom
Circular Proofs as Session-Typed Processes: A Local Validity Condition
Proof theory provides a foundation for studying and reasoning about
programming languages, most directly based on the well-known Curry-Howard
isomorphism between intuitionistic logic and the typed lambda-calculus. More
recently, a correspondence between intuitionistic linear logic and the
session-typed pi-calculus has been discovered. In this paper, we establish an
extension of the latter correspondence for a fragment of substructural logic
with least and greatest fixed points. We describe the computational
interpretation of the resulting infinitary proof system as session-typed
processes, and provide an effectively decidable local criterion to recognize
mutually recursive processes corresponding to valid circular proofs as
introduced by Fortier and Santocanale. We show that our algorithm imposes a
stricter requirement than Fortier and Santocanale's guard condition, but is
local and compositional and therefore more suitable as the basis for a
programming language.Comment: The revised version, 48 pages, submitted to Logical Methods in
Computer Scienc
- …