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.
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.
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 |