The Coq Workshop 2024

Affiliated with ITP 2024

Tbilisi, Georgia

14th September, 2024

(Past editions)

The Coq Workshop 2024 is the 15th instalment of the Coq Workshop series. The workshop brings together developers, contributors, and users of the Coq proof assistant. The Coq Workshop focuses on strengthening the Coq community and providing a forum for discussing practical issues, including the future of the Coq software and its associated ecosystem of libraries and tools. Thus, rather than serving as a venue for traditional research papers, the workshop is organised around informal presentations and discussions.

Important dates

29 May 7 June, 2024 (AoE)

Submission deadline (⚠️ extended)

3 July, 2024

Author notification

Attending

As the workshop is affiliated with ITP, attendees are required to register for the workshop through ITP registration. The workshop (as well as the conference) can be attended either online or in person. Please consult the ITP registration page for pricing information.

One of the sessions will be affiliated with EuroProofNet. As such participants of the Coq Workshop are also entitled to funding from EuroProofNet.

See the EuroProofNet workshop website for more details.

Program

The following contributed talks were accepted for a presentation at the workshop.

Times are local to Tbilisi.

The talks will happen in room 319, although the invited talk will also be streamed in room 115 as part of the Isabelle workshop.

Session 1
9:30—9:40

Welcome to the Coq Workshop

Introduction from the organisers

9:40—10:00

On the Potential of Coq as the Platform of Choice for Hardware Design

Sebastian Ertel, Max Kurze and Michael Raitza (online)

Abstract

We present our experiences so far in bringing Coq-based hardware development to hardware engineers. More specifically, we chose Koika to re-implement the trusted communication unit (TCU), an essential kernel component in a micro-kernel-based operating system. We report on successes but also obstacles and derive future research directions.

10:00—10:30

A Development Process for Coq Projects Permitting Invalid Proofs

Hendrik Tews (online)

Abstract

The talk presents a development process for Coq projects that permits invalid proofs in the main development line while still keeping control over the project. I review the existing tool support and present new Proof General features that enable such a process. The described process has recently been introduced at Kernkonzept.

10:30—11:00 Coffee break
Session 2 common with the EuroProofNet workshop
11:00—11:30

CoqPilot, a plugin for LLM-based generation of proofs

Andrei Kozyrev, Gleb Solovev, Nikita Khramov and Anton Podkopaev (in person)

Abstract

We present CoqPilot, a VS Code extension designed to help automate writing of Coq proofs. The plugin collects the parts of proofs marked with the admit tactic in a Coq file, i.e., proof holes, and combines LLMs along with non-machine-learning methods to generate proof candidates for the holes. Then, CoqPilot checks if each proof candidate solves the given subgoal and, if successful, replaces the hole with it. The focus of CoqPilot is twofold. Firstly, we want to allow users to seamlessly combine multiple Coq generation approaches and provide a zero-setup experience for our tool. Secondly, we want to deliver a platform for LLM-based experiments on Coq proof generation. We developed a benchmarking system for Coq generation methods, available in the plugin, and conducted an experiment using it, showcasing the framework's possibilities.

11:30—11:50

Blueprints for formalisation in Coq

Peter Lefanu Lumsdaine (in person)

Abstract

I will discuss the use and usefulness of “blueprints” in formalisation, and the design practices they promote; and I will present a port for Coq of the leanblueprint tool

11:50—12:20

Coq Platform docs: A Compilation of Short Interactive Tutorials and How-To Guides for Coq

Thomas Lamiaux, Pierre Rousselin and Théo Zimmermann (online)

Abstract

Dear Coq users and developers, We would like to shed some light on our new project "Coq Platform Doc". Our goal is to provide an online compilation of short, practical and interactive tutorials and how-to guides about Coq and the Coq Platform. We wish this content to be part of the upcoming Rocq website. A detailed description of the project can be found in our Coq Enhancement Proposal (CEP) here: https://github.com/coq/ceps/pull/91.

The first few tutorials are available as well as a (very preliminary) online interface here: https://www.theozimmermann.net/platform-docs/. At this moment, it contains:

  • a Search tutorial
  • a Basic library file and module management tutorial
  • 3 tutorials about the Equation plugin

More will follow, especially with your help!

There is a dedicated Zulip channel to discuss and participate: https://coq.zulipchat.com/#narrow/stream/437203-Coq-Platform-docs. The preliminary git repository is https://github.com/Zimmi48/platform-docs.

12:30—14:00 Lunch
Session 3 invited talk shared with the EuroProofNet and Isabelle workshops
14:00—15:00

Invited talk: From 100 to 1000+ theorems

Freek Wiedijk (online)

Abstract

We have started a collaborative project to track which of a list of around 1200 theorems have been formalized in the major libraries of the main proof assistants for mathematics: Isabelle, HOL Light, Coq, Lean, Metamath and Mizar.

15:00—15:30

Lessons from Formalizing (Higher) Category Theory

Benedikt Ahrens and Niels van der Weide (online)

Abstract

UniMath is a library of univalent mathematics written in Coq. In the past few years, it has seen growth mostly in the area of category theory and its applications to programming language semantics. We give an overview of the UniMath library, some of the challenges that we are facing in developing and maintaining it, and our solutions to these challenges.

15:30—16:00 Coffee break
Session 4
16:00—16:25

Towards Formalising the Guard Condition of Coq

Yee Jian Tan and Yannick Forster (online)

Abstract

Coq's consistency — and the consistency of constructive type theories in general — crucially depends on all recursive functions being terminating. Technically, in Coq, this is ensured by a so-called guard checker, which is part of Coq's kernel and ensures that fixpoints defined on inductive types are structurally recursive. Coq's guard checker has been first implemented in the 1990s by Christine Paulin-Mohring, but was subsequently extended, adapted, and fixed by several contributors. As a result, there is no exact, abstract specification of it, meaning for instance that formal proofs about it are out of reach. We propose a talk on our ongoing work-in-progress project to synthesise a specification of Coq's guard checker as a guard condition predicate defined in Coq itself on top of the MetaCoq project. We hope that our project will benefit the users of Coq by providing an accurate and transparent description, as well as lay the foundations for future improvements or even mechanised consistency proofs of Coq.

16:25—16:45

Turning the Coq Proof Assistant into a Pocket Calculator

Guillaume Melquiond (online)

Abstract

User interfaces for the Coq proof assistant focus on the ability to write and verify proofs, and mostly ignore Coq's ability to compute. This talk shows how the tactic-in-term feature and some adhoc vernacular commands can provide a user experience closer to the one found in computer algebra systems. This work has been implemented in the CoqInterval library.

16:45—18:00

Discussion with Coq developers

Coq developers (online)

Submission instructions

Submissions should take the form of a two-page PDF (excluding bibliography) and must be performed on Easychair.

You have the freedom to produce the PDF by whatever means but keep in mind that it should remain legible for the people of the PC and for attendees of the conference so please avoid two pages of text with absolutely no margin.

We use a single-blind review process, meaning that reviewers have access to the identity and affiliations of the authors. As such, the submitted PDF should include name and affiliations in addition to the title and abstract.

Remote presentation is possible!

Submit to Coq Workshop 2024

Organisers and contact

Clément Pit-Claudel Théo Winterhalter coqws2024@easychair.org

Program committee