Totality for Mixed Inductive and Coinductive Types - Archive ouverte HAL Accéder directement au contenu
Pré-Publication, Document De Travail Année : 2023

Totality for Mixed Inductive and Coinductive Types

Pierre Hyvernat

Résumé

This paper introduces an ML / Haskell like programming language with nested inductive and coinductive algebraic datatypes called chariot. Functions are defined by arbitrary recursive definitions and can thus lead to non-termination and other “bad” behaviour. chariot comes with a totality checker that tags such bad definitions. Such a totality checker is mandatory in the context of proof assistants based on type theory like Agda. Proving correctness of this checker is far from trivial, and relies on (1) an interpretation of types as parity games due to L. Santocanale, (2) an interpretation of definitions as strategies for those games, (3) the Lee, Jones and Ben Amram’s size-change principle, used to check that those strategies are “total”. This paper develops the first two points, the last step being the subject of an upcoming paper. A prototype has been implemented and can be used to experiment with the resulting totality checker. It gives a practical argument in favor of this principle.
Fichier principal
Vignette du fichier
chariot-I.zip (388.01 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01989688 , version 1 (22-01-2019)
hal-01989688 , version 2 (21-07-2022)
hal-01989688 , version 3 (13-07-2023)

Identifiants

Citer

Pierre Hyvernat. Totality for Mixed Inductive and Coinductive Types. 2023. ⟨hal-01989688v3⟩
65 Consultations
174 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More