Defining Corecursive Functions in Coq Using Approximations - CNRS - Centre national de la recherche scientifique Accéder directement au contenu
Communication Dans Un Congrès Année : 2022

Defining Corecursive Functions in Coq Using Approximations

Résumé

We present two methods for defining corecursive functions that go beyond what is accepted by the builtin corecursion mechanisms of the Coq proof assistant. This gain in expressiveness is obtained by using a combination of axioms from Coq's standard library that, to our best knowledge, do not introduce inconsistencies but enable reasoning in standard mathematics. Both methods view corecursive functions as limits of sequences of approximations, and both are based on a property of productiveness that, intuitively, requires that for each input, an arbitrarily close approximation of the corresponding output is eventually obtained. The first method uses Coq's builtin corecursive mechanisms in a non-standard way, while the second method uses none of the mechanisms but redefines them. Both methods are implemented in Coq and are illustrated with examples.
Fichier principal
Vignette du fichier
final.pdf (390.88 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03671876 , version 1 (18-05-2022)

Identifiants

Citer

Vlad Rusu, David Nowak. Defining Corecursive Functions in Coq Using Approximations. ECOOP, Jun 2022, Berlin, Germany. ⟨10.4230/LIPIcs.ECOOP.2022.12⟩. ⟨hal-03671876⟩
84 Consultations
114 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More