ANR Paral-ITP Project Home Page




Summary:

Interactive theorem proving is a technology of fundamental importance for mathematics and computer-science. It is based on expressive logical foundations and implemented in a highly trustable way. Applications include huge mathematical proofs and semi-automated verifications of complex software systems. Interactive development of larger and larger proofs increases the demand for computing power, which means explicit parallelism on current multicore hardware.


The architecture of contemporary interactive provers such as Coq, Isabelle or the HOL family goes back to the influential LCF system (from 1979), which has pioneered key principles like correctness by construction for primitive inferences and definitions, free programmability in userspace via ML, and toplevel command interaction. Both Coq and Isabelle have elaborated the prover architecture over the years, driven by the demands of sophisticated proof procedures, derived specification principles, large theory libraries etc. Despite this success, the operational model of interactive proof checking is largely limited by sequential ML evaluation and the sequential read-eval-print loop, as inherited from LCF.


The proposed project intends to overcome the sequential model both for Coq and Isabelle, to make the resources of multi-core hardware available for even larger proof developments. Beyond traditional processing of proof scripts as sequence of proof commands, and batchloading of theory modules, there is a large space of possibilities and challenges for pervasive parallelism. This affects many layers of each prover system: basic computational structures, inference kernel, tactical programming, proof command language, and interactive front-ends. Some of these aspects need to be addressed for Coq and Isabelle in slightly different ways, to accommodate different approaches in either system tradition. These substantial extensions of the operational aspects of interactive theorem proving shall retain the trustability of LCF-style proving at the very core.


Once that both Coq and Isabelle have been elevated to a parallel prover architecture, they shall be connected to a uniform document model that integrates parallel and asynchronous evaluation processes with notions of history and change management, over the rich structure of formal content. This can then serve as a basis for an editor document model in direct user interaction, and background library management with continuous proof checking, in the style of modern IDEs like Eclipse or Netbeans. Ultimately, both Coq and Isabelle will become more powerful and more accessible. The general document model and front-end technology will accommodate end-users and builders of add-on tools for either prover. Thus the achievements of decades of research into formal modelling and theorem proving will become more easily accessible for the construction of highly trustworthy software systems.

















Project Partners:

LRI: Burkhart Wolff (coordinator),

Makarius Wenzel, Delphine Longuet,
Frédéric Voisin, Pierre Courtieu, Olivier Pons.


INRIA Rocquencourt:

Hugo Herbelin, Yann Régis-Gianas, Matthieu Sozeau, Damien Doligez


INRIA Saclay:

Bruno Barras, Germain Faure, Assia Mahboubi.




The Kick-off Meeting :

A tentative programme for the Kick-off meeting 2.11, in the new building of the LRI (Salle 465, Bâtiment 650, Rue Noetzlin, Orsay).

9:00 Welcome, Overview of the Day
9:15 Franck Barbier (ANR), Responsable adjoint du département STIC
9:45 Burkhart Wolff (LRI): The ANR- Paral-ITP Project - A General Overview
10:30 Coffee-Break
10:45 Topic 1: Prover Architecture
10:45 Bruno Barras : Overview of the prover architecture tasks in Paral-ITP
11:00 Makarius Wenzel (LRI, Isabelle's head developer): The parallel prover architecture of Isabelle
11:40 Bruno Barras A : concurrency model for Coq: theoretical and implementation challenges
12:15 Lunch
13:30 Topic 2: Document Model
13:30 Hugo Herbelin (INRIA Rocquencourt: Coq's development coordinator): Formal Document Model
14:00 Makarius Wenzel: Parallel and asynchronous processing of structured proof documents in Isabelle/Isar
14:30 Yann Régis-Gianas (Université Paris Diderot, PPS): Safe interactivity using typed semantic increments
15:30 Coffee-Break
16:00 Topic 3: Interface Technologies
16:00 Makarius Wenzel: Front-end technology: prover interaction and integration
17:00 Coffee-Break
17:15 Topic 4: Formal Analysis
17:15 Burkhart Wolff: The Role of Formal Analysis Paral-ITP
17:45 Lukas Brugger (ETH Zürich): Web Service and GUI Testing with HOL-TestGen
18:15 End