Preuves, programmes et systèmes
Mercredi 14 mai 2025, 10 heures, Salle 3071
Joachim Kock (UAB Barcelona & U Copenhagen) Lectures on Decomposition Spaces
The first lecture will start with a brief review of the classical Möbius functioin in number theory, and Rota's theory for locally finite posets. Here the notion of reduction is important: often it has the flavour of cooking up an auxiliary poset in order to apply the classical theory, and then impose an equivalence relation so as to arrive at the coalgebra actually needed. With this motivation, we then move on to Möbius categories and decomposition spaces, and go through some examples beyond posets, such as the chromatic Hopf algebra of graphs and the Butcher-Connes-Kreimer Hopf algebra of rooted trees.
The second lecture will be a bit more categorical, including an introduction to objective algebraic combinatorics using objective linear algebra: this is linear algebra with coefficients in sets and groupoids instead of number coefficients. Slice categories play the role of vector spaces, and linear functors (given by spans) play the role of linear maps. By working at this level, the theory of decomposition spaces can be seen as a systematic way of lifting coalgebraic identities to 'bijective proofs'. I'll spend some time explaining the need for groupoids and homotopy theory, exemplified with the Faà di Bruno bialgebra.
The third lecture focuses on functorialities, explaining how certain simplicial maps called CULF and IKEO induce coalgebra homomorphisms. Especially important is the simplicial notion of decalage, which underlies many of the reductions in classical theory. CULF maps also enter in the definition of monoidal decomposition spaces, in turn inducing bialgebras and Hopf algebras (rather than just coalgebras). I hope to be able to finish with some potential applications to process calculi and quantum logic. Sometimes processes cannot be composed, or can be composed in many ways. Often this means there is instead a well-defined decomposition operation, and likely a decomposition space. Similarly, effect algebras and effect algebroids describe situations where composition is only partially defined, with axioms ensuring that they are in fact examples of decomposition spaces.
Schedule:
10:00 - 11:00: lecture 1 11:30 - 12:30: lecture 2 13:00 - 14:00: lecture 3
Preuves, programmes et systèmes
Vendredi 2 mai 2025, 14 heures, Salle 3052 & online (Zoom link)
Alexander Kurz (Chapman University) Quantale-Valued Modal Logic
Preuves, programmes et systèmes
Jeudi 17 avril 2025, 10 heures 30, Salle 3052
Hector Suzanne (LIP6 (Sorbonne Université)) Reusable resource analysis for high-level languages
We focus on resource analyses through type systems for functional languages. To this aim, we introduce AutoBill, an abstract machine used as intermediate representation for resource analysis, based on the lambda-mu-mutilde calculus. We compile to this machine, amongst others, an ML-style language with data-structures (ADT), recursion (fixpoints), and some further extensions.
AutoBill uses Call-by-Push-Value operational semantics, which mixes call-by-value and call-by-name, to encode the runtime semantics of functional languages. The use of an abstract machine furthermore allows continuations to be encoded as explicit call stacks. This in turns enables the re-use of data structures analyses to analyse control flow within programs.
On top of our machine, a linear type system explicits the resource flow that accompanies jumping in and out of computations. Those types are enriched with integer parameters, that are controlled during type-checking through the addition of equations and constraints to data-type definitions. This enables the approximating sizes, costs, combinatorial invariant, etc. in a first-order constraint, and provides a link between those quantities and the largest resource usage occurring at runtime. This is done during type-inference, and the constraint is then sent to an SMT solver for validation, or to a linear programming optimizer to generate resource bounds.
We implement the “Automated Amortized Resource Analysis” method in AutoBill. It assigns, to each data-structure, a count of the amount of sub-structures with some relevant shape. This is then used to bound the iteration counts of an algorithm and obtain polynomial worst-case complexities. Our implementation consists of a specialized compilation scheme from a source language to the abstract machine. The typing-and-analysis engine is then independent of both the source language and the chosen analysis method.
Preuves, programmes et systèmes
Jeudi 10 avril 2025, 10 heures 30, Salle 3052 & online (Zoom link)
Justin Hsu (Cornell University) Type Systems for Numerical Error Analysis
Today, I'll talk about some of our recent work on NumFuzz, a higher-order language that can bound forward error using a linear, coeffect type system for sensitivity analysis combined with a novel quantitative error type. Our type inference procedure can derive precise relative error bounds for programs that are several orders of magnitude larger than previously possible.
If time permits, I'll briefly discuss a second type system called Bean for bounding backward error. Like NumFuzz, Bean is based on a linear coeffect type system, but it features a semantics based on a novel category of lenses on metric spaces. Bean is the first system to soundly reason about backward error in numerical programs.
Joint work with Ariel Kellison, Laura Zielinski, and David Bindel.
Preuves, programmes et systèmes
Jeudi 27 mars 2025, 10 heures 30, Salle 3052 & online (Zoom link)
Andrei Paskevich (LMF, Université Paris-Saclay, Inria Saclay) Coma, an Intermediate Verification Language with Explicit Abstraction Barriers
Preuves, programmes et systèmes
Jeudi 20 mars 2025, 10 heures 30, Salle 3052 & online (Zoom link)
Marie Kerjean (LIPN, Université Sorbonne Paris Nord, CNRS) δ is for Dialectica
Preuves, programmes et systèmes
Jeudi 13 mars 2025, 10 heures 30, Amphithéâtre Alan Turing
Maribel Fernandez, Victoria Barrett, Elena Di Lavore CHOCOLA seminar series
Preuves, programmes et systèmes
Jeudi 13 février 2025, 10 heures 30, Salle 3052 & online (Zoom link)
Léo Andrès (OCamlPro, Laboratoire de Méthodes Formelles) Owi, a cross-language symbolic execution engine for bug-finding and solver-aided programming
Preuves, programmes et systèmes
Jeudi 6 février 2025, 10 heures 30, Site Monod de l'ENS Lyon
Justin Hsu, Valentin Maestracci, Shin-Ya Katsumata Séminaire CHOCOLA
Preuves, programmes et systèmes
Jeudi 23 janvier 2025, 10 heures, Amphithéâtre Alan Turing du bâtiment Sophie Germain
Nathanaëlle Courant (INRIA Paris and OCamlPro) An efficient and verified convertibility check in dependent type theory
In this presentation, we start with an efficient, strong call-by-need, big-step semantics for the λ-calculus, which is the critical building block to implement a convertibility test in a classical manner. We then show how we can improve upon this by considering the convertibility problem in its entirety, viewing it as proof search. To this end, we study what can be considered a (non-)convertibility proof, drawing upon existing work.
This gives rise to a new parallel, heuristic-less algorithm for this test, which does not duplicate computations, and comes with worst-case complexity guarantees. We derived a virtual machine from this algorithm, and made it more efficient by following Grégoire and Leroy, showing that our algorithm is suited to compilation of the input λ-terms for additional efficiency. Both this semantics and this efficient parallel convertibility test have been implemented in OCaml and experimentally validated, significantly outperforming Coq in some cases. They are also both formalised and verified using Coq, building confidence in our work.
Joint session with the Petits 2025 workshop.
Preuves, programmes et systèmes
Jeudi 16 janvier 2025, 10 heures 30, Salle 3052
Jean-Baptiste Jeannin (University of Michigan) Synchronous Programming with Refinement Types