TypiCal seminars

TBA

Date: 
Thursday, May 6, 2010 - 14:00 - 16:00
Speaker: 
Ioana Pasca (Marelle, Inria Sophia Antipolis)
TBA

TBA

Date: 
Thursday, April 15, 2010 - 14:00 - 16:00
Speaker: 
Gilles Dowek (LIX, École Polytechnique, TypiCal)
TBA

Catégoricité et classification des ensembles fortement minimaux

Date: 
Thursday, April 1, 2010 - 14:00 - 16:00
Speaker: 
Amador Martin-Pizarro (CNRS, Université Lyon 1)
La conjecture de catégoricité non dénombrable de Los affirme qu'une théorie est catégorique pour toute cardinal non dénombrable si elle l'est pour au moins un tel cardinal. Morley donna une preuve basée sur de proprietés des ensembles fortement minimaux (c.a.d. irréductibles de dimension 1) qui ont en suite été reconnus comme les briques élémentaires pour analyser toute structure de rang de Morley fini. Zilber conjectura qu'il n'existe que trois archétypes de tels ensembles. Ceci fut contredit très ingénieusement par Hrushovski ; sa méthode est l'outil principal pour construire des ensembles fortement minimaux exotiques. Cet exposé s'adressera à un publique non spécialisé en théorie des modèles. On utilisera des exemples concrets pour illustrer les résultats présentés.

On using sums-of-squares for exact computations without strict feasibility

Date: 
Thursday, February 25, 2010 - 14:00 - 16:00
Speaker: 
David Monniaux (CNRS, Verimag)
In order to prove that a system of real polynomial inequalities has no solution, the usual method is to compute a cylindrical algebraic decomposition (CAD) of that system, which yields a false/true answer - for instance, using Mathematica's Reduce function. CAD implementations, especially those that implement optimizations necessary to go beyond toy examples, are notoriously complex and trusting such a massive amount of code for applications such as proving mathematical theorems or proving safety-critical programs is methodologically disputable. Instead of trusting a complex implementation, or building a certified version thereof, we would prefer the complex algorithm produces an easily checkable "witness" of its answer. For systems of polynomials inequalities, the Positivstellensatz theorems ensure the existence of witnesses made of sums of squares of polynomials. As a particular case, a nonnegative polynomial can often be expressed as a sum of squares of polynomials, and can always be expressed as a quotient of sums of squares of polynomials. Such sums of squares are solutions of a semidefinite programming feasibility problem (that is, given F_0, ..., F_n symmetric matrices, finding y_i such that -F_0 + \sum_i y_i F_i is semidefinite positive, that is, has no negative eigenvalues). Unfortunately, direct application of semidefinite programming numerical methods is only possible if the solution set has nonempty interior. This is not the case in general. We propose a workaround for this problem, based on LLL lattice reduction.

On the transposition of black-box matrices

Date: 
Thursday, February 11, 2010 - 14:30 - 16:30
Speaker: 
Luca De Feo (TANC, LIX)

Matrices represented by computer programs, also called black-box matrices,
are a popular topic in Computer Algebra. Since the seminal paper
(Wiedemann 86), algorithms to do arithmetic operations on them, as
multiplication, determinant, minimal polynomial, etc., have been intensely
studied and are now well understood.

The status of transposition of black box matrices is much less clear. It
is a (not so well known) theorem in Algebraic Complexity that black-box
matrices given by (non-uniform) arithmetic circuits can be transposed
without changing the complexity of the circuit. In the more familiar
Turing model, this translates to a principle, often known as
"transposition principle" or "Tellegen's principle" in the Computer
Algebra community, that gives a "recipe" to "transpose" an algorithm
"without changing its complexity".

In this talk I will give a formal proof of the transposition principle in
the touring model and sketch the implementation of a compiler that
transposes algorithms written in our ad-hoc algebraic language
Transalpyne. (Maybe not so) Surprisingly, we discovered some connections
with Type Systems and Categoty Theory while attacking this problem: I will
try to explain these connections and point out some possible research
directions.

Learning in SAT

Date: 
Thursday, January 21, 2010 - 14:00 - 16:00
Speaker: 
Saïd Jabbour, INRIA - Microsoft Joint Centre, Orsay, Paris
Abstract:

