Proofs, programs and systems
Thursday December 17, 2020, 10:30AM, Online
Vincent Rahli (University of Birmingham) Open Bar - a Brouwerian Intuitionistic Logic with a Pinch of Excluded Middle
Virtual room at link (any password works)
Proofs, programs and systems
Thursday December 3, 2020, 10:30AM, Online
Laure Gonnord (Université Lyon Claude Bernard) Contributions in static analyses for memory: the example of arrays
In this talk I will present two experiences in the design of static analyses dedicated to array properties and explore the intrinsic difficulties we, together with my coauthors, faced while developing them. I will also show some experimental evidence of the impact of this work on real-world compilers, as well as future perspective for this area of research.
Virtual room at link (any password works)
Proofs, programs and systems
Thursday November 26, 2020, 10:30AM, Online
Ambroise Lafont (CSIRO) Mathematical specifications of programming languages via modules over monads
Virtual room at link (any password works)
Proofs, programs and systems
Thursday November 19, 2020, 10:30AM, Online
Benoît Valiron (CentraleSupelec & LRI) From symmetric pattern-matching to quantum control
In this talk, we argue that, under the right circumstances, a reasonable notion of quantum loop is possible. To this aim, we propose a typed, reversible language with lists and fixpoints, extensible to linear combinations of terms. The language admits a reduction strategy in the spirit of algebraic lambda-calculi. Under the restriction of structurally recursive fixpoints, it is shown to capture unitary operations. It is expressive enough to represent several of the unitaries one might be interested in expressing.
Virtual room at link (any password works)
Proofs, programs and systems
Thursday November 12, 2020, 10:30AM, Online
Marc De Visme Game Semantics for Quantum Programming
Link (any password works)
Proofs, programs and systems
Thursday November 5, 2020, 10:30AM, Online
Robin Piedeleu (University College London) A diagrammatic axiomatisation of finite-state automata
Proofs, programs and systems
Thursday October 29, 2020, 3PM, Online at this link
Jan Hoffmann (Carnegie Mellon University) Raising Expectations: Automating Expected Cost Analysis with Types
In this talk, I will first give an overview of AARA for deterministic programs and some of the innovations that have been introduced over the past decade. I will then describe our novel results on expected bound analysis for probabilistic programs, highlight the challenges of adopting AARA to a probabilistic language, present experimental results, and discuss some open problems.
Proofs, programs and systems
Thursday October 22, 2020, 10:30AM, Online at this link
Sylvain Salvati (Université de Lille) Syntactic properties from a semantic perspective
Proofs, programs and systems
Thursday October 15, 2020, 10AM, Online
Nicolas Behr, Camille Combe, Hugo Moeneclaey, Sylvain Douteau Journées de rentrée PPS 2020
Proofs, programs and systems
Thursday October 8, 2020, 10:30AM, Online
Vincent Blazy, Zeinab Galal, Farzad Jafar-Rahmani, Ada Vienot Journées de rentrée PPS 2020
- Hugo Herbelin: présentation des axes scientifiques du pôle PPS.
- Vincent Blazy: Structure fine du Sous-Typage d’Univers en CCI et applications à la certification de programmes et aux Fondements des Mathématiques.
- Zeinab Galal: A Profonctorial Finiteness Semantics;
- Farzad Jafar-Rahmani: Denotational semantics of logic with fixed points.
- Ada Vienot: tba
Proofs, programs and systems
Thursday October 1, 2020, 10:30AM, Online
Kostia Chardonnet, El-Mehdi Cherradi, Simon Forest, Mickael Laurent Journées de rentrée PPS 2020
- Kostia Chardonnet: Towards a Curry-Howard Correspondence for Quantum Computation
- El-Mehdi Cherradi: Preuves, programmes et homotopie
- Simon Forest: Des constructions génériques pour les catégories supérieures
- Mickael Laurent: Intégration d'outils de programmation avancés dans un langage avec types ensemblistes
Proofs, programs and systems
Thursday June 18, 2020, 3:30PM, Online
Andrei Paskevich (Paris Sud University) Abstraction and Genericity in Why3
This talk presents the modularity features of WhyML, the language of the program verification tool Why3. Instead of separating abstract interfaces and fully elaborated implementations, WhyML uses a single concept of “module”, a collection of abstract and concrete declarations, and a basic operation of “cloning” which instantiates a module with respect to a given partial substitution, while verifying its soundness. This mechanism brings into WhyML both abstraction and genericity, as illustrated by a small verified Bloom filter implementation, translated into executable idiomatic C code.
Proofs, programs and systems
Thursday June 11, 2020, 3:30PM, Online
Claude Stolze Union, intersection and dependent types in an explicitly typed lambda-calculus
Proofs, programs and systems
Wednesday June 10, 2020, 3PM, Online
Yannick Zakowski (University of Penn) Representing recursive and impure programs in Coq: from a toy assembly language to a modular formal semantics for LLVM IR
ITrees are expressive enough to serve as a language of specification for many projects of the DeepSpec ecosystem, making them a convenient Franca Lingua for formal specification, and helping in connecting projects together. Furthermore, their ability to be extracted make them compatible with ambitions of liveness and two-sidedness.
In this talk, we will particularly focus on how ITrees can be used in the context of verified compilation. To this end, we will first introduce the core concepts over a toy language, before sketching how we have been scaling the approach to LLVM IR as part of the Vellvm DeepSpec project.
Proofs, programs and systems
Tuesday June 9, 2020, 4PM, Online
Paul Brunet (University College London) Recent developments in concurrent Kleene algebra
In this talk, I will start by recalling the basic definitions of CKA, and its decidability and completeness theorems. We will then take an overview of some of its extensions, considering aspects such as control-flow, memory consistency and mutual exclusion.
This talk is the result of collaborations with Tobias Kappé, Jana Wagemaker, Simon Docherty, Fabio Zanasi, Jurriaan Rot, Alexandra Silva, David Pym, Damien Pous, and Georg Struth.
Proofs, programs and systems
Thursday May 28, 2020, 3:30PM, Online
Glen Mével (INRIA Cambium) Towards a separation logic for Multicore OCaml
There is now a call for reasoning principles for shared-memory concurrency. In real-world applications, shared memory typically exhibits counter-intuitive behaviors, and “weak” memory models are required to describe them. This poses specific challenges for program verification.
After introducing the weak memory model of Multicore OCaml, I will derive a program logic for this language, and demonstrate its usage on simple examples.
I will show how, in our logic, the invariants of these concurrent data structures extend from the naive model of memory to the weaker model enforced by Multicore OCaml. This model is simpler than that of C11, and we argue that our logic exhibits primitive reasoning principles that are easier to deal with than what was possible for C11.
This work builds on the Iris concurrent separation logic framework and is fully mechanized in Coq.
Proofs, programs and systems
Thursday May 14, 2020, 3:30PM, Online
Pierre-Yves Strub (École polytechnique) Jasmin/EasyCrypt: high-assurance, low-level programming
In this talk, I will present the Jasmin-EasyCrypt project that explores how formal approaches could eliminate this disconnect and bring together implementations (most importantly, efficient implementations) and software artefacts, in particular machine-checked proofs, supporting security analyses.
Proofs, programs and systems
Thursday May 7, 2020, 3:30PM, Online
Hugo Herbelin (IRIF) Introduction à la théorie des types homotopiques, deuxième partie
Proofs, programs and systems
Thursday April 30, 2020, 3:30PM, Online
Hugo Herbelin Introduction à la théorie des types homotopiques
Nous donnerons les principes de base de la manière de pensée « HoTT » : principle d'univalence (= extensionalité des types), inductifs supérieurs (généralisation des pushouts), niveaux d'homotopie (h-niveaux), correspondance entre preuves d'égalité et chemins, correspondance propositions/types/espaces/∞-groupoïdes, description « synthétique » d'espaces géométriques (par exemple, cercle = pure donnée algébrique d'un point et d'un chemin autour de ce point), construction de Grothendieck reliant ΣB.(B→A) et A→Type.
Nous pourrions aussi aborder la théorie des types cubiques vue comme style direct pour la paramétricité itérée délimitée. Nous pourrions aussi essayer d'ébaucher le dictionnaire permettant de connecter les vocabulaires informatique/logique/géométrique/catégorique.
À noter que l'exposé essaiera en premier lieu de répondre à la curiosité de l'auditoire et le plan donné pourra évoluer en fonction des questions posées.
Proofs, programs and systems
Thursday April 9, 2020, 3:30PM, Online
Charles Grellois (Université d'Aix-Marseille) Verification of (probabilistic) functional programs
Proofs, programs and systems
Thursday March 26, 2020, 2PM, Online
Sam Van Gool Model completeness in logical algebra
Slightly longer abstract: Logical systems of deduction often resemble algebraic systems of equation resolution. The simplest instance of this resemblance is the fact that classical propositional logic essentially boils down to studying algebras over the two-element field. When one changes the logical deduction system, the algebraic structures become less simple, and more interesting; this is where one enters the world of Heyting algebras, modal algebras, and generalizations of such.
The aim of our work here is to gain a better understanding of such logical-algebraic structures by studying them from the perspective of model theory. In the model-theoretic study of usual algebra, the concept of model completeness plays a central role: it provides the correct abstraction of the concept of an algebraically closed field. We show that model completeness also has an important role to play in logical algebra.
In particular, we will discuss two cases of model completeness: intuitionistic logic, and linear temporal logic. In the former, model completeness can be seen to be closely related to a certain interpolation property of the logic, originally established by Pitts. In the latter, automata on infinite words are the technical ingredient that leads to model completeness.
This seminar will take place online. More information soon!
Proofs, programs and systems
Thursday February 13, 2020, 10:45AM, Salle 1007
Cyrille Chenavier (Inria Lille) Topological rewriting systems applied to standard bases and syntactic algebras
(Attention : le séminaire aura exceptionnellement lieu en salle 1007.)
Proofs, programs and systems
Thursday January 23, 2020, 10:30AM, Salle 3052
Robert Atkey (University of Strathclyde) Resource Constrained Programming with Full Dependent Types
Proofs, programs and systems
Thursday January 16, 2020, 10:30AM, Salle 3052
Gabriel Radanne (University of Freiburg) Kindly Bent to Free Us
While statically typed programming languages guarantee type soundness and memory safety by design, most of them do not address issues arising from improper resource handling. Linear and affine types guarantee single-threaded resource usage, but they are rarely deployed as they are too restrictive for real-world applications.
We present Affe, an extension of ML with constrained types that manages linearity and affinity properties through kinds. In addition Affe supports the exclusive and unrestricted borrowing of affine resources, inspired by features of Rust. Moreover, Affe retains the defining features of the ML family: an impure, strict functional expression language with complete principal type inference and type abstraction through modules. Our language does not require any linearity annotations in expressions and supports common functional programming idioms.
Proofs, programs and systems
Friday January 10, 2020, 10AM, Salle 3014
Joseph Tassarotti (Boston College) Verifying Concurrent Randomized Programs
This talk will describe Polaris, a logic for reasoning about programs that are both concurrent and randomized. Polaris combines ideas from three separate lines of work: (1) Varacca and Winskel's denotational model of non-determinism and probability, (2) Barthe et al.'s approach to probabilistic relational reasoning via couplings, and (3) higher-order concurrent separation logic, as realized in the Iris verification framework.
(Joint session between the PPS and Verification seminars.)