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)
|
PDF
Pre-print
Language: English |
|
|
Download this file (PDF/653kB) |
Preview |
| Request a format suitable for use with assistive technology e.g. a screenreader | |
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) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):

https://orcid.org/0000-0002-6939-4189
Total Views
Total Views