Team Gallium

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

Section: New Results

Program specification and proof

Characteristic formulae for modular verification of functional programs

Participant : Arthur Charguéraud.

In previous work [37] , Arthur Charguéraud has proposed a framework for modular verification of purely functional OCaml code using the Coq proof assistant. The approach relied on a deep embedding , that is, a description of the syntax and the semantics of a programming language in the logic of a proof assistant.

This year, Arthur Charguéraud has introduced characteristic formulae , which are higher-order logic formulae that can be used to reason on programs. Intuitively, characteristic formulae can be viewed as an abstract layer built on the top of a deep embedding. By hiding all the technical details associated with deep embeddings, characteristic formulae make program verification significantly easier.

The result of this work is a practical, sound and complete approach to the compositional verification of total correctness properties. It applies to call-by-value, well-typed, purely functional programs, and relies on the use of a standard higher-order logic proof assistant, namely Coq, for carrying out formal reasoning.

Characteristic formulae are described in an article submitted for publication [29] . A characteristic formulae generator has been implemented in OCaml and used to formally prove correct implementations of advanced purely-functional data structures such as persistent real-time queues.

The Zenon automatic theorem prover

Participant : Damien Doligez.

Damien Doligez continued the development of Zenon, a tableau-based prover for first-order logic with equality and theory-specific extensions. The major extensions this year include: support for TLA+'s character strings; support for CASE expressions; support for Hilbert's choice operator. Zenon's handling of equality was also improved.

Tools for TLA+

Participants : Damien Doligez, Leslie Lamport [ Microsoft Research ] , Stephan Merz [ EPI Mosel ] , Kaustuv Chaudhuri [ Microsoft Research-INRIA Joint Centre ] , Simon Zambrowski [ Microsoft Research-INRIA Joint Centre ] .

Damien Doligez is head of the “Tools for Proofs” team in the Microsoft-INRIA Joint Centre. The aim of this team is to extend the TLA+ language with a formal language for hierarchical proofs, formalizing the ideas in  [40] , and to build tools for writing TLA+ specifications and mechanically checking the corresponding formal proofs.

This year, the TLA+ project released the first version of the TLA+ tools: the GUI-based TLA Toolbox and the TLA+ Proof System, and an environment for writing and checking TLA+ proofs. Kaustuv Chaudhuri, the post-doc who developped the Proof System, left in November. He is replaced by Denis Cousineau, on a 2-year post-doc position. Dan Ricketts was hired as an engineer to continue the development of the Toolbox, replacing Simon Zambrowski who left in October.


Logo Inria