Greatest HITs: Higher inductive types in coinductive definitions via induction under clocks
Magnus Baunsgaard Kristensen, Rasmus Ejlers M{\o}gelberg, Andrea, Vezzosi

TL;DR
This paper introduces a novel type theory combining multi-clocked guarded recursion with Cubical Type Theory, enabling simpler programming and reasoning about complex coinductive types like transition systems, with a new induction principle under clocks.
Contribution
It presents the first type theory integrating multi-clocked guarded recursion with Cubical Type Theory and introduces an induction principle under clocks for encoding coinductive types.
Findings
Enables reasoning about coinductive types like transition systems
Bisimilarity implies path equality, facilitating proof transport
Provides a denotational semantics for the combined theory
Abstract
Guarded recursion is a powerful modal approach to recursion that can be seen as an abstract form of step-indexing. It is currently used extensively in separation logic to model programming languages with advanced features by solving domain equations also with negative occurrences. In its multi-clocked version, guarded recursion can also be used to program with and reason about coinductive types, encoding the productivity condition required for recursive definitions in types. This paper presents the first type theory combining multi-clocked guarded recursion with the features of Cubical Type Theory, as well as a denotational semantics. Using the combination of Higher Inductive Types (HITs) and guarded recursion allows for simple programming and reasoning about coinductive types that are traditionally hard to represent in type theory, such as the type of finitely branching labelled…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Semantic Web and Ontologies