In this talk we first give an introduction to modern SAT solving, and then we present several contributions to Conflict Driven Clause Learning (CDCL), which is one of the key components of modern SAT solvers. First, we propose an extended notion of implication graph containing additional arcs, called inverse arcs. These are obtained by taking into account the satisfied clauses of the formula, which are usually ignored in classical conflict analysis. Secondly, we present an original adaptation of conflict analysis for dynamic clauses subsumption. Our last contribution demonstrates that clause learning can be exploited at each step of the search tree, even if a conflict do not occurs. This last contribution aims to derive new but more powerful reasons leading to the implication of a given literal. For all these contributions, we discuss their possible integration to modern SAT solvers.

Recherche de preuve, points fixes et quantification générique: transfert vers Coq?

Date: 
Thursday, January 14, 2010 - 14:00 - 16:00
Speaker: 
David Baelde
Abstract:

Je parlerai de quelques aspects du travail mené dans l'équipe Parsifal, et de la façon dont cela pourrait s'articuler avec Coq.

Dans une première partie je présenterai les logiques avec points fixes (définitions inductives et coinductives) que nous utilisons, en comparant un peu avec le calcul des constructions inductives. Cela me permettra d'introduire certains fragments et des stratégies de recherche de preuve, en discutant de la pertinence de leur adaptation à Coq.

Dans une seconde partie, je traiterai de la notion plus délicate de quantification générique (nabla). Cette notion apporte une expressivité très intéressante à nos logiques, puisqu'elle permet de spécificier naturellement des systèmes tels que le lambda ou le pi-calcul, mais son "adaptation" à Coq semble difficile; j'évoquerai cependant des pistes.

Workshop at Bordeaux (ARC Corias): deduction modulo

Date: 
Thursday, January 7, 2010 - 15:49 - 17:49
Speaker: 
Workshop at Bordeaux (ARC Corias): deduction modulo

Constantes logiques: entre inférentialisme et réécriture

Date: 
Thursday, December 10, 2009 - 14:00 - 16:00
Speaker: 
Alberto Naibo
Abstract:

Le thème central de cet exposé prend ces racines dans une question philosophique : quelle est la signification des constants logiques ? Ou encore, et avec plus d’ambition : y a-t-il un critère pour identifier les ‘bonnes’ constants logiques ?

Une réponse possible à ces questions peut être trouvée dans la maxime wittgensteinienne selon laquelle ‘la signification est l’usage (dans le langage)’ ; en l’appliquant au cas des constants logiques cela conduit à l’idée que leur signification est donnée par leurs règles d’inférence (position inférentialiste). Mais, ainsi formulée, cette idée est encore trop naïve, comme cela a été montré par A. Prior, grâce au connecteur pathologique tonk. Ce connecteur est défini par des règles d’inférence apparemment légitimes, mais qui, ajoutées à celles des connecteurs logiques standards, amène à l’inconsistance du système. Une manière d’éviter des connecteurs pathologiques de ce type est d'exiger la propriété de l’élimination des coupures. Toutefois, rajouter cette propriété à notre cahier des charges pour l’identification des bonnes constants logiques nous dit seulement comment éviter certaines constants pathologiques, mais elle n’explique pas la cause de la pathologie. C’est seulement en passant par une traduction de tonk dans une système d’inférence modulo certaines règles de réécriture (i.e. dans la déduction modulo) que cette explication devient possible.

Enfin, à l’aide de cette approche via règles de réécriture, j’essayerai de montrer comme même l’élimination des coupures n’est pas une condition suffisante pour l’identification des bonnes constants logiques. Ce type d’investigation me permettra aussi de regarder de plus près certaines conditions imposées sur le système de réécriture utilisés en déduction modulo (notamment la propriété de non-confusion des connecteurs).

Liens: les transparents de l'exposé.

Numerical Computations for Coq Formal Proofs, and Vice Versa

Date: 
Thursday, December 3, 2009 - 14:00 - 16:00
Speaker: 
Guillaume Melquiond
Abstract:

When performing the certification of a piece of floating-point code, one usually has to prove properties about errors, which are mathematical expressions relating values from the program and values from the specification. These errors can be split in two categories: rounding errors and method errors, depending on their origin; and the methods for bounding them differ greatly.

I will present two Coq tactics dedicated to proving properties about numerical errors. The "gappa" tactic is an interface to the Gappa external tool; it queries the tool for properties on rounding errors. The "interval" tactic, on the other hand, is designed to deal with method errors, or more generally, differentiable expressions involving elementary functions.

