3,525 research outputs found
Imperative Programs as Proofs via Game Semantics
Game semantics extends the Curry-Howard isomorphism to a three-way correspondence: proofs, programs, strategies. But the universe of strategies goes beyond intuitionistic logics and lambda calculus, to capture stateful programs. In this thesis we describe a logical counterpart to this extension, in which proofs denote such strategies. The system is expressive: it contains all of the connectives of Intuitionistic Linear Logic, and first-order quantification. Use of a novel sequoid operator allows proofs with imperative behaviour to be expressed. Thus, we can embed first-order Intuitionistic Linear Logic into this system, Polarized Linear Logic, and an expressive imperative total programming language. We can use the first-order structure to express properties on the imperative programs. The proof system has a tight connection with a simple game model, where games are forests of plays. Formulas are modelled as games, and proofs as history-sensitive winning strategies. We provide a strong full and faithful completeness result with respect to this model: each finitary strategy is the denotation of a unique analytic (cut-free) proof. Infinite strategies correspond to analytic proofs that are infinitely deep. Thus, we can normalise proofs, via the semantics. The proof system makes novel use of the fact that the sequoid operator allows the exponential modality of linear logic to be expressed as a final coalgebra.EThOS - Electronic Theses Online ServiceGBUnited Kingdo
Imperative programs as proofs via game semantics
Game semantics extends the Curry-Howard isomorphism to a three-way
correspondence: proofs, programs, strategies. But the universe of strategies
goes beyond intuitionistic logics and lambda calculus, to capture stateful
programs. In this paper we describe a logical counterpart to this extension, in
which proofs denote such strategies. The system is expressive: it contains all
of the connectives of Intuitionistic Linear Logic, and first-order
quantification. Use of Laird's sequoid operator allows proofs with imperative
behaviour to be expressed. Thus, we can embed first-order Intuitionistic Linear
Logic into this system, Polarized Linear Logic, and an imperative total
programming language.
The proof system has a tight connection with a simple game model, where games
are forests of plays. Formulas are modelled as games, and proofs as
history-sensitive winning strategies. We provide a strong full completeness
result with respect to this model: each finitary strategy is the denotation of
a unique analytic (cut-free) proof. Infinite strategies correspond to analytic
proofs that are infinitely deep. Thus, we can normalise proofs, via the
semantics
A Graph Model for Imperative Computation
Scott's graph model is a lambda-algebra based on the observation that
continuous endofunctions on the lattice of sets of natural numbers can be
represented via their graphs. A graph is a relation mapping finite sets of
input values to output values.
We consider a similar model based on relations whose input values are finite
sequences rather than sets. This alteration means that we are taking into
account the order in which observations are made. This new notion of graph
gives rise to a model of affine lambda-calculus that admits an interpretation
of imperative constructs including variable assignment, dereferencing and
allocation.
Extending this untyped model, we construct a category that provides a model
of typed higher-order imperative computation with an affine type system. An
appropriate language of this kind is Reynolds's Syntactic Control of
Interference. Our model turns out to be fully abstract for this language. At a
concrete level, it is the same as Reddy's object spaces model, which was the
first "state-free" model of a higher-order imperative programming language and
an important precursor of games models. The graph model can therefore be seen
as a universal domain for Reddy's model
Focusing in Asynchronous Games
Game semantics provides an interactive point of view on proofs, which enables
one to describe precisely their dynamical behavior during cut elimination, by
considering formulas as games on which proofs induce strategies. We are
specifically interested here in relating two such semantics of linear logic, of
very different flavor, which both take in account concurrent features of the
proofs: asynchronous games and concurrent games. Interestingly, we show that
associating a concurrent strategy to an asynchronous strategy can be seen as a
semantical counterpart of the focusing property of linear logic
Beyond Good and Evil: Formalizing the Security Guarantees of Compartmentalizing Compilation
Compartmentalization is good security-engineering practice. By breaking a
large software system into mutually distrustful components that run with
minimal privileges, restricting their interactions to conform to well-defined
interfaces, we can limit the damage caused by low-level attacks such as
control-flow hijacking. When used to defend against such attacks,
compartmentalization is often implemented cooperatively by a compiler and a
low-level compartmentalization mechanism. However, the formal guarantees
provided by such compartmentalizing compilation have seen surprisingly little
investigation.
We propose a new security property, secure compartmentalizing compilation
(SCC), that formally characterizes the guarantees provided by
compartmentalizing compilation and clarifies its attacker model. We reconstruct
our property by starting from the well-established notion of fully abstract
compilation, then identifying and lifting three important limitations that make
standard full abstraction unsuitable for compartmentalization. The connection
to full abstraction allows us to prove SCC by adapting established proof
techniques; we illustrate this with a compiler from a simple unsafe imperative
language with procedures to a compartmentalized abstract machine.Comment: Nit
10351 Abstracts Collection -- Modelling, Controlling and Reasoning About State
From 29 August 2010 to 3 September 2010, the Dagstuhl Seminar 10351
``Modelling, Controlling and Reasoning About State \u27\u27 was held in
Schloss Dagstuhl~--~Leibniz Center for Informatics. During the
seminar, several participants presented their current research, and
ongoing work and open problems were discussed. Abstracts of the
presentations given during the seminar as well as abstracts of seminar
results and ideas are put together in this paper. Links to extended
abstracts or full papers are provided, if available
- …