Initial Algebra Semantics for Cyclic Sharing Tree Structures
Makoto Hamana (Gunma Univesity)

TL;DR
This paper introduces a new algebraic framework for representing cyclic sharing tree structures, enabling structural induction and recursion, and demonstrating its implementation in Haskell and Agda.
Contribution
It proposes a simple term syntax for cyclic sharing structures with initial algebra semantics, extending inductive principles to graph-like data.
Findings
Syntax is directly usable in Haskell and Agda.
Supports structural induction and recursion for cyclic structures.
Framework generalizes traditional tree representations to graphs with sharing and cycles.
Abstract
Terms are a concise representation of tree structures. Since they can be naturally defined by an inductive type, they offer data structures in functional programming and mechanised reasoning with useful principles such as structural induction and structural recursion. However, for graphs or "tree-like" structures - trees involving cycles and sharing - it remains unclear what kind of inductive structures exists and how we can faithfully assign a term representation of them. In this paper we propose a simple term syntax for cyclic sharing structures that admits structural induction and recursion principles. We show that the obtained syntax is directly usable in the functional language Haskell and the proof assistant Agda, as well as ordinary data structures such as lists and trees. To achieve this goal, we use a categorical approach to initial algebra semantics in a presheaf category.…
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.