A noteworthy point is that both tactics are themselves based on floating-point arithmetic. Indeed, the proofs they generate are checked by performing intensive numerical computations inside the formal system. For "gappa", these proofs are provided by an oracle, while they are fully reflexive for "interval". I will describe the arithmetic and some of the algorithms they use.

Models and proof normalisations

Date: 
Tuesday, December 1, 2009 - 15:00 - 16:30
Speaker: 
Denis Cousineau
All information here: http://www.lix.polytechnique.fr/~cousineau/research.php?lang=eng

Typing in simple type theory a la Newman

Date: 
Tuesday, December 1, 2009 - 10:00 - 11:00
Speaker: 
Herman Geuvers
Abstract:

The type checking algorithm for simple type theory solves the problem whether an untyped lambda-term M has a type according to the rules of simple type theory. As usual, we distinguish between a type checking problem: M : A? (does the term M have type A?) and a type synthesis problem: M : ? (compute a type A for the term M). It is a classic result that for simple type theory, these problems are equivalent and decidable. The solution amounts to computing the principal type of M and then to check whether the given type A is an instance of it.

There is a (seemingly) different way to decide typing, due to Newman, already in 1943, and recently reviewed by Hindley. Newman's algorithm only decides whether a term is typable and does not compute a principal type. This is quite remarkable. We describe Newman's algorithm in a modern fashion as a manipulation of the tree that represents the lambda-term. We analyze Newman's algorithm and we show that it (implicitly) does compute a principal type, and that the way it computes it is actually quite close to Wand's version of the typing algorithm for simple type theory.

Espaces cohérents probabilistes: un modèle convexe de la logique linéaire.

Date: 
Tuesday, December 1, 2009 - 10:00 - 11:00
Speaker: 
Thomas Ehrhard
Les espaces cohérents probabilistes ont été introduits par Jean-Yves Girard dans son article sur les espaces cohérents quantiques. Nous reprenons et raffinons un peu sa définition, et nous montrons que ces objets fournissent un modèle de la logique linéaire au complet. Nous montrons qu'ils permettent aussi d'interpréter, sans faire appel aux powerdomains, une version probabiliste du langage fonctionnel PCF et prouvons une version probabiliste du théorème d'adéquation de Plotkin pour ce langage, dont la sémantique opérationnelle est décrite par une matrice stochastique infinie. Enfin, nous décrivons un modèle probabiliste du lambda-calcul pur dans les espaces cohérents probabilistes. Il s'agit d'un travail commun avec Vincent Danos.

Models and proof normalisations (répétition)

Date: 
Monday, November 30, 2009 - 11:00 - 12:00
Speaker: 
Denis Cousineau

Tabling with fixpoints

Date: 
Friday, October 9, 2009 - 10:00 - 12:00
Speaker: 
Vivek Nigam
Résumé:

We consider the problem of automating and checking the use of previously proved lemmas in the proof of some main theorem. In particular, we call the collection of such previously proved results a table and use a partial order on the table's entries to denote the (provability) dependency relationship between tabled items. We incorporate tables into sequent calculus proofs by performing two steps. First, cuts are used to incorporate tabled items into a proof: one premise of the cut requires a proof of the lemma and the other premise has the lemma inserted into the set of assumptions. Second, to ensure that lemmas are not reproved, we exploit the non-canonicity of focusing systems and specify two specific focusing disciplines for tabled formulas.

  1. We allow only atomic formulas in tables. Then, by exploiting the fact that, in focusing systems, atoms can be assigned positive or negative polarity, we impose the following polarity discipline: atoms that are in the table are given positive polarity and those not in the table are given negative polarity.
  2. We restrict tabled formulas to fixed point literals, that is, fixed points and their negations, and universally quantified fixed point literals, denoting both finite successes and finite failures. Then, by exploiting the fact that fixed points can be frozen and be treated like atoms, we impose a second focusing discipline: fixed points that are instances of a tabled formula are frozen and those that are not instances of a tabled formula are not frozen.
We show that, in some fragments of first-order-logic, the only existing proofs and open derivations are those that do not attempt to (re)prove a tabled formula: for the first discipline, we use the hereditary Harrop formulas fragment of intuitionistic logic and for the second discipline, we use the fragment of intuitionistic logic with fixed points used in \cite{tiu05eshol}, where only formulas constructed from positive connectives appear in the left-hand-side of sequents and all fixed points are noetherian.

Une implémentation du Calcul des Constructions Inductives avec Presburger

