FRESCO: Fast and Reliable Symbolic Computation (original) (raw)
FRESCO is a research project aimed at building a new programming environment for fast and verified symbolic computation.
This project will be generously funded for five years by an ERC Consolidator grant. The core team is located in University of Nantes, in the GallinetteInria team-project, with some members hosted in Paris Saclay University, in the ToccataInria team-project.
Contents: News ⋅Goals ⋅Members ⋅Software ⋅Publications
News
Goals
Computers have changed the face of research in mathematics. They have dramatically augmented experiment and guesswork. Groundbreaking conjectures were only made accessible by resorting to superhuman computational power, e.g., Mandelbrot's fertile observations in fractal geometry, or Birch and Swinnerton-Dyer's conjecture, for which the Clay Institute advertises a $1 million bounty. In fact, they have also revolutionized the essence of what a proof is. Starting with the Four Color theorem, about the coloration of planar maps, the list of computer-assisted proofs of major mathematical results has grown steadily, covering a broad range of mathematical fields: combinatorics, optimization, number theory, dynamical systems, etc.
Computer proofs are essentially produced by symbolic computations, on exact data such as (unbounded) integers, rational numbers, polynomials, matrices. Computer algebra systems are the main vehicle of symbolic methods. Besides the libraries implementing cutting-edge fast algorithms, these complex systems are also powered by a domain specific language, used to formulate queries, and sophisticated graphical interfaces, which allow to produce documents interleaving text and graphics, with calculations. But _“are we just getting wrong answers faster?”_Stadtherr's unkind question to the community of high-performance computing not only remains valid today, but it extends to the realm of computer algebra. While machine-assisted design and verification have become standard for critical systems or when security and privacy issues are at stake, only makeshift techniques are available for auditing computer-produced mathematics, far behind the current state of the art in program verification.
New theoretical and practical tools are needed to produce, and reason about, computer-aided mathematics, with no compromise on speed nor on reliability. Our grand challenge is thus to deliver fast yet reliable symbolic computations to the users of computer algebra systems. For this purpose, we will design a novel generation of mathematical software, based on the firm grounds of modern programming language theory. In particular, the main vision behind the FRESCO project is a verified compilation scheme from textbook formulas to machine code, with feedback to formal proofs. Using Coq's higher-order, dependently typed, programming language we can express all these steps, specify and verify each transformation phase, and reuse the result in a broader formal proof context.
Members
Core team
- Florent Hivert (Senior member)
- Assia Mahboubi (PI)
- Guillaume Melquiond (Senior member)
- Josué Moreau (PhD candidate)
- Matthieu Piquerez (Postdoctoral researcher)
- Vojtěch Štěpančík (PhD candidate)
- Tomas Javier Vallejos Parada (PhD candidate)
Interns (past and present)
- Benoît Guillemet (ENS Paris Saclay, France)
- Noah Loutchmia (ENS Paris Saclay, France)
- Valeran Maytié (Université Paris Saclay, France)
- Josué Moreau (Université Paris Saclay, France)
- Iwan Quemerais (ENS Lyon, France)
- Oliver Turner (Durham University, UK)
Close collaborators
- Cyril Cohen (Inria)
- Sander Dahmen (VU Amsterdam, Netherlands)
Visitors
- Anne Baanen (VU Amsterdam, Netherlands)
- Quentin Canu (École polytechnique)
- Floris van Doorn (Bonn University, Germany)
- Mario Carneiro (Chalmers University, Sweden)
- Kazuhiko Sakagushi (University of Tsukuba, Japan)
Software
- Capla: a safe domain-specific programming language dedicated to low-level computer algebra programs with a formally verified compiler.
- Trocq: a modular parametricity plugin for proof transfer in Coq.
Publications
- Turning the Coq Proof Assistant into a Pocket Calculator. G. Melquiond. 15th Coq Workshop, 2024.[HAL]
- A Safe Low-level Language for Computer Algebra and its Formally Verified Compiler. G. Melquiond, J. Moreau. 29th ACM SIGPLAN International Conference on Functional Programming, 2024.[HAL] [DOI]
- Machine-Checked Categorical Diagrammatic Reasoning. B. Guillemet, A. Mahboubi, M. Piquerez. 9th International Conference on Formal Structures for Computation and Deduction, 2024.[HAL] [DOI]
- Trocq: Proof Transfer for Free, With or Without Univalence. C. Cohen, E. Crance, A. Mahboubi. 33rd European Symposium on Programming, 2024.[HAL] [DOI]
- Enabling Floating-Point Arithmetic in the Coq Proof Assistant. É. Martin-Dorel, G. Melquiond, P. Roux. Journal of Automated Reasoning, 2023.[HAL] [DOI]
- Manifest Termination. A. Mahboubi, G. Melquiond. 29th International Conference on Types for Proofs and Programs, 2023.[HAL]
Past events
- Mathematical Components workshop, ten years of the Odd Order theorem formal verification.
- Workshop on certified and symbolic-numeric computation.