Section: New Results
Termination
Certification of termination proofs
Participant : Frédéric Blanqui.
In [17] , Frédéric Blanqui and Adam Koprowski (Radboud University) present a methodology and a tool, Rainbow, for the automated verification of the results of such automated termination provers. This is accomplished by means of termination certificates that can be easily generated by termination provers, and by the transformation of these certificates into full formal proofs in some proof assistant/checker. This last step is done by formalizing (in Coq) the proofs of termination criteria used in modern termination provers. The above paper describes the formalization of some of these criteria in the proof assistant Coq (the CoLoR library) and the application of those formalizations in the transformation of termination certificates into termination proofs verifiable by Coq.
Since then, we improved the efficiency of proof checking and extended Rainbow and CoLoR with syntactic first-order matching, the verification of loops in term and string rewrite systems (to certify non-termination), and semantic labelling [53] .
We also started to formalize the termination of Haskell programs [37] (internship of Julien Bureaux, ENS Paris, from June 1st to July 31), and to formalize Rainbow itself in order to certify it and improve the efficiency of proof checking by using the extraction mechanism of Coq to OCaml.
Computability Path Ordering
Participants : Frédéric Blanqui, Jean-Pierre Jouannaud, Jianqi Li.
The Computability Path Ordering of Blanqui, Jouannaud and Rubio [25] is a well founded order on algebraic lambda terms aiming at proving strong normalization of higher-order rewrite rules. CPO accepts weakly polymorphic algebraic signatures only. We are currently generalizing the well-foundedeness proof of CPO to the more general case of fully polymorphic signatures before to consider the case of dependently typed disciplines.
Higher-order dependency pairs
Participant : Frédéric Blanqui.
Higher-order rewrite systems (HRSs) and simply-typed term rewriting systems (STRSs) are computational models of functional programs. In [12] , together with Y. Isogai, K. Kusakari and M. Sakai (Nagoya University), we proposed an extremely powerful method, the static dependency pair method, which is based on the notion of strong computability, to prove termination of STRSs. In this paper, we extend the method to HRSs. Since HRSs include lambda-abstraction, but STRSs do not, we restructure the static dependency pair method to correspond to lambda-abstraction, and show that the static dependency pair method also works well on HRSs without new restrictions.
Size-based termination
Participant : Frédéric Blanqui.
In [13] , with Cody Roux (INRIA Pareo), we have investigated the relationship between two independently developed termination techniques. On the one hand, sized-types based termination (SBT) uses types annotated with size expressions and Girard's reducibility candidates, and applies on systems using constructor matching only. On the other hand, semantic labelling transforms a rewrite system by annotating each function symbol with the semantics of its arguments, and applies to any rewrite system.
First, we introduce a simplified version of SBT for the simply-typed lambda-calculus. Then, we give new proofs of the correctness of SBT using semantic labelling, both in the first and in the higher-order case. As a consequence, we show that SBT can be extended to systems using matching on defined symbols (e.g. associative functions).
In addition, we started to study how we could use this size information in order to check the correctness of upper bounds on the complexity of functions (internship of Antoine Taveneaux, ENS Lyon, from May 15 to July 31).