Date: 
Wednesday, October 7, 2009 - 13:30 - 15:00
Speaker: 
Pierre-Yves Strub (INRIA Rocquencourt - Université Tsinghua, Pékin)
Abstract:

Le CCI/Presburger est une variante du Calcul des Constructions Inductives intégrant au sein de sa conversion (le fragment de Hoare de) l'arithmétique linéaire entière.

Après une brève présentation de CCI/Presburger, je présenterai mon implémentation de ce calcul au sein du système Coq, notamment en soulignant les modifications apportées au noyau.

J'aborderai également le problème de la confiance en un tel noyau, via l'utilisation de procédures de décisions certifiées ou générant des certificats. En particulier, je parlerai de la décision certifiée et efficace des arithmétiques linéaires entière et rationnelle.

Liens: les transparents de l'exposé, la page de l'intervenant.

Integrating SAT and SMT Solvers with Isabelle/HOL

Date: 
Thursday, September 10, 2009 - 10:00 - 18:00
Speaker: 
workshop

10:00 - 11:00 Tjark Weber: Integrating SAT and SMT in Isabelle/HOL (slides)
11:00 - 11:30 BREAK
11:30 - 12:30 Michael Armand: Integrating SAT in Coq (slides)
12:30 - 13:00 discussions

14:00 - 15:00 Sascha Boehme: Integrating SMT in Isabelle/HOL (slides)
15:00 - 15:30 BREAK
15:30 - 16:30 Pascal Fontaine: The veriT solver
16:30 - ... discussions

Europa : un vérificateur de types pour le lambda-pi-calcul-modulo.

Date: 
Monday, July 6, 2009 - 14:00 - 16:00
Speaker: 
Mathieu Boespflug (TypiCal, LIX)
Abstract:

Le lambda-pi-calcul est un calcul avec types dépendants permettant l'expression de preuves en logique minimales des prédicats. En étendant ce calcul avec des règles de réécriture, il devient possible d'exprimer des preuves dans des théories bien plus riches. On obtient ainsi le lambda-pi-calcul-modulo. Un encodage de tous les PTS fonctionnels est par exemple possible. Se pose alors la question des stratégies à mettre en oeuvre pour l'implantation de vérificateurs efficaces de preuves encodées ainsi. En effet, vérifier la plus simple de ces preuves nécessite l'application de nombreuses règles de réécriture, ce qui peut être coûteux en temps de calcul.

Je montrerai comment se tirer d'affaire à peu de frais, en compilant les preuves exprimées dans le lambda-pi-calcul-modulo vers un programme fonctionnel, dont l'évaluation par des environnements d'exécution usuels en permet la vérification. Nous ferons la démonstration de l'outil clé d'un tel modèle, le méta-vérificateur Europa, traitant de bout en bout son implantation très simple.

Liens: les transparents de l'exposé

Importation de preuves HOL-Light en Coq

Date: 
Monday, July 6, 2009 - 10:00 - 12:00
Speaker: 
Chantal Keller (LIX, ENS Lyon)
Résumé:

L'interaction entre assistants de preuves peut permettre d'utiliser des théorèmes "aisément" prouvés dans un assistant de preuve donné, dans un autre assistant de preuve dans lequel ils auraient été plus difficiles à prouver. Cependant, les systèmes de preuves peuvent parfois être très différents.

Dans cet exposé, je présenterai une méthode pour importer des preuves de HOL-Light en Coq, basée sur la réflection. Après avoir présenté HOL-Light rapidement, j'expliquerai comment d'une part construire un modèle de HOL-Light en Coq prouvé correct, d'autre part enregistrer et exporter les termes de preuve de HOL-Light.

Liens: les transparents de l'exposé

Extension d'un prouveur basé sur la résolution avec la résolution modulo polarisée.

Date: 
Monday, June 29, 2009 - 14:30 - 16:30
Speaker: 
Guillaume Burel (LIX)
Résumé:

