CoqHoTT

Page 1

A new proof assistant to stop software bugs from biting

Implementation of Homotopy Type Theory as a compilation phase into Type Theory.

Proof assistants like Coq are an important tool in mathematics research and software development, yet there are weaknesses in the current version of the system. Researchers in the CoqHoTT project are revisiting the theoretical foundations of Coq, aiming to improve and extend the system for today’s mathematicians and computer scientists, as Dr Nicolas Tabareau explains. The mathematical community commonly uses proof assistants to formally prove theorems, while they are also an important tool for software companies, who use them to prove that a particular program meets its specification. One of the major proof assistants currently in use is Coq, a proof management system with its roots in research dating back to the early ‘80s, and it has since grown in prominence. “Coq is quite a popular proof assistant, yet it still lacks some facilities and features which would make it convenient and easy to use,” says Dr Nicholas Tabareau, a researcher at Inria in France. This is an issue central to the work of CoqHoTT, an ERC-backed project which is revisiting the theoretical foundations of Coq using ideas from Homotopy Type Theory (HoTT). “The goal is to improve the proof assistant and to include more properties in the logic, so that it can offer more reasoning principles to the user,” outlines Dr Tabareau, the project’s Principal Investigator. A major priority in the project is making Coq more useable for mathematicians in particular, which will help to simplify the development of new proofs and improve

48

efficiency. While the system itself has been around for over thirty years now, Dr Tabareau says that most mathematicians are still reluctant to use Coq. “It should be a help for them in developing and proving their theorems, but at the moment it’s still a bit more of a burden,” he explains. The Coq proof assistant has two main weaknesses in particular, says Dr Tabareau.

using other paradigms in Coq. This means it will be possible to directly prove elements of Coq that have been written in mainstream languages like C or Rust for example. “It will be an extension of Coq, but more from the programming language point of view,” says Dr Tabareau. Coq is not just a programming language, but also a proof assistant, so Dr Tabareau says that extensions need to

Part of the project is about trying to manipulate this assistant, using ideas from HoTT, in order to provide a universal equality that we hope will be

more useful for mathematicians. “One is that it is too rigid for mathematical reasoning with respect to equalities and how objects are defined,” he outlines. “The second main weakness is the fact that you are in a pure functional setting, it’s a pure language. So it’s quite restricted, and it’s very different from mainstream programming languages.” By extending and improving the system, researchers will open up the possibility of

be dealt with in a logical way, taking into account the impact on the system. “That’s the major challenge that we face, in terms of extending the system,” he continues. “It’s not like a traditional programming language, where if you want a new feature, you just implement it. The challenge is to extend the power of the language, while also filtering out the possibility of any fake proofs being introduced.”

EU Research


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.