Formalising inductive and coinductive containers
Abstract
Containers capture the concept of strictly positive data types in programming. The original development of containers is done in the internal language of Locally Cartesian Closed Categories (LCCCs) with disjoint coproducts and W-types. Although it is claimed that these developments can also be interpreted in extensional Martin-Löf type theory, this interpretation is not made explicit. Moreover, as a result of extensionality, these developments freely assume Uniqueness of Identity Proofs (UIP), so it is not clear whether this is a necessary condition. In this paper, we present a formalisation of the result that `containers preserve least and greatest fixed points' in Cubical Agda, thereby giving a formulation in intensional type theory, and showing that UIP is not necessary. Our main incentive for using Cubical Agda is that its path type restores the equivalence between bisimulation and coinductive equality. Thus, besides developing container theory in a more general setting, we also demonstrate the usefulness of Cubical Agda's path type to coinductive proofs.
- Publication:
-
arXiv e-prints
- Pub Date:
- September 2024
- DOI:
- arXiv:
- arXiv:2409.02603
- Bibcode:
- 2024arXiv240902603D
- Keywords:
-
- Computer Science - Logic in Computer Science;
- Mathematics - Logic