Au cours de cet exposé, j'expliquerai l'architecture générale des prouveurs basés sur la résolution. Je rappellerai certaines techniques utilisées pour réduire le non-déterminisme lié à l'application de la règle de résolution. En particulier je présenterai la résolution avec ensemble de support et la résolution ordonnée avec sélection, en insistant sur les conditions qui permettent de conserver la complétude réfutationnelle. Nous verrons qu'en combinant ces deux dernières techniques, on peut perdre la complétude réfutationnelle. Je rappellerai alors l'équivalence de cette combinaison avec la résolution modulo polarisé, puis je montrerai que sa complétude est équivalente avec l'admissibilité des coupures en déduction modulo. Je présenterai enfin comment appliquer ces idées pour modifier un prouveur existant (en l'occurrence iprover) afin d'y ajouter la résolution polarisée modulo.

Liens: http://www.loria.fr/~burel/

Diagrammatic Confluence and Completion

Date: 
Wednesday, June 24, 2009 - 14:00 - 16:00
Speaker: 
Jean-Pierre Jouannaud (FORMES, LIAMA, INRIA, Université de Tsinghua)

We give a new elegant proof that decreasing diagrams imply conflu-
ence based on a proof reduction technique, which is then the basis of a novel
completion method which proof-reduction relation transforms arbitrary proofs
into rewrite proofs even in presence of non-terminating reductions. Unlike pre-
vious methods, no ordering of the set of terms is required, but can be used if
available. Unlike ordered completion, rewrite proofs are closed under
instantiation. Examples are presented, including Kleene’s and Huet’s classical examples
showing that non-terminating local-confluent relations may not be confluent.

Joint work with Vincent van Oostrom (cf. ICALP 09)

Dans quelle théorie démontrer la complétude d'une méthode de démonstration automatique ?

Date: 
Monday, June 22, 2009 - 14:00 - 16:00
Speaker: 
Gilles Dowek (Lix, École Polytechnique, TypiCal)
Résumé :

Depuis le théorème de Gödel, on sait que, dans toute extension cohérente de l'arithmétique, il existe des propositions qui ne sont pas démontrables, mais qui le deviennent dans certaines extensions de cette théorie. On montre, dans cet exposé, que les propositions qui expriment la complétude d'une méthode de démonstration automatique, c'est-à-dire la propriété que cette méthode trouve, en un temps fini, une démonstration pour toutes les propositions démontrables, sont des exemples de telles propositions. La théorie dans laquelle on peut démontrer la complétude d'une méthode de démonstration automatique donne un certain nombre d'informations sur ce que cette méthode peut faire et sur ce qu'elle ne peut pas faire. On illustrera ce point par une comparaison entre la résolution ordonnée avec sélection et la résolution modulo.

Liens : http://www.lix.polytechnique.fr/~dowek/index-fra.html

Packaging mathematical structures

Date: 
Monday, June 15, 2009 - 14:00 - 16:00
Speaker: 
François Garillot (Centre commun INRIA - Microsoft Research)
Résumé : (a joint work with G. Gonthier, A. Mahboubi & L. Rideau)

In this talk, we will propose generic design patterns to define and combine algebraic structures, using dependent records, coercions and type inference, inside the Coq system. This alternative to telescopes in particular supports multiple inheritance, maximal sharing of notations and theories, and automated structure inference. Our methodology is robust enough to handle a hierarchy comprising a broad variety of algebraic structures, from types with a choice operator to algebraically closed fields. Interfaces for the structures enjoy the convenience of a classical setting, without requiring any axiom.

Liens : Page de l'orateur, Article

Totalité algébrique et complétude

Date: 
Thursday, April 9, 2009 - 14:00 - 16:00
Speaker: 
Christine Tasson

Résumé: Les espaces de finitude forment une sémantique dénotationnelle de la logique linéaire dont les formules sont interprétées par des espaces vectoriels topologiques et les preuves par par des applications linéaires continues. En étudiant la topologie des espaces de finitude, nous avons défini une notion algébrique de totalité qui permet de définir un modèle de la logique linéaire plus fin que celui des espaces de finitude. Ainsi, nous avons obtenu un théorème de complétude pour un lambda-calcul avec une somme barycentrique et des constructions booléennes au premier ordre.

Cet exposé débutera par l'étude d'un lambda-calcul barycentrique booléen. Après en avoir introduit un modèle utilisant des polynômes, je présenterai un théorème de complétude pour ce calcul. Dans un second temps, je définirai les espaces de finitude et la totalité qui nous ont amenés à considérer ce théorème.

Liens: la page personnelle de l'intervenant, les transparents de l'exposé

Un systeme de type polymorphe pour le lambda-calcul avec constructeurs.

Intervenant : Barbara Petit (ENS Lyon)

Date et lieu : 11/06/09, salle de conférence du Lix

Résumé : Le lamba-calcul avec constructeurs, de Arbiser, Miquel et Rios est une extension du lambda calcul avec un mecanisme de filtrage. Le filtrage "a la ML" y est decomposé en deux opérations elementaires: une analyse de cas sur des constantes, et une regle de commutation -surprenante au premier abord- entre le case et l'application.
Apres avoir presenté ce calcul, je lui definirai un systeme de types polymorphe avec unions et intersections. Enfin je montrerai un modele de realisabilite (proche candidats de reductibilites de Girard) pour ce systeme, et les proprietes de normalisation forte et de sureté vis a vis du filtrage qui en decoulent.

Liens : http://perso.ens-lyon.fr/barbara.petit/recherche.php

Vérification interactive de programmes Caml purs

Intervenant: A. Charguéraud

Date et lieu: Jeudi 2 avril 2009, 10h00-12h00, salle de réunion du LIX

Résumé: Je décrirai comment raisonner en Coq sur des programmes Caml purement fonctionnels, à travers un plongement profond du noyau de Caml dans Coq. Ceci consiste à décrire la syntaxe et la sémantique de Caml à l'aide d'inductifs Coq. On peut ainsi énoncer les spécifications de programmes donnés sous forme de lemmes, puis vérifier ces programmes en prouvant les lemmes de spécification de manière interactive. Cette approche a le bénéfice de n'imposer quasiment aucune restriction sur le code, et de disposer d'un langage de spécification et de preuve extrêmement riche à moindre frais. On verra que cette technique permet de certifier des programmes Caml complexes avec des scripts de longueur assez raisonnable. Pour finir, on discutera de la possibilité de définir une fonction logique Coq à partir du code certifié d'une fonction Caml (le processus inverse de l'extraction).

