Team TypiCal

Overall Objectives
Scientific Foundations
Application Domains
New Results
Contracts and Grants with Industry

Section: New Results

Development of theories and tactics

First-order linear arithmetics, linear and convex optimisation

Participants : Assia Mahboubi, Salil Joshi.

Participant : Pierre-Yves Strub.

Participants : Eric Biaggioli, Benjamin Werner.

Assia Mahboubi has supervised Salil Joshi's internship on the development of a reflexive tactic for first order linear integer arithmetic for the Coq system. This work has lead to a full implementation and formal proof of correctness of the so-called Cooper algorithm. Optimization of this code is work in progress.

Assia Mahboubi has worked with Pierre-Yves Strub (INRIA Rocquancourt, Tsinghua University) around the use of linear programming in Coq. This work has two aspects. The first one is to use an OCaml implementation of the simplex algorithm to provide certificates for unsatisfiability of linear arithmetic problems without quantifiers. Using a simplex with a trivial cost function is a usual way to decide this theory, in particular for SMT tools. But this also provide small and convenient certificated that can be checked formally. This has been used to implement an efficient proof- producing decision procedure for the Coq system, enhancing previous work done by Frederic Besson. This tactic could for instance be used to verify SMT output traces. This work is done in the context of the DECERT ANR project. The second aspect of this work is a formalization of the theory behind the simplex algorithm. We ensure the correctness of a straightforward implementation of the simplex algorithm in Coq. This formalization deals with convexity (with a proof of the weak Krein-Milman theorem), and linear optimization. It has been carried in the Coq system, on top of the ssreflect extension developed in the Mathematical Component team.

Under the supervision of Benjamin Werner and Stéphane Gaubert (Maxplus), Eric Biaggioli is working on techniques coming from convex optimization, in order to formally prove in Coq inequalities over real expressions, especially polynomials.


Participants : Jean-Marc Notin, Benjamin Werner.

Participants : Gilles Dowek, Murdoch James Gabbay, Dominic Mulligan.

Benjamin Werner and Jean-Marc Notin are working on a formalization of Normalization by Evaluation for simply typed $ \lambda$ -Calculus in Coq, with the aim of proposing a convenient way to handle expressions with binders in formal proofs.

Gilles Dowek, Jamie Gabbay, and Dominic Mulligan, have proposed a new syntax for terms with binders and shown how unification problems on these terms could be translated to higher-order pattern unification problems [9] .

Hierarchy of algebraic structures

Participant : Assia Mahboubi.

Assia Mahboubi participates to the Mathematical Component project at the INRIA Microsoft Research Joint Centre. The aim of this project is to investigate formal proofs software engineering methods, which means finding good patterns leading to modular, reusable formal libraries. This project validates this research by building a formalization of the proof of the Feit-Thompson theorem (also called Odd Order theorem), which is a corner-stone of the classification of finite simple groups. The extension of the Coq system, as well as the libraries distributed with this extension are altogether called the ssreflect extension.

In this context, Assia Mahboubi has worked with Georges Gonthier (Microsoft Research) on the development of a hierarchy of algebraic structures in the Coq system, using the ssreflect extension. In particular, she has developed the structure and theory of decidable rings and rings admitting quantifier elimination. This work has led to a publication at the TPHOLs 2009 conference [10] .

Formalisation of finite group theory

Participant : Assia Mahboubi.

Assia Mahboubi has also pursued her work on the formalization of finite group theory. She has generalized her previous proof of the Jordan Hoder theorem, in particular in order to introduce the notion of chief factors. This work is the basis needed for the Hall theorem of the first chapter of the Local Analysis for the Odd Order Theorem. This volume describes the local analysis part of the Feit Thompson theorem proof. This Hall theorem and its corollaries is the only part missing for this first chapter to be completely formalized.

Quotient types

Participants : Assia Mahboubi, Cyril Cohen.

Assia Mahboubi has supervised the master (MPRI) internship of Cyril Cohen. Cyril Cohen has worked on the formalization of quotient types in the Calculus of Inductive Constructions.

Higher-order matching

Participant : Germain Faure.

Germain Faure studied higher-order matching in an untyped setting while the standard approach uses typed setting. He showed that this is particularly interesting because (1) an easy and efficient algorithm can be build (2) second-order matching is subsumed by the problems we deal with. He also showed that these results can be applied with success in the context of higher-order rewriting. This work leads to a research report [15] .

Formal semantics of the Calculus of Constructions and extensions

Participant : Bruno Barras.

Bruno Barras has formalized a simple set theoretical (proof-irrelevant) model of the Calculus of Constructions with an infinite hierarchy of universes [4] . For this purpose, several set theories were modelized in Coq: hereditarily finite sets and ZF. In those theories a piece of ordinal theory was developed.

The logical consistency of the Calculus of Constructions can be derived from the soundness result for this model. A simple modification of the model leads to a “strong normalization model” of the Calculus of Constructions with universes.

He also made a first step towards formalizing the semantics of the Calculus of Inductive Constructions by studying the extension of those formalisms with natural numbers and ordinals, sticking very closely to the inductive types used to model them. The main novelty is that the elimination principles are split into a case-analysis principle and a general fixpoint operator. The totality of the latter being warranted by size annotations on inductive types.


Logo Inria