Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories

Cyclic data structures, such as cyclic lists, in functional programming are tricky to handle because of their cyclicity. This paper presents an investigation of categorical, algebraic, and computational foundations of cyclic datatypes. Our framework of cyclic datatypes is based on second-order algeb...

Full description

Bibliographic Details
Main Author: Makoto Hamana
Format: Article
Language:English
Published: Logical Methods in Computer Science e.V. 2017-11-01
Series:Logical Methods in Computer Science
Subjects:
Online Access:https://lmcs.episciences.org/4066/pdf
_version_ 1797268620661751808
author Makoto Hamana
author_facet Makoto Hamana
author_sort Makoto Hamana
collection DOAJ
description Cyclic data structures, such as cyclic lists, in functional programming are tricky to handle because of their cyclicity. This paper presents an investigation of categorical, algebraic, and computational foundations of cyclic datatypes. Our framework of cyclic datatypes is based on second-order algebraic theories of Fiore et al., which give a uniform setting for syntax, types, and computation rules for describing and reasoning about cyclic datatypes. We extract the "fold" computation rules from the categorical semantics based on iteration categories of Bloom and Esik. Thereby, the rules are correct by construction. We prove strong normalisation using the General Schema criterion for second-order computation rules. Rather than the fixed point law, we particularly choose Bekic law for computation, which is a key to obtaining strong normalisation. We also prove the property of "Church-Rosser modulo bisimulation" for the computation rules. Combining these results, we have a remarkable decidability result of the equational theory of cyclic data and fold.
first_indexed 2024-04-25T01:35:23Z
format Article
id doaj.art-46ff9b7f52224615a6bb2a103001fd2b
institution Directory Open Access Journal
issn 1860-5974
language English
last_indexed 2024-04-25T01:35:23Z
publishDate 2017-11-01
publisher Logical Methods in Computer Science e.V.
record_format Article
series Logical Methods in Computer Science
spelling doaj.art-46ff9b7f52224615a6bb2a103001fd2b2024-03-08T09:52:12ZengLogical Methods in Computer Science e.V.Logical Methods in Computer Science1860-59742017-11-01Volume 13, Issue 410.23638/LMCS-13(4:8)20174066Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic TheoriesMakoto HamanaCyclic data structures, such as cyclic lists, in functional programming are tricky to handle because of their cyclicity. This paper presents an investigation of categorical, algebraic, and computational foundations of cyclic datatypes. Our framework of cyclic datatypes is based on second-order algebraic theories of Fiore et al., which give a uniform setting for syntax, types, and computation rules for describing and reasoning about cyclic datatypes. We extract the "fold" computation rules from the categorical semantics based on iteration categories of Bloom and Esik. Thereby, the rules are correct by construction. We prove strong normalisation using the General Schema criterion for second-order computation rules. Rather than the fixed point law, we particularly choose Bekic law for computation, which is a key to obtaining strong normalisation. We also prove the property of "Church-Rosser modulo bisimulation" for the computation rules. Combining these results, we have a remarkable decidability result of the equational theory of cyclic data and fold.https://lmcs.episciences.org/4066/pdfcomputer science - logic in computer scienced.3.2e.1f.3.2
spellingShingle Makoto Hamana
Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories
Logical Methods in Computer Science
computer science - logic in computer science
d.3.2
e.1
f.3.2
title Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories
title_full Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories
title_fullStr Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories
title_full_unstemmed Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories
title_short Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories
title_sort cyclic datatypes modulo bisimulation based on second order algebraic theories
topic computer science - logic in computer science
d.3.2
e.1
f.3.2
url https://lmcs.episciences.org/4066/pdf
work_keys_str_mv AT makotohamana cyclicdatatypesmodulobisimulationbasedonsecondorderalgebraictheories