Skip to main content
Kent Academic Repository

Program Optimisations via Hylomorphisms for Extraction of Executable Code

Castro-Perez, David, Paviotti, Marco, Vollmer, Michael (2025) Program Optimisations via Hylomorphisms for Extraction of Executable Code. In: Program Optimisations via Hylomorphisms for Extraction of Executable Code. . (KAR id:105615)

Abstract

Generic programming with recursion schemes provides a powerful abstraction for structuring recursion and provides a rigorous reasoning principle for program optimisations which have been successfully applied to compilers for functional languages. Formalising recursion schemes in a type theory offers additional termination guarantees, but it often requires compromising on performance, requiring the assumption of additional axioms, and/or introducing unsafe casts into extracted code.

This paper presents the first Rocq formalisation of hylomorphisms allowing for the mechanisation of all recognised recursive algorithms. The key contribution of this paper is that this formalisation is fully axiom-free, and it allows the extraction of safe, idiomatic functional code. We exemplify the framework by formalising a series of algorithms based on different recursive paradigms such as divide-and conquer, dynamic programming, and mutual recursion and demonstrate that the extracted functional code for the programs formalised in our framework is efficient, humanly readable, and runnable. Furthermore, we show the use of the machine-checked proofs of the laws of hylomorphisms to do program optimisations.

Item Type: Conference or workshop item (Paper)
Uncontrolled keywords: hylomorphisms, Coq, code extraction, verification
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Institutional Unit: Schools > School of Computing
Former Institutional Unit:
Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Funders: University of Kent (https://ror.org/00xkeyj56)
Depositing User: Marco Paviotti
Date Deposited: 13 Apr 2024 11:46 UTC
Last Modified: 22 Jul 2025 09:19 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/105615 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views of this page since July 2020. For more details click on the image.