Translating Isabelle proofs with type classes and locales to Coq

Supervisor: Frédéric Blanqui

Place: Deducteam, Laboratoire Méthodes Formelles (LMF), ENS Paris-Saclay, 4 avenue des Sciences, Gif-sur-Yvette

Context: Formal proofs are used in mathematics but also in the industry for certifying the correctness of protocols, software and hardware. Interoperability is a very important feature in computer science and engineering to avoid useless work duplication and allow more safety. Unfortunately, interoperability between proof systems is not well developed. This project aims at improving the interoperability between two important proof systems, Isabelle and Coq.

isabelle_dedukti is a tool that extracts proofs from Isabelle and translate them to Lambdapi, a language which, in turn, can be translated to Coq. There are however several problems to solve to get something consistent, readily usable, and that scales up:

Objective: The long-term goal of this project is to solve the above problems in order to get an automatic translation to Coq of the whole Isabelle Archive of Formal Proofs.

Work plan: The student will start by studying how proofs and type classes are represented by Isabelle and currently translated to Lambdapi. She will then develop transformations on the proofs in order to make them valid in Coq. This will require to represent Isabelle type classes in Coq, using Coq type classes or canonical structures, and possibly hierarchy-builder. To solve the second problem, the student will adapt to Isabelle the mappings already developed in hol2dk between the proof assistant HOL-Light, which is very similar to Isabelle but does not feature type classes. Finally, for the last problem, the student can take some inspiration from hol2dk.

References:


Statcounter W3C Validator Last updated on 11 March 2025. Come back to main page.