Proxy-based small inversions: a case study in MetaCoq programming - Archive ouverte HAL
Communication Dans Un Congrès Année : 2025

Proxy-based small inversions: a case study in MetaCoq programming

Résumé

The Coq proof assistant is particularly powerful and relevant for defining and working on inductive types and properties. A common proof pattern is inversion reasoning on those inductive properties, where one seeks to deconstruct the last step of the proof of a given statement.

Many languages exist to automate reasoning in Coq. Among them, MetaCoq is built to inspect, manipulate and reason on internal Coq representations, and reinterpret them as new Coq objects. It allows to combine those operations into powerful meta-programs that are expressed in the Coq language itself.

In this article, we present how we used MetaCoq to automate the definition of new Coq objects as part of our work on proxy-based small inversions, an alternative to the inversion tactic. We discuss the relevance of using MetaCoq for this approach, and we sum up the lessons learned in the process, with the hope that it might be helpful to other users of MetaCoq.

To illustrate and demonstrate our work, we provide the source code of our MetaCoq program, together with a set of examples.

Fichier principal
Vignette du fichier
jfla2025-final36.pdf (948.69 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04859450 , version 1 (30-12-2024)

Licence

Copyright (Tous droits réservés)

Identifiants

  • HAL Id : hal-04859450 , version 1

Citer

Pierre Corbineau, Basile Gros, Jean-François Monin. Proxy-based small inversions: a case study in MetaCoq programming. 36es Journées Francophones des Langages Applicatifs (JFLA 2025), Jan 2025, Roiffé, France. ⟨hal-04859450⟩
0 Consultations
0 Téléchargements

Partager

More