Cyril Cohen

dblp:37/8264 · DBLP profile ↗
← Back
20ranked-venue papers
11as first author
8since 2021 · last 2025
0000-0003-3540-1050ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 14 · 7 first-author · 3 since 2021Software engineering, systems software and programming languages · 8 · 6 first-author · 5 since 2021Artificial intelligence and machine learning · 2 · 1 since 2021
YearPublicationVenuePosition
2025 Formalizing Concentration Inequalities in Rocq: Infrastructure and Automation
abstract
Concentration inequalities are standard lemmas providing upper bounds on deviations of random variables. To formalize concentration inequalities, we have been developing a general library of lemmas for probability theory in the Rocq prover. This effort led us to revisit already established technical aspects of the Mathematical Components libraries. In this paper, we report on improvements of general interest resulting from our formalization. We devise types for numeric values and a lightweight semi-decision procedure, based on interval arithmetic. We also extend the hierarchy of available mathematical structures to formalize Lebesgue spaces. We illustrate our new formalization of probability theory with the complete proof of a concentration inequality for Bernoulli sampling.
Reynald Affeldt, Alessandro Bruni, Cyril Cohen, Pierre Roux 0001, Takafumi Saikawa
ITP3
2025 A Bargain for Mergesorts: How to Prove Your Mergesort Correct and Stable, Almost for Free
abstract
We present a novel characterization of stable mergesort functions using relational parametricity, and show that it implies the functional correctness of mergesort. As a result, one can prove the correctness of several variations of mergesort ( e.g ., top-down, bottom-up, tail-recursive, non-tail-recursive, smooth, and non-smooth mergesorts) by proving the characteristic property for each variation. Thanks to our characterization and the parametricity translation, we deduced the correctness results, including stability, of various implementations of mergesort for lists, including highly optimized ones, in the Rocq Prover (formerly the Coq Proof Assistant).
Cyril Cohen, Kazuhiko Sakaguchi
Proc. ACM Program. Lang.1
2025 Trocq: Proof Transfer for Free, Beyond Equivalence and Univalence
abstract
This article presents Trocq , a new proof transfer framework for dependent type theory. Trocq is based on a novel formulation of type equivalence, used to generalize the univalent parametricity translation. This framework takes care of avoiding dependency on the axiom of univalence when possible, and may be used with more relations than just equivalences. We have implemented a corresponding plugin for the Rocq/Coq interactive theorem prover, in the Coq-Elpi meta-language.
Cyril Cohen, Enzo Crance, Assia Mahboubi
ACM Trans. Program. Lang. Syst.1
2024 Trocq: Proof Transfer for Free, With or Without Univalence
abstract
Abstract This article presents Trocq, a new proof transfer framework for dependent type theory. Trocq is based on a novel formulation of type equivalence, used to generalize the univalent parametricity translation. This framework takes care of avoiding dependency on the axiom of univalence when possible, and may be used with more relations than just equivalences. We have implemented a corresponding plugin for the interactive theorem prover, in the meta-language.
Cyril Cohen, Enzo Crance, Assia Mahboubi
ESOP (1)1
2024 Artifact Report: Trocq: Proof Transfer for Free, With or Without Univalence
abstract
Abstract Trocq [5] is both the name of a calculus, describing a parametricity framework, and of a plugin [6] that provides tactics for performing representation changes in goals, as well as vernacular commands for specifying the expected translations.
Cyril Cohen, Enzo Crance, Assia Mahboubi
ESOP (1)1
2023 Semantics of Probabilistic Programs using s-Finite Kernels in Coq
abstract
Probabilistic programming languages are used to write probabilistic models to make probabilistic inferences. A number of rigorous semantics have recently been proposed that are now available to carry out formal verification of probabilistic programs. In this paper, we extend an existing formalization of measure and integration theory with s-finite kernels, a mathematical structure to interpret typing judgments in the semantics of a probabilistic programming language. The resulting library makes it possible to reason formally about transformations of probabilistic programs and their execution.
Reynald Affeldt, Cyril Cohen, Ayumu Saito
CPP2
2023 Measure Construction by Extension in Dependent Type Theory with Application to Integration
Reynald Affeldt, Cyril Cohen
J. Autom. Reason.2
2021 Unsolvability of the Quintic Formalized in Dependent Type Theory
abstract
In this paper, we describe an axiom-free Coq formalization that there does not exists a general method for solving by radicals polynomial equations of degree greater than 4. This development includes a proof of Galois' Theorem of the equivalence between solvable extensions and extensions solvable by radicals. The unsolvability of the general quintic follows from applying this theorem to a well chosen polynomial with unsolvable Galois group.
Sophie Bernard, Cyril Cohen, Assia Mahboubi, Pierre-Yves Strub
ITP2
2020 Hierarchy Builder: Algebraic hierarchies Made Easy in Coq with Elpi (System Description)
abstract
International audience
Cyril Cohen, Kazuhiko Sakaguchi, Enrico Tassi
FSCD1
2020 The MetaCoq Project
Matthieu Sozeau, Abhishek Anand, Simon Boulier, Cyril Cohen, Yannick Forster 0002, Fabian Kunze, Gregory Malecha, Nicolas Tabareau, Théo Winterhalter
J. Autom. Reason.4
2019 Formal Proofs of Tarjan's Strongly Connected Components Algorithm in Why3, Coq and Isabelle
abstract
Comparing provers on a formalization of the same problem is always a valuable exercise. In this paper, we present the formal proof of correctness of a non-trivial algorithm from graph theory that was carried out in three proof assistants: Why3, Coq, and Isabelle.
Cyril Cohen, Jean-Jacques Lévy, Stephan Merz, Laurent Théry
ITP2
2018 Towards Certified Meta-Programming with Typed Template-Coq
abstract
Template-Coq ( https://template-coq.github.io/template-coq ) is a plugin for Coq, originally implemented by Malecha [18], which provides a reifier for Coq terms and global declarations, as represented in the Coq kernel, as well as a denotation command. Initially, it was developed for the purpose of writing functions on Coq’s AST in Gallina. Recently, it was used in the CertiCoq certified compiler project [4], as its front-end language, to derive parametricity properties [3], and to extract Coq terms to a CBV $$\lambda $$ -calculus [13]. However, the syntax lacked semantics, be it typing semantics or operational semantics, which should reflect, as formal specifications in Coq, the semantics of Coq’s type theory itself. The tool was also rather bare bones, providing only rudimentary quoting and unquoting commands. We generalize it to handle the entire Calculus of Inductive Constructions (CIC), as implemented by Coq, including the kernel’s declaration structures for definitions and inductives, and implement a monad for general manipulation of Coq’s logical environment. We demonstrate how this setup allows Coq users to define many kinds of general purpose plugins, whose correctness can be readily proved in the system itself, and that can be run efficiently after extraction. We give a few examples of implemented plugins, including a parametricity translation. We also advocate the use of Template-Coq as a foundation for higher-level tools.
Abhishek Anand, Simon Boulier, Cyril Cohen, Matthieu Sozeau, Nicolas Tabareau
ITP3
2017 Formal foundations of 3D geometry to model robot manipulators
abstract
We are interested in the formal specification of safety properties of robot manipulators down to the mathematical physics. To this end, we have been developing a formalization of the mathematics of rigid body transformations in the Coq proof-assistant. It can be used to address the forward kinematics problem, i.e., the computation of the position and orientation of the end-effector of a robot manipulator in terms of the link and joint parameters. Our formalization starts by extending the Mathematical Components library with a new theory for angles and by developing three-dimensional geometry. We use these theories to formalize the foundations of robotics. First, we formalize a comprehensive theory of three-dimensional rotations, including exponentials of skew-symmetric matrices and quaternions. Then, we provide a formalization of the various representations of rigid body transformations: isometries, homogeneous representation, the Denavit-Hartenberg convention, and screw motions. These ingredients make it possible to formalize robot manipulators: we illustrate this aspect by an application to the SCARA robot manipulator.
Reynald Affeldt, Cyril Cohen
CPP2
2017 A Formal Proof in Coq of LaSalle's Invariance Principle
Cyril Cohen, Damien Rouhling
ITP1
2016 Formalization of a newton series representation of polynomials
abstract
We formalize an algorithm to change the representation of a poly- nomial to a Newton power series. This provides a way to compute efficiently polynomials whose roots are the sums or products of roots of other polynomials, and hence provides a base component of efficient computation for algebraic numbers. In order to achieve this, we formalize a notion of truncated power series and develop an abstract theory of poles of fractions.
Cyril Cohen, Boris Djalal
CPP1
2014 A Coq Formalization of Finitely Presented Modules
Cyril Cohen, Anders Mörtberg
ITP1
2013 Refinements for Free!
Cyril Cohen, Maxime Dénès, Anders Mörtberg
CPP1
2013 Pragmatic Quotient Types in Coq
Cyril Cohen
ITP1
2013 A Machine-Checked Proof of the Odd Order Theorem
Georges Gonthier, Andrea Asperti, Jeremy Avigad, Yves Bertot, Cyril Cohen, François Garillot, Stéphane Le Roux 0001, Assia Mahboubi, Russell O'Connor, Sidi Ould Biha, Ioana Pasca, Laurence Rideau, Alexey Solovyev, Enrico Tassi, Laurent Théry
ITP5
2012 Construction of Real Algebraic Numbers in Coq
Cyril Cohen
ITP1