. Go
there for the latest news.
Workshop paper
Abstract
The logical principles of focalisation and polarisation can be used to design well-behaved
term syntaxes for sequent calculus, which play a role as meta-languages for describing effectful
computation. On the semantics side, this corresponds to an axiomatic and polarised notion
of model of computation stated in terms of non-associative categories as well as adjunctions
between “bare” functors (reflexive graph morphisms) over such non-associative categories.
In this paper, we study the special and delicate cases of resource and effect modalities
in a general intuitionistic and linear setting: an exponential comonad ! (refining the necessity
modality □) and a strong monad (written ◊). The starting point of our contribution is
noticing that the completeness for a polarised syntax for ! and ◊ with respect to (co)monads
in linear call-by-push-value models can be achieved if we move to relative (co)monads
(Altenkirch, Chapman and Uustalu, 2015; Arkor and McDermott, 2024): more precisely, comonads
relative to ↓ (the positive shift functor) for ! and monads relative to ↑ (the negative shift
functor) for ◊.
These specialisations of the concept of relative (co)monad to call-by-push-value adjunctions
recently appeared in Jiang, Xue and New (2025) and Melliès (2025, 2026). Yet the syntax we
present arose from proof-theoretic consideration in Munch-Maccagnoni (2009) and Curien,
Fiore and Munch-Maccagnoni (CFMM 2016), without the link with relative (co)monads
being noticed at the time. Our first remark and explanation is thus that (co)monads relative
to a call-by-push-value adjunction have been motivated previously from a proof-theoretic
perspective in the context of focalisation, which also provides a meta-language for these
concepts in an effectful setting.
We carry out the study of these modalities from the axiomatic, non-associative point of
view. We recall the definition of adjunction between bare functors in this context, and establish
correspondence results between this notion of adjunction and that of relative adjunction.
This correspondence is then extended to linear-non-linear and strong versions of adjunctions
as needed to model ! and ◊.
BibTeX
@Unpublished{MMMM2026SD,
author = {Éléonore Mangel and Paul-André Melliès and Guillaume Munch-Maccagnoni},
date = {2026},
title = {Syntax and semantics of focalisation with relative monads and comonads},
note = {Presented at the Sixth International Workshop on Structures and Deduction (SD 2026)},
url = {https://arxiv.org/abs/2606.14652},
doi = {10.48550/arXiv.2606.14652},
eprint = {2606.14652},
eprintclass = {cs.LO},
eprinttype = {arXiv},
}
Special issue editorial
Abstract
The concept of ‘undone science’ emerged in the 2010s in research
in social sciences at the intersection of studies on social movements and
of science and technology studies. It refers to research questions that are
neglected, ignored, or left unfunded, even though they deserve to be explored.
The aim of this special issue is to apply this concept to computer science,
by examining whether the way this discipline is structured (including its
sociological, economic, and political dimensions), as well as the paradigms that
shape it, make it possible to identify epistemological and ethical questions that
are crucial for its development and conception.
BibTeX
@Unpublished{EnguehardMMNaibo2026whatis,
author = {Enguehard, Chantal and Munch-Maccagnoni, Guillaume and Naibo, Alberto},
date = {2026-05-25},
title = {What is ‘undone computer science’?},
note = {Translation of \citet{EnguehardMMNaibo2026questce}.},
doi = {10.48550/arXiv.2605.26084},
eprint = {2605.26084},
eprintclass = {cs.CY},
eprinttype = {arXiv},
keywords = {cs.CY},
}
@Article{EnguehardMMNaibo2026questce,
author = {Enguehard, Chantal and Munch-Maccagnoni, Guillaume and Naibo, Alberto},
date = {2026},
journaltitle = {Philosophia Scientiae},
title = {Qu’est-ce que la science informatique non faite ?},
doi = {10.4000/16952},
issn = {1775-4283},
pages = {5--16},
volume = {30-2},
printed = {yes},
publisher = {Kimé},
}
Éditorial de numéro thématique
Abstract
Le concept de « science non faite » a émergé à partir des années
2010 dans des travaux en sciences sociales à l’interface entre les études sur
les mouvements sociaux et celles des sciences et des techniques. Il désigne
des questions de recherche négligées, ignorées ou non financées, bien qu’elles
méritent d’être explorées. L’objectif de ce cahier thématique est d’appliquer
ce concept à l’informatique, en examinant si la manière dont cette discipline
est structurée (y compris sa dimension sociologique, économique et politique),
ainsi que les paradigmes qui la façonnent, permettent d’identifier des questions
épistémologiques et éthiques cruciales pour son développement et sa
conception.
BibTeX
@Article{EnguehardMMNaibo2026questce,
author = {Enguehard, Chantal and Munch-Maccagnoni, Guillaume and Naibo, Alberto},
date = {2026},
journaltitle = {Philosophia Scientiae},
title = {Qu’est-ce que la science informatique non faite ?},
doi = {10.4000/16952},
issn = {1775-4283},
pages = {5--16},
volume = {30-2},
printed = {yes},
publisher = {Kimé},
}
Conference paper
[PDF, April 2026 — arXiv:2510.23517.]
Joint work with Sidney Congard and Rémi Douence.
Slightly extended version with more details of a paper
accepted at ESOP 2026.
Abstract
We analyse the problem of combining linearity, effects, and exceptions, in abstract models of programming languages, as the issue of providing some kind of strength for a monad T(−⊕E) in a linear setting. We consider in particular for T the allocation monad, which we introduce to model and study resource-safety properties. We apply these results to a series of two linear effectful calculi for which we establish their resource-safety properties. The first calculus is a linear (optionally ordered) call-by-push-value language with two allocation effects new and delete. The resource-safety properties follow from the linear and ordered character of the typing rules.
We then integrate exceptions with linearity and effects by adjoining default destruction actions to types, as inspired by C++/Rust destructors. We see destructors as objects δ:A→TI in the slice category over TI. This construction gives rise to a second calculus, the resouce call-by-push-value, featuring exceptions and destructors, and whose weakening and exchange rules perform side-effects. It is therefore affine at the level of types but ordered at the level of derivations. As in C++/Rust, a “move” operation—the side-effecting exchange rule—is necessary for releasing resources in random order, as opposed to LIFO order.
BibTeX
@InProceedings{CMMD2025resource_cbpv,
author = {Sidney Congard and Guillaume Munch-Maccagnoni and Rémi Douence},
booktitle = {European Symposium on Programming (ESOP 2026)},
title = {Linear effects, exceptions, and resource safety: a Curry-Howard correspondence for destructors},
doi = {https://doi.org/10.48550/arXiv.2510.23517},
eprint = {2510.23517},
note = {Extended version},
url = {https://arxiv.org/abs/2510.23517},
archiveprefix = {arXiv},
creationdate = {2026-04-21T02:31:24},
owner = {gm},
primaryclass = {cs.PL},
year = {2026},
}
Paper
[PDF, December 2025 — arXiv:2502.13033.]
Joint work with Éléonore Mangel and Paul-André Melliès. Slightly longer version with additional illustrations and proofs of a paper accepted at POPL 2026 (doi:10.1145/3776715).
Abstract
In the spirit of the Curry-Howard correspondence between proofs and programs, we define and study a syntax and semantics for classical logic equipped with a computationally involutive negation, using a polarised effect calculus, the linear classical L-calculus. A main challenge in designing a denotational semantics for the calculus is to accommodate both call-by-value and call-by-name evaluation strategies, which leads to a failure of associativity of composition. In order to tackle this issue, we define a notion of adjunction between graph morphisms on non-associative categories, which we use to formulate polarized and non-associative notions of symmetric monoidal closed duploid and of dialogue duploid. We show that they provide a direct style counterpart to adjunction models: linear effect adjunctions for the (linear) call-by-push-value calculus and dialogue chiralities for linear continuations, respectively. In particular, we show that the syntax of the linear classical L-calculus can be interpreted in any dialogue duploid, and that it defines in fact a syntactic dialogue duploid. As an application, we establish, by semantic as well as syntactic means, the Hasegawa-Thielecke theorem, which states that the notions of central map and of thunkable map coincide in any dialogue duploid (in particular, for any double negation monad on a symmetric monoidal category).
BibTeX
@misc{MMMM2025,
title={Classical notions of computation and the Hasegawa-Thielecke theorem (extended version)},
author={Éléonore Mangel and Paul-André Melliès and Guillaume Munch-Maccagnoni},
year={2025},
eprint={2502.13033},
archivePrefix={arXiv},
primaryClass={cs.LO},
url={https://arxiv.org/abs/2502.13033},
comment={Extended version of \href{https://doi.org/10.1145/3776715}{doi:10.1145/3776715} (POPL 2026)},
doi = {https://doi.org/10.48550/arXiv.2502.13033},
}
Conference paper
[PDF, February 2024 — HAL.]
Joint work with Jean Caspar, presented at JFLA 2024.
Abstract
Destructors, responsible for releasing memory and other resources in languages
such as C++ and Rust, can lead to stack overflows when releasing a recursive
structure that is too deep. In certain cases, it is possible to generate an efficient
destructor (non-allocating and tail recursive) using a typed variant of pointer
reversal. We extend this technique by making it more modular, in order to
handle abstract types, separate compilation, and unboxed types.
BibTeX
@inproceedings{Caspar2024,
TITLE = {{Modular efficient deconstruction with typed pointer reversal}},
AUTHOR = {Caspar, Jean and Munch-Maccagnoni, Guillaume},
URL = {https://inria.hal.science/hal-04406342},
BOOKTITLE = {{JFLA 2024 - 35es Journ{\'e}es Francophones des Langages Applicatifs}},
ADDRESS = {Saint-Jacut-de-la-Mer, France},
PAGES = {1-10},
YEAR = {2024},
MONTH = Jan,
PDF = {https://inria.hal.science/hal-04406342/file/jfla2024-paper-13.pdf},
HAL_ID = {hal-04406342},
HAL_VERSION = {v1},
}
Preprint
[PDF, September 2022 — HAL.]
Long version of the work presented at the ML 2022
workshop. Joint work with Gabriel Scherer.
Abstract
We propose a new interface and implementation for managing garbage
collector (GC) roots for the OCaml foreign-function interface (FFI),
which offers: • better performance than existing root-registration
interfaces, • efficient support for multicore OCaml, thanks to a
multicore-friendly design, • a reasoning based on resource-management
idioms, enabling an easier OCaml FFI in Rust.
BibTeX
@TechReport{MunchMaccagnoniScherer2022MLworkshop,
author = {Munch-Maccagnoni, Guillaume and Scherer, Gabriel},
date = {2022-09},
institution = {INRIA},
title = {Boxroot, fast movable GC roots for a better FFI},
booktitle = {ML Family workshop (ML 2022)},
creationdate = {2022-11-23T01:39:10},
owner = {gm},
year = {2022},
}
Extended abstract
Abstract
This paper reports the good hypothetical performance, in rigorous
practical terms, of embedding (borrowing) linearly-allocated values
inside garbage-collected values. A companion submission to the ML
workshop reports a symmetrical result: how to efficiently embed (own)
garbage-collected values inside linearly-allocated values. Taken
together, the broader motivation is to show the feasibility of basing
linear allocation with re-use (Lafont 1988; Baker 1992) in
languages that would still leverage state-of-art garbage collection
for non-linear values.
BibTeX
@TechReport{munchmaccagnoni2022ocamlworkshop,
author = {Munch-Maccagnoni, Guillaume},
date = {2022-09},
institution = {INRIA},
title = {Efficient “out of heap” pointers for multicore OCaml},
booktitle = {OCaml Users and Developers workshop (OCaml 2022)},
creationdate = {2022-11-23T01:39:10},
owner = {gm},
year = {2022},
}
Abstract
[PDF, May 2020 — HAL.]
Originally due to be presented at the TYPES 2020 conference
(cancelled). Joint work with Étienne Miquey and Xavier Montillet. (Work in progress(!))
Abstract
We propose to bring together a dependently-typed theory (ECC) and
polarised sequent calculus, by presenting a calculus Ldep suitable as
a vehicle for compilation and representation of effectful
computations. As a first step in that direction, we show that Ldep
advantageously factorize a dependently typed continuation-passing
style translation for ECC+call/cc. To avoid the inconsistency of type
theory with control operators, we restrict their interaction.
Nonetheless, in the pure case, we obtain an unrestricted translation
from ECC to itself, thus opening the door to the definition of
dependently typed compilation transformations.
BibTeX
@TechReport{miqueymontilletmunch2020TYPES,
author = {Miquey, Étienne and Montillet, Xavier and Munch-Maccagnoni, Guillaume},
date = {2020-05},
institution = {INRIA},
title = {Dependent Type Theory in Polarised Sequent Calculus (abstract)},
url = {https://hal.inria.fr/hal-02505671},
booktitle = {{TYPES 2020}},
creationdate = {2022-11-23T01:23:38},
hal_id = {hal-02505671},
owner = {gm},
year = {2020},
}
Position paper
Abstract
The current multicore OCaml implementation bans so-called “naked
pointers”, pointers to outside the OCaml heap unless they follow
drastic restrictions. A backwards-incompatible change has been
proposed to make way for the new multicore GC in OCaml. I argue that
out-of-heap pointers are not an anomaly, but are part of a better
systems programming future.
BibTeX
@TechReport{munchmaccagnoni2020mlworkshop,
author = {Munch-Maccagnoni, Guillaume},
title = {{Towards better systems programming in OCaml with out-of-heap allocation}},
pages = {1-6},
url = {https://hal.inria.fr/hal-03142386},
address = {Jersey City, United States},
booktitle = {{ML Workshop 2020}},
hal_id = {hal-03142386},
hal_version = {v1},
month = Aug,
pdf = {https://hal.inria.fr/hal-03142386/file/ml2020-paper8.pdf},
year = {2020},
}
Extended abstract
Abstract
The resource-management model of C++ and Rust relies on
compiler-generated destructors called predictably and reliably. In
current implementations, the generated destructor consumes stack space
proportionally to the depth of the structure it destructs. We describe
a way to derive destructors for algebraic data types that consume a
constant amount of stack and heap. We discuss applicability to C++ and
Rust, and also some implication for anyone wishing to extend an
ML-style language with first-class resources.
BibTeX
@TechReport{MunchDouence2019,
author = {Munch-Maccagnoni, Guillaume and Douence, Rémi},
date = {2019},
title = {Efficient Deconstruction with Typed Pointer Reversal (abstract)},
url = {https://hal.archives-ouvertes.fr/hal-02177326},
booktitle = {ML Family workshop},
owner = {gm},
timestamp = {2020-09-13},
year = {2019},
}
Extended abstract
Abstract
We model exceptions in a linear, effectful setting by relaxing the
notion of monadic strength to contexts that are discardable, in the
spirit of C++ destructors. This gives rise to a resource modality
reminiscent of unique_ptr and move semantics in C++11. We
explore consequences in language design for resource management in
functional programming languages.
BibTeX
@TechReport{CombetteMunch2018,
author = {Combette, Guillaume and Munch-Maccagnoni, Guillaume},
date = {2018-04-16},
institution = {INRIA},
title = {A resource modality for RAII (abstract)},
url = {https://hal.inria.fr/hal-01806634},
booktitle = {LOLA 2018: Workshop on Syntax and Semantics of Low-Level Languages},
owner = {gm},
timestamp = {2018.04.17},
year = {2018},
}
Manuscript
Abstract
We present a resource-management model for
ML-style programming languages, designed to be compatible with the
OCaml philosophy and runtime model. This is a proposal to extend the
OCaml language with destructors, move semantics, and resource
polymorphism, to improve its safety, efficiency, interoperability, and
expressiveness. It builds on the ownership-and-borrowing models of
systems programming languages (Cyclone, C++11, Rust) and on linear
types in functional programming (Linear Lisp, Clean, Alms). It
continues a synthesis of resources from systems programming and
resources in linear logic initiated by Baker.
It is a combination of many known and some new ideas. On the novel
side, it highlights the good mathematical structure of
Stroustrup's “Resource acquisition is initialisation” (RAII)
idiom for resource management based on destructors, a notion sometimes
confused with finalizers, and builds on it a notion of resource
polymorphism, inspired by polarisation in proof theory, that mixes
C++'s RAII and a tracing garbage collector (GC). In particular, it
proposes to identify the types of GCed values with types with trivial
destructor: from this definition it deduces a model in which GC is the
default allocation mode, and where GCed values can be used without
restriction both in owning and borrowing contexts.
The proposal targets a new spot in the design space, with an
automatic and predictable resource-management model, at the same time
based on lightweight and expressive language abstractions. It is
backwards-compatible: current code is expected to run with the same
performance, the new abstractions fully combine with the current ones,
and it supports a resource-polymorphic extension of libraries. It does
so with only a few additions to the runtime, and it integrates with
the current GC implementation. It is also compatible with the upcoming
multicore extension, and suggests that the Rust model for eliminating
data-races applies.
Interesting questions arise for a safe and practical type system,
many of which have already been thoroughly investigated in the
languages and prototypes Cyclone, Rust, and Alms.
BibTeX
@TechReport{Munch2018RePo,
author = {Munch-Maccagnoni, Guillaume},
title = {Resource Polymorphism},
year = {2018},
date = {2018-01-31},
}
Manuscript
[PDF, May 2017 — HAL.]
The proof of completeness of focusing (Sections 6.4 to 7) has been
presented at the 4th International Workshop on Structures and
Deduction (SD 2017), Sep. 2017, Oxford, under the title
“What term assignments can
do for focusing”.
Abstract
We present Curry-style calculi for intuitionistic (linear) logic with polarised evaluation order and give self-contained proofs of their main properties and of their interpretation into (Linear) Call-by-Push-Value models: subject reduction, confluence, strong normalisation, coherence, soundness, and focusing.
BibTeX
@TechReport{Munch-Maccagnoni2017curry,
author = {Munch-Maccagnoni, Guillaume},
title = {Note on Curry's style for Linear Call-by-Push-Value},
year = {2017},
date = {2017-05-03},
url = {https://hal.inria.fr/hal-01528857},
}
@TechReport{munchmaccagnoni2017SDworkshop,
author = {Munch-Maccagnoni, Guillaume},
date = {2017-09},
institution = {INRIA},
title = {What term assignments can do for focusing},
url = {https://hal.inria.fr/hal-01991571},
booktitle = {{4th International Workshop on Structures and Deduction (SD 2017)}},
creationdate = {2022-11-23T01:13:38},
hal_id = {hal-01991571},
owner = {gm},
year = {2017},
}
Conference paper
Abstract
We consider the Curry-Howard-Lambek correspondence for effectful computation and resource management, specifically proposing polarised calculi together with presheaf-enriched adjunction models as the starting point for a comprehensive semantic theory relating logical systems, typed calculi, and categorical models in this context.
Our thesis is that the combination of effects and resources should be considered orthogonally. Model theoretically, this leads to an understanding of our categorical models from two complementary perspectives: (i) as a linearisation of CBPV (Call-by-Push-Value) adjunction models, and (ii) as an extension of linear/non-linear adjunction models with an adjoint resolution of computational effects. When the linear structure is cartesian and the resource structure is trivial we recover Levy's notion of CBPV adjunction model, while when the effect structure is trivial we have Benton's linear/non-linear adjunction models. Further instances of our model theory include the dialogue categories with a resource modality of Melliès and Tabareau, and the [E]EC ([Enriched] Effect Calculus) models of Egger, Møgelberg and Simpson. Our development substantiates the approach by providing a lifting theorem of linear models into cartesian ones.
To each of our categorical models we systematically associate a typed term calculus, each of which corresponds to a variant of the sequent calculi LJ (Intuitionistic Logic) or ILL (Intuitionistic Linear Logic). The adjoint resolution of effects corresponds to polarisation whereby, syntactically, types locally determine a strict or lazy evaluation order and, semantically, the associativity of cuts is relaxed. In particular, our results show that polarisation provides a computational interpretation of CBPV in direct style. Further, we characterise depolarised models: those where the cut is associative, and where the evaluation order is unimportant. We explain possible advantages of this style of calculi for the operational semantics of effects.
Keywords
Categorical semantics, Curry-Howard-Lambek correspondence, Intuitionistic logic, Linear logic, Computational effects, Resource modalities, Polarised calculi, Adjunction models.
BibTeX
@InProceedings{CFM2016,
Title = {{A} {T}heory of {E}ffects and {R}esources: {A}djunction {M}odels and {P}olarised {C}alculi},
Author = {Curien, Pierre-Louis and Fiore, Marcelo and Munch-Maccagnoni, Guillaume},
Booktitle = {Proc. POPL},
Year = {2016},
Doi = {10.1145/2837614.2837652}
}
Conference paper
Copyright IEEE. Published thanks to the ERC's open access policy.
Abstract
The theory of the λ-calculus with extensional sums is more complex than with only pairs and functions. We propose an untyped representation—an intermediate calculus—for the λ-calculus with sums, based on the following principles: 1) Computation is described as the reduction of pairs of an expression and a context; the context must be represented inside-out, 2) Operations are represented abstractly by their transition rule, 3) Positive and negative expressions are respectively eager and lazy; this polarity is an approximation of the type. We offer an introduction from the ground up to our approach, and we review the benefits.
A structure of alternating phases naturally emerges through the study of normal forms, offering a reconstruction of focusing. Considering further purity assumption, we obtain maximal multi-focusing. As an application, we can deduce a syntax-directed algorithm to decide the equivalence of normal forms in the simply-typed λ-calculus with sums, and justify it with our intermediate calculus.
Keywords
λ-calculus with sums, Intuitionistic logic, Sequent calculus, Abstract machines, Polarization, Focalization, Continuation-passing style, Defunctionalization.
BibTeX
@InProceedings{MunSch2015,
Title = {{P}olarised {I}ntermediate {R}epresentation of {L}ambda {C}alculus with {S}ums},
Author = {Munch-Maccagnoni, Guillaume and Scherer, Gabriel},
Booktitle = {Proceedings of the Thirtieth Annual ACM/IEEE Symposium on Logic In Computer Science (LICS 2015)},
Year = {2015},
Doi = {10.1109/LICS.2015.22}
}
Conference paper
Adapted from the fourth chapter of my thesis.
Abstract
Negation is not involutive in the λC calculus because it does not
distinguish captured stacks from continuations. We show that there is
a formulae-as-types correspondence between the involutive negation
in proof theory, and a notion of high-level access to the stacks studied
by Felleisen and Clements.
We introduce polarised, untyped, calculi compatible with
extensionality, for both of classical sequent calculus and classical natural
deduction, with connectives for an involutive negation. The involution
is due to the ℓ delimited control operator that we introduce,
which allows us to implement the idea that captured stacks, unlike
continuations, can be inspected. Delimiting control also gives a
constructive interpretation to falsity. We describe the isomorphism there
is between A and ¬¬A, and thus between ¬∀ and ∃¬.
Keywords
Classical logic, Formulae-as-types, Delimited control operators, Continuations, Polarization, Focalization.
BibTeX
@InProceedings{Munch14Involutive,
Title = {{F}ormulae-as-{T}ypes for an {I}nvolutive {N}egation},
Author = {Munch-Maccagnoni, Guillaume},
Booktitle = {Proceedings of the joint meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (CSL-LICS)},
Year = {2014}
}
Conference paper
Slightly shortened version of the second chapter of my thesis manuscript.
The original version of this article is available at
Springer Link.
Abstract
We characterise the
polarised evaluation order through a categorical structure where the
hypothesis that composition is associative is relaxed. Duploid is
the name of the structure, as a reference to Jean-Louis Loday's duplicial
algebras. The main result is a reflection Adj→Dupl where Dupl
is a category of duploids and duploid functors, and Adj is the
category of adjunctions and pseudo maps of adjunctions. The result suggests
that the various biases in denotational semantics:
indirect, call-by-value, call-by-name... are a way of hiding the fact that
composition is not always associative.
Keywords
Polarization, Call-by-Push-Value, L calculus, direct models, adjunctions.
BibTeX
@InProceedings{Munch14Duploids,
Title = {{M}odels of a {N}on-{A}ssociative {C}omposition},
Author = {Munch-Maccagnoni, Guillaume},
Booktitle = {Proceedings of the 17th International Conference on Foundations of Software Science and Computation Structures (FoSSaCs)},
Year = {2014},
Editor = {Muscholl, Anca},
Pages = {397--412},
Publisher = {Springer Heidelberg},
Series = {Lecture Notes in Computer Science},
Volume = {8412}
}
Conference paper
The original version is available at www.springerlink.com.
Abstract
We review the close relationship between abstract machines for (call-by-name
or call-by-value) lambda-calculi (extended with Felleisen's C) and sequent
calculus, reintroducing on the way Curien-Herbelin's syntactic kit expressing
the duality of computation.
We use this kit to provide a term language for a presentation of LK (with
conjunction, disjunction, and negation), and to transcribe cut elimination
as (non confluent) rewriting. A key slogan here, which may appear here in
print for the first time, is that commutative cut elimination rules are explicit
substitution propagation rules.
We then describe the focalised proof search discipline (in the classical
setting), and narrow down the language and the rewriting rules to a confluent
calculus (a variant of the second author's focalising system L).
We then define a game of patterns and counterpatterns, leading us to a fully
focalised finitary syntax for a synthetic presentation of classical logic,
that provides a quotient on (focalised) proofs, abstracting out the order of
decomposition of negative connectives.
Keywords
Sequent calculus, classical logic, polarization, focalization, explicit
substitutions, pattern matching.
BibTeX
@InProceedings{CurienMunch10,
Title = {{T}he duality of computation under focus},
Author = {Curien, Pierre-Louis and Munch-Maccagnoni, Guillaume},
Booktitle = {IFIP TCS},
Year = {2010},
Editor = {Calude, Christian S. and Sassone, Vladimiro},
Pages = {165-181},
Publisher = {Springer},
Series = {IFIP Advances in Information and Communication Technology},
Volume = {323}
}
Conference paper
Extended version: August 2009. Revised June 2010.
The original version is available at
www.springerlink.com.
Abstract
We develop a polarised variant of Curien and Herbelin's
lambda-bar-mu-mu-tilde calculus suitable for sequent calculi that admit a
focalising cut elimination (i.e. whose proofs are focalised when cut-free),
such as Girard's classical logic LC or linear logic. This gives a setting in
which Krivine's classical realisability extends naturally (in particular to
call-by-value), with a presentation in terms of orthogonality. We give examples
of applications to the theory of programming languages.
In this version extended with appendices, we in particular give the two-sided
formulation of LC with the involutive classical negation. We also
show that there is in classical realisability a notion of internal completeness
similar to the one of Ludics.
Keywords
Realizablity, polarisation, focalization, sequent calculus, classical logic,
orthogonality, Ludics.
BibTeX
@InProceedings{Munch09Foc,
Title = {{F}ocalisation and {C}lassical {R}ealisability},
Author = {Munch-Maccagnoni, Guillaume},
Booktitle = {Computer Science Logic '09},
Year = {2009},
Editor = {Erich Gr{\"a}del and Reinhard Kahle},
Pages = {409--423},
Publisher = {Springer, Heidelberg},
Series = {Lecture Notes in Computer Science},
Volume = {5771}
}
[PDF: Screen version or Print version.]
Defended December 10th, 2013. Manuscript in English, preceded by an extended abstract in French.
Abstract
The thesis is a contribution to the understanding
of the nature, role, and mechanisms of polarisation in programming
languages, proof theory and categorical models. Polarisation
corresponds to the idea the associativity of composition of morphisms
is an hypothesis that has to be relaxed, and underlies many models of
computation.
In our demonstration, we introduce duploids, which model
polarisation directly. These compositional structures, which, unlike
categories, do not always require composition to be associative, are
shown to be in correspondence with certain completed forms of
categorical adjunctions (Chapter II). This analysis of polarisation is
then extended into a fine-grained decomposition of
continuation-passing-style (CPS) transformations, which model
and implement higher-order programming languages. As an application we
show how polarisation accounts for evaluation order in models of
delimited control operators (Chapter III). Finally, we give a
formulae-as-types interpretation of an involutive negation, which
shows the importance of polarisation for constructiveness in proof
theory (Chapter IV).
The cornerstone of our approach is an interactive term-based
representation of proofs and programs (L calculi) which
exposes the structure of polarities. It is based on the correspondence
between abstract machines and sequent calculi, and syntheses various
trends: the modelling of control, evaluation order and effects in
programming languages, the quest for a relationship between
categorical duality and continuations, and the interactive notion of
construction in proof theory. We give a gentle introduction to our
approach which only assumes elementary knowledge of simply-typed λ
calculus and rewriting (Chapter I).
Keywords
Non-associative composition, Polarization, Adjunctions, Direct model,
Abstract machine, Sequent calculus, Delimited control,
Continuation-passing style.
BibTeX
@PhdThesis{Munch13PhD,
Title = {{S}yntax and {M}odels of a non-{A}ssociative {C}omposition of {P}rograms and {P}roofs},
Author = {Munch-Maccagnoni, Guillaume},
School = {Univ. Paris Diderot},
Year = {2013}
}