7 research outputs found
Semantic cut elimination for the logic of bunched implications, formalized in Coq
The logic of bunched implications (BI) is a substructural logic that forms
the backbone of separation logic, the much studied logic for reasoning about
heap-manipulating programs. Although the proof theory and metatheory of BI are
mathematically involved, the formalization of important metatheoretical results
is still incipient. In this paper we present a self-contained formalized, in
the Coq proof assistant, proof of a central metatheoretical property of BI: cut
elimination for its sequent calculus.
The presented proof is *semantic*, in the sense that is obtained by
interpreting sequents in a particular "universal" model. This results in a more
modular and elegant proof than a standard Gentzen-style cut elimination
argument, which can be subtle and error-prone in manual proofs for BI. In
particular, our semantic approach avoids unnecessary inversions on proof
derivations, or the uses of cut reductions and the multi-cut rule.
Besides modular, our approach is also robust: we demonstrate how our method
scales, with minor modifications, to (i) an extension of BI with an arbitrary
set of \emph{simple structural rules}, and (ii) an extension with an S4-like
modality.Comment: 15 pages, to appear in CPP 202
A bunch of sessions:a propositions-as-sessions interpretation of bunched implications in channel-based concurrency
The emergence of propositions-as-sessions, a Curry-Howard correspondence between propositions of Linear Logic and session types for concurrent processes, has settled the logical foundations of message-passing concurrency. Central to this approach is the resource consumption paradigm heralded by Linear Logic. In this paper, we investigate a new point in the design space of session type systems for message-passing concurrent programs. We identify O’Hearn and Pym’s Logic of Bunched Implications (BI) as a fruitful basis for an interpretation of the logic as a concurrent programming language. This leads to a treatment of non-linear resources that is radically different from existing approaches based on Linear Logic. We introduce a new π-calculus with sessions, called πBI; its most salient feature is a construct called spawn, which expresses new forms of sharing that are induced by structural principles in BI. We illustrate the expressiveness of πBI and lay out its fundamental theory: type preservation, deadlock-freedom, and weak normalization results for well-typed processes; an operationally sound and complete typed encoding of an affine λ-calculus; and a non-interference result for access of resources
LOGIC AND CONSTRAINT PROGRAMMING FOR COMPUTATIONAL SUSTAINABILITY
Computational Sustainability is an interdisciplinary field that aims to develop computational
and mathematical models and methods for decision making concerning
the management and allocation of resources in order to help solve environmental
problems.
This thesis deals with a broad spectrum of such problems (energy efficiency, water
management, limiting greenhouse gas emissions and fuel consumption) giving
a contribution towards their solution by means of Logic Programming (LP) and
Constraint Programming (CP), declarative paradigms from Artificial Intelligence
of proven solidity.
The problems described in this thesis were proposed by experts of the respective
domains and tested on the real data instances they provided. The results are encouraging
and show the aptness of the chosen methodologies and approaches.
The overall aim of this work is twofold: both to address real world problems
in order to achieve practical results and to get, from the application of LP and
CP technologies to complex scenarios, feedback and directions useful for their
improvement
Correctly Communicating Software: Distributed, Asynchronous, and Beyond (extended version)
Much of the software we use in everyday life consists of distributed
components (running on separate cores or even computers) that collaborate
through communication (by exchanging messages). It is crucial to develop robust
methods that can give reliable guarantees about the behavior of such
message-passing software. With a focus on session types as communication
protocols and their foundations in logic, this thesis revolves around the
following question: How can we push the boundaries of the logical foundations
of session types (binary and multiparty), extending their expressiveness and
applicability, while preserving fundamental correctness properties? In this
context, this thesis studies several intertwined aspects of message-passing.Comment: PhD thesi