~~NOCACHE~~
/* DO NOT EDIT THIS FILE */
[[seminaires:types:index|Théorie des types et réalisabilité]]\\
Vendredi 18 mai 2018, 11 heures, Salle 3052\\
**Raphaël Cauderlier** //Tactics and certificates in Meta Dedukti//
\\
Tactics are often featured in proof assistants to simplify the
interactive development of proofs by allowing domain-specific
automation. Moreover, tactics are also helpful to check the output of
automatic theorem provers because they can rebuild details that the
provers omit.
We use meta-programming to define a tactic language for the Dedukti
logical framework which can be used both for checking certificates
produced by automatic provers and for developing proofs
interactively.
More precisely, we propose a dependently-typed tactic language for
first-order logic in Meta Dedukti and an untyped tactic language built
on top of the typed one. We show the expressivity of these languages
on two applications: a transfer tactic and a resolution certificate
checker.
[[seminaires:types:index|Théorie des types et réalisabilité]]\\
Mercredi 25 avril 2018, 14 heures, Salle 1007\\
**Hadrien Batmalle** (IRIF) //Préservation de propriétés du modèle de départ en réalisbilité classique//
\\
La réalisabilité classique permet d'interpréter des théories mathématiques
classiques, comme la théorie des ensembles ZF, dans divers modèles de
calcul (lambda-calcul avec continuations, domaines...) axiomatisés au
moyen d'algèbres de réalisabilité. Elle produit ainsi des modèles de
ces théories, de même qu'une technique bien connue, le forcing de
Cohen, dont elle est en fait une généralisation.
Jusqu'ici, la réalisabilité classique a seulement été étudiée à partir
d'un modèle de départ "raisonnable", supposé au moins valider AC,
voire même défini comme l'univers constructible. Dans cet exposé,
on étudiera un analogue des "conditions d'antichaîne" du forcing
nous permettant d'exporter certaines propriétés du modèle de
départ au modèle de réalisabilité; et on l'appliquera pour obtenir
des programmes réalisant Non DC (resp. Non CH) à partir de modèles
de ZF bien choisis validant Non DC (resp. Non CH).
---
DC: axiome du choix dépendant
CH: hypothèse du continu
[[seminaires:types:index|Théorie des types et réalisabilité]]\\
Lundi 19 mars 2018, 13 heures 15, 3052\\
**Adrien Guatto** //A Generalized Modality for Recursion//
\\
Nakano’s later modality allows types to express that the output of a
function does not immediately depend on its input, and thus that
computing its fixpoint is safe. This idea, guarded recursion, has
proved useful in various contexts, from functional programming with
infnite data structures to formulations of step-indexing internal to
type theory. Categorical models have revealed that the later modality
corresponds in essence to a simple reindexing of the discrete time
scale.
Unfortunately, existing guarded type theories suffer from
significant limitations for programming purposes. These
limitations stem from the fact that the later modality is not
expressive enough to capture precise input-output dependencies of
functions. As a consequence, guarded type theories reject many
productive definitions. Combining insights from guarded type
theories and synchronous programming languages, we propose a new
modality for guarded recursion. This modality can apply any
well-behaved reindexing of the time scale to a type. We call such
reindexings time warps. Several modalities from the literature,
including later, correspond to fixed time warps, and thus arise as
special cases of ours.
We integrate our modality into a typed λ-calculus. We equip this
calculus with an operational semantics, as well as an adequate
denotational semantics in the topos of trees, a standard categorical
model for guarded recursion. Building on top of categorical ideas, we
describe an abstract type-checking algorithm whose completeness
entails the coherence of both semantics.
Attention, horaire et salle inhabituels
[[seminaires:types:index|Théorie des types et réalisabilité]]\\
Mercredi 14 mars 2018, 14 heures, Salle 1007\\
**Laura Fontanella** (Institut de Mathématiques de Marseille) //L'Axiome du Choix dans la réalisabilité classique//
\\
La réalisabilité fournit une interpretation des formules d'un système
logique (ou d'une théorie) dans un modèle de calcul. Introduite par Kleene dans
les années `40, la réalisabilité est née comme une interprétation des formules
de l'arithmétique de Heyting par des ensembles d'indices de fonctions
récursives.
Avec J.-L. Krivine, la recherche en réalisabilité a évolué jusqu’à englober les
axiomes de la théorie des ensembles. Les techniques développées par Krivine
fournissent une méthode pour construire des modèles de la théorie des ensembles
où tout énoncé de la théorie ZF plus l'Axiome du Choix Dépendant est réalisé.
L'Axiome du Choix Dépendant, DC, est une version faible de l'Axiome du Choix;
si et comment il serait possible de réaliser l'Axiome du Choix dans sa totalité
reste une question ouverte. Nous allons considérer des principes
intermédiaires:
(1) le principe de partition, PP : étant donné deux ensembles A et B, s’il y a
une surjection de A dans B, alors il y a une injection de B dans A;
(2) le “Dual Cantor Bernstein theorem”, CB* : s’il y a une surjection de A dans
B et une surjection de B dans A, alors A et B sont équipotents;
(3) le principe de partition faible, WPP : s’il y a une surjection de A dans B
et une injection de A dans B, alors A et B sont équipotents.
Ces principes découlent de l'Axiome du Choix et sont plus forts que l'Axiome du
Choix Dépendant. Cependant, on ne sait pas s'ils sont équivalents à l'Axiome du
Choix et cela est un vieux problème ouvert formulé par B. Banacschewski et G.
Moore en 1990. Est-il possible de construire un modèle de réalisabilité pour
l'un de ces principes? Cette recherche peut aboutir à deux situations
divergentes: soit on trouvera des modèles de réalisabilité pour ces principes
où l’axiome du choix est également réalisé, soit on s’arrêtera à une étape
donnée sur des modèles de réalisabilité où l’un de ces principes (ou tous) est
réalisé, tandis que l’Axiome du Choix ne l’est pas, dans ce dernier cas on aurait alors montré que ces principes ne sont pas équivalents à l’Axiome du Choix et on aurait ainsi résolu le problème de Banacschewski-Moore. Je vous presenterai l'avancement de mes recherches dans ce domaine.
[[seminaires:types:index|Théorie des types et réalisabilité]]\\
Mercredi 14 février 2018, 14 heures, Salle 1007\\
**Jérôme Siméon** (Clause, Inc.) //Specifying and compiling domain specific languages using Coq: Three case studies//
\\
Domain specific languages (DSL) can be well suited for certain
business scenarios and be easier to learn for non-developers. We
present our experience using the Coq proof assistant to support the
formal specification and the compilation for three different DSLs:
JRules (a language for business rules), SQL (a language for relational
databases), and Jura (a language for legal contract).
We describe how each of those languages comes with its own challenges,
and how they benefit differently from the use of a proof assistant. We
also show how we could exploit their commonalities to build an
optimizing and (partially) verified compiler for each of them. The
core of that compiler uses traditional database representations (the
Nested Relational Algebra and its corresponding Calculus) for
optimization and code-generation.
--
Some of this work was done jointly with Joshua Auerbach, Martin
Hirzel, Louis Mandel and Avi Shinnar as part of the Q*cert project
(https://querycert.github.io/).
[[seminaires:types:index|Théorie des types et réalisabilité]]\\
Mercredi 31 janvier 2018, 14 heures, Salle 1007\\
**Armaël Guéneau** (Inria Paris) //A Fistful of Dollars: Formalizing Asymptotic Complexity Claims via Deductive Program Verification//
\\
I will present a framework for simultaneously verifying the functional
correctness and the worst-case asymptotic time complexity of
higher-order imperative programs. The framework is built on top of
Separation Logic with Time Credits, embedded in the Coq proof
assistant. I will formalize the O notation, which is key to enabling
modular specifications and proofs, and cover the subtleties of the
multivariate case, where the complexity of a program fragment depends
on multiple parameters. I will propose a way of integrating complexity
bounds into specifications, present lemmas and tactics that support a
natural reasoning style, and illustrate their use with a collection of
examples.
[[seminaires:types:index|Théorie des types et réalisabilité]]\\
Mercredi 17 janvier 2018, 14 heures, Salle 1007\\
**Rodolphe Lepigre** //Practical Curry-Style using Choice Operators, Local Subtyping and Circular proofs//
\\
In a recent (submitted) work with Christophe Raffalli, we designed a rich type
system for an extension of System F with subtyping. It includes primitive sums
and products, existential types, (co-)inductive (sized) types, and it supports
general recursion with termination checking. Despite its Curry-style nature,
the system can be (and has been) implemented thanks to new techniques based on
choice operators, local subtyping and circular proofs. During the talk, I will
give you a flavour of these three ideas. In particular, I will show how choice
operators can be used to get rid of free variables (and thus typing contexts),
while yielding a clear semantics. I will show how local subtyping can be used
to make the system syntax-directed. And I will show how circular proofs may be
used to handle (co-)inductive types and (terminating) recursion.
References and links:
- paper: http://lepigre.fr/files/docs/lepigre2017_subml.pdf
- implementation of the system: https://github.com/rlepigre/subml
- online interpreter and examples: https://rlepigre.github.io/subml