Totality for Mixed Inductive and Coinductive Types

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autore principale: Hyvernat, Pierre
Natura: Preprint
Pubblicazione: 2019
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866916940554960896
author Hyvernat, Pierre
author_facet Hyvernat, Pierre
contents 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'' behavior. \chariot comes with a totality checker that tags possibly ill-behaved 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 - an interpretation of types as parity games, - an interpretation of correct values as winning strategies for those games, - the Lee, Jones and Ben Amram's size-change principle, used to check that the strategies induced by recursive definitions are winning. 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, giving a practical argument in favor of this principle.
format Preprint
id arxiv_https___arxiv_org_abs_1901_07820
institution arXiv
publishDate 2019
record_format arxiv
spellingShingle Totality for Mixed Inductive and Coinductive Types
Hyvernat, Pierre
Logic in Computer Science
Programming Languages
03B38
D.3.3; F.3.1; F.3.3
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'' behavior. \chariot comes with a totality checker that tags possibly ill-behaved 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 - an interpretation of types as parity games, - an interpretation of correct values as winning strategies for those games, - the Lee, Jones and Ben Amram's size-change principle, used to check that the strategies induced by recursive definitions are winning. 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, giving a practical argument in favor of this principle.
title Totality for Mixed Inductive and Coinductive Types
topic Logic in Computer Science
Programming Languages
03B38
D.3.3; F.3.1; F.3.3
url https://arxiv.org/abs/1901.07820