Liens: Les transparents de l'exposé.

Structures algébriques et tactiques de décisions

Intervenant: D. Pous

Date et lieu: Jeudi 23 avril 2009, 14h00-16h00, salle de conférence du LIX

Résumé: Formaliser des choses dans un assistant de preuve s'avère souvent pénible, de nombreuses étapes de raisonnement devant être explicitées alors qu'elles sont d'habitude laissées au relecteur scrupuleux. Ceci est en particulier vrai lorsque l'on doit travailler sur des relations binaires (réécriture, réductions, équivalences, etc...), très intuitives, mais pas complètement triviales.

Lorsque c'est possible, une première astuce consiste à considérer les relations de façon algébrique : en montant le niveau d'abstraction, on facilite la formalisation de certaines preuves. Une fois ce pas franchi, on réalise que les relations binaires sont un modèle des algèbres de Kleene, décidables par la théorie des automates finis.

Nous exposerons un travail en cours, sur une formalisation Coq des automates - via des matrices, afin d'obtenir une tactique de décision des algèbres de Kleene, par réflection. Plus généralement, nous exposerons les outils que nous développons pour raisonner sur ce genre de structures algébriques.

Extraction de programmes à partir de preuves classiques

Intervenant : Alexandre Miquel (ENS Lyon)

Date et lieu : 16/04/2004, 10h, Salle de conférence du Lix

Résumé : Mon premier exposé sera consacré aux problèmes posés (en général) par l'extraction de programmes à partir de preuves formalisées en logique classique (i.e. avec tiers-exclu). Je commencerai par rappeler en quoi consiste l'extraction de programme dans le cadre de la logique constructive (i.e. sans tiers-exclu), les problèmes que cela pose et les différentes solutions proposées (typage vs. réalisabilité, extraction à la MinLog vs. extraction à la Coq...) Ensuite je m'intéresserai aux traductions négatives (qui servent à rétracter des théories classiques sur leur fragment constructif) et je montrerai comment ces traductions permettent de mettre en oeuvre (de manière effective) l'extraction de programmes à partir de preuves classiques de formules Pi_2. Enfin, je montrerai comment la théorie de la réalisabilité classique introduite par Krivine permet d'exprimer les mêmes programmes en style direct (i.e. sans CPS ni traduction négative) grâce à l'utilisation de continuations.

L'extraction classique en Coq

Intervenant: Alexandre Miquel (ENS Lyon)

Date et lieu: 16/04/2009, 14h Salle de conférence du Lix

Résumé: Mon deuxième exposé (qui fera suite à l'exposé du matin) sera consacré à l'extraction classique dans le cadre de l'assistant à la preuve Coq. Dans un premier temps, je montrerai comment la théorie de la réalisabilité classique de Krivine - définie à l'origine pour l'arithmétique classique du second ordre - peut être étendue au calcul des constructions inductives (pICC) avec tiers-exclu. Ensuite je présenterai le schéma d'extraction classique étendu à pICC ainsi que les diverses optimisations mises en oeuvre dans le module d'extraction classique (notamment en ce qui concerne la représentation des entiers). Enfin, je terminerai mon exposé par quelques exemples de programmes extraits à partir de preuves classiques, sous la forme d'une démo.

Liens: Les transparents de l'exposé.

Calcul quantique par mesures

Intervenant: Simon Perdix

Date et lieu: 30/04/09 à 14h, salle de séminaires du LPTP

Résumé: Le calcul quantique par mesures, introduit par Briegel et Raussendorf, est non seulement une des plus prometteuses propositions de réalisation physique de l'ordinateur quantique, mais ouvre aussi de nouvelles perspectives théoriques, notamment en termes de parallélisation des opérations quantiques. Dans cet exposé, je présenterai le measurement calculus, introduit par Danos, Kashefi et Panangaden, un cadre formel permettant d'étudier les propriétés du calcul quantique par mesures. La mesure, brique de base de ce modèle, a une évolution fondamentalement probabiliste. Aussi, l'existence d'une évolution globalement déterministe dépend de l'état initial du calcul qui est représenté par un graphe. Nous montrons que l'existence d'un flot généralisé dans ce graphe est une condition nécessaire et suffisante à l'existence d'une exécution globalement déterministe. De plus, nous introduisons un algorithme classique efficace permettant de décider si un graphe donné admet un flot généralisé.

From a scalar type system to a vectorial type system (joint work with P. Arrighi)

Intervenant: Alejandro Díaz-Caro (LIG)

Date et lieu: 04/05, 14h, salle de réunion du préfabriqué du Lix

Résumé: The Linear-Algebraic Lambda-Calculus (arXiv:quant-ph/0612199) is a higher-order lambda-calculus together with the possibility to make linear combinations of terms. Terms can be seen as forming a vectorial space. However, dealing with concepts such as orthogonality and unitarity is not trivial. The scalar type system (arXiv:0903.3741) is a System F-like type system with scalars in the types. It can be seen as a first step towards a vectorial type system, with which to reason about orthogonality and unitarity. The additive type system is a type system with sums of types on it, which can be seen as a subset of the intuitionistic-multiplicative-exponential linear logic (IMELL). Finally, the vectorial type system puts scalar and additive together, making a vectorial space of types. In this seminar we will present these three type systems and some clues as to whether the last one enables us to check for orthogonality.

Liens: Les transparents de l'exposé.

Extension du calcul des constructions implicite avec des types union et sous-ensemble

Intervenant: Bruno Barras

Date et lieu: Jeudi 7 mai 2009, 14h00-16h00, salle de conférence du LIX

Résumé: La première partie de mon exposé fera des rappels au sujet du Calcul des Constructions Implicites (ICC). En particulier, je montrerai en quoi ICC est beaucoup plus souple que Coq en matière de spécification de programmes. Après ces rappels, je dresserai la stratégie pour étendre ce formalisme avec des types inductifs, dont un prototype est déjà implanté.

La première extension concerne l'égalité. Celle-ci est assez facile car le modèle de ICC d'Alexandre Miquel permet déjà de la justifier. Au passage je montrerai comment ajouter l'axiome K de Streicher (qui permet d'implanter le filtrage a la Epigram/Agda) à Coq en seulement 4 caractères.

L'extension de ICC avec des Sigma-types (paires dépendantes) sera plus difficile, si l'on inclut la notion (nouvelle) de Sigma-type implicite où l'une des 2 composantes de la paire est implicite. Suivant la composante considérée implicite, on introduit les notions de sous-type ou d'union de type. Si la métathéorie syntaxique ne pose pas de problème, le modèle d'espaces cohérents d'Alexandre n'est pas stable par union: l'union de types sémantiques n'est pas un type sémantique.

Récemment, Alexandre a prouvé qu'il était possible de "compléter" une union de types sémantiques en un type sémantique, et que cela justifie notre extension. Cette complétion a pour effet inattendu de fusionner certains éléments qui étaient distincts dans leur type d'origine. Pour mettre en évidence ce phénomène et expliquer en quoi cela est finalement intuitif, je présenterai de manière minimaliste le modèle d'Alexandre basé sur les espaces cohérents.