{"id":"https://openalex.org/W7082654369","doi":"https://doi.org/10.4230/lipics.itp.2025.32","title":"Program Optimisations via Hylomorphisms for Extraction of Executable Code","display_name":"Program Optimisations via Hylomorphisms for Extraction of Executable Code","publication_year":2025,"publication_date":"2025-01-01","ids":{"openalex":"https://openalex.org/W7082654369","doi":"https://doi.org/10.4230/lipics.itp.2025.32"},"language":"en","primary_location":{"id":"pmh:oai:drops-oai.dagstuhl.de:24630","is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ITP.2025.32","pdf_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol352-itp2025/LIPIcs.ITP.2025.32/LIPIcs.ITP.2025.32.pdf","source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"publishedVersion"},"type":"article","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol352-itp2025/LIPIcs.ITP.2025.32/LIPIcs.ITP.2025.32.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Castro Perez, David","orcid":"https://orcid.org/0000-0002-6939-4189"},"institutions":[{"id":"https://openalex.org/I20581793","display_name":"University of Kent","ror":"https://ror.org/00xkeyj56","country_code":"GB","type":"education","lineage":["https://openalex.org/I20581793"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Castro Perez, David","raw_affiliation_strings":["University Of Kent, Canterbury, UK"],"raw_orcid":"https://orcid.org/0000-0002-6939-4189","affiliations":[{"raw_affiliation_string":"University Of Kent, Canterbury, UK","institution_ids":["https://openalex.org/I20581793"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Paviotti, Marco","orcid":"https://orcid.org/0000-0002-1513-0807"},"institutions":[{"id":"https://openalex.org/I20581793","display_name":"University of Kent","ror":"https://ror.org/00xkeyj56","country_code":"GB","type":"education","lineage":["https://openalex.org/I20581793"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Paviotti, Marco","raw_affiliation_strings":["University Of Kent, Canterbury, UK"],"raw_orcid":"https://orcid.org/0000-0002-1513-0807","affiliations":[{"raw_affiliation_string":"University Of Kent, Canterbury, UK","institution_ids":["https://openalex.org/I20581793"]}]},{"author_position":"last","author":{"id":null,"display_name":"Vollmer, Michael","orcid":"https://orcid.org/0000-0002-0496-8268"},"institutions":[{"id":"https://openalex.org/I20581793","display_name":"University of Kent","ror":"https://ror.org/00xkeyj56","country_code":"GB","type":"education","lineage":["https://openalex.org/I20581793"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Vollmer, Michael","raw_affiliation_strings":["University Of Kent, Canterbury, UK"],"raw_orcid":"https://orcid.org/0000-0002-0496-8268","affiliations":[{"raw_affiliation_string":"University Of Kent, Canterbury, UK","institution_ids":["https://openalex.org/I20581793"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I20581793"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.67977583,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":true,"primary_topic":{"id":"https://openalex.org/T12157","display_name":"Geochemistry and Geologic Mapping","score":0.4368000030517578,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T12157","display_name":"Geochemistry and Geologic Mapping","score":0.4368000030517578,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13177","display_name":"Geological and Geophysical Studies","score":0.03689999878406525,"subfield":{"id":"https://openalex.org/subfields/1907","display_name":"Geology"},"field":{"id":"https://openalex.org/fields/19","display_name":"Earth and Planetary Sciences"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13067","display_name":"Geological Modeling and Analysis","score":0.030700000002980232,"subfield":{"id":"https://openalex.org/subfields/1906","display_name":"Geochemistry and Petrology"},"field":{"id":"https://openalex.org/fields/19","display_name":"Earth and Planetary Sciences"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/recursion","display_name":"Recursion (computer science)","score":0.8115000128746033},{"id":"https://openalex.org/keywords/executable","display_name":"Executable","score":0.8041999936103821},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.6686999797821045},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.586899995803833},{"id":"https://openalex.org/keywords/mutual-recursion","display_name":"Mutual recursion","score":0.5357999801635742},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.5223000049591064},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5151000022888184},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.4625999927520752},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.46160000562667847}],"concepts":[{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.8115000128746033},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.8041999936103821},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.770799994468689},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6916000247001648},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.6686999797821045},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.586899995803833},{"id":"https://openalex.org/C124416688","wikidata":"https://www.wikidata.org/wiki/Q3454656","display_name":"Mutual recursion","level":3,"score":0.5357999801635742},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.5223000049591064},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5151000022888184},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4625999927520752},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.46160000562667847},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.45910000801086426},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.3612000048160553},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.3181000053882599},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.3158999979496002},{"id":"https://openalex.org/C143724316","wikidata":"https://www.wikidata.org/wiki/Q312468","display_name":"Series (stratigraphy)","level":2,"score":0.30709999799728394},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.30559998750686646},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.3003000020980835},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.28540000319480896},{"id":"https://openalex.org/C2775945657","wikidata":"https://www.wikidata.org/wiki/Q381442","display_name":"Structuring","level":2,"score":0.2847000062465668},{"id":"https://openalex.org/C2775941552","wikidata":"https://www.wikidata.org/wiki/Q25212305","display_name":"Isolation (microbiology)","level":2,"score":0.2806999981403351},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.2671000063419342},{"id":"https://openalex.org/C12426560","wikidata":"https://www.wikidata.org/wiki/Q189569","display_name":"Basis (linear algebra)","level":2,"score":0.25929999351501465},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.25540000200271606},{"id":"https://openalex.org/C71559656","wikidata":"https://www.wikidata.org/wiki/Q671298","display_name":"Divide and conquer algorithms","level":2,"score":0.25189998745918274}],"mesh":[],"locations_count":2,"locations":[{"id":"pmh:oai:drops-oai.dagstuhl.de:24630","is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ITP.2025.32","pdf_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol352-itp2025/LIPIcs.ITP.2025.32/LIPIcs.ITP.2025.32.pdf","source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"publishedVersion"},{"id":"doi:10.4230/lipics.itp.2025.32","is_oa":true,"landing_page_url":"https://doi.org/10.4230/lipics.itp.2025.32","pdf_url":null,"source":{"id":"https://openalex.org/S7407052059","display_name":"Dagstuhl Research Online Publication Server","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":""}],"best_oa_location":{"id":"pmh:oai:drops-oai.dagstuhl.de:24630","is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ITP.2025.32","pdf_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol352-itp2025/LIPIcs.ITP.2025.32/LIPIcs.ITP.2025.32.pdf","source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"publishedVersion"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W7082654369.pdf"},"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Generic":[0],"programming":[1],"with":[2],"recursion":[3,11,32,126],"schemes":[4,33],"provides":[5,13],"a":[6,14,35,109],"powerful":[7],"abstraction":[8],"for":[9,18,28,72,134],"structuring":[10],"and":[12,93,124,127,145],"rigorous":[15],"reasoning":[16],"principle":[17],"program":[19,163],"optimisations":[20],"which":[21],"have":[22],"been":[23],"successfully":[24],"applied":[25],"to":[26,161],"compilers":[27],"functional":[29,101,132],"languages.":[30],"Formalising":[31],"in":[34,138],"type":[36],"theory":[37],"offers":[38],"additional":[39,53],"termination":[40],"guarantees,":[41],"but":[42],"it":[43,94],"often":[44],"requires":[45],"compromising":[46],"on":[47,114],"performance,":[48],"requiring":[49],"the":[50,65,73,96,105,130,135,150,153,157],"assumption":[51],"of":[52,69,75,83,98,111,152,156,159],"axioms,":[54],"and/or":[55],"introducing":[56],"unsafe":[57],"casts":[58],"into":[59],"extracted":[60,131],"code.":[61,102],"This":[62],"paper":[63,85],"presents":[64],"first":[66],"Rocq":[67],"formalisation":[68,89],"hylomorphisms":[70,160],"allowing":[71],"mechanisation":[74],"all":[76],"recognised":[77],"recursive":[78,116],"algorithms.":[79],"The":[80],"key":[81],"contribution":[82],"this":[84,88],"is":[86,90,141],"that":[87,129],"fully":[91],"axiom-free,":[92],"allows":[95],"extraction":[97],"safe,":[99],"idiomatic":[100],"We":[103],"exemplify":[104],"framework":[106,140],"by":[107],"formalising":[108],"series":[110],"algorithms":[112],"based":[113],"different":[115],"paradigms":[117],"such":[118],"as":[119],"divide-and":[120],"conquer,":[121],"dynamic":[122],"programming,":[123],"mutual":[125],"demonstrate":[128],"code":[133],"programs":[136],"formalised":[137],"our":[139],"efficient,":[142],"humanly":[143],"readable,":[144],"runnable.":[146],"Furthermore,":[147],"we":[148],"show":[149],"use":[151],"machine-checked":[154],"proofs":[155],"laws":[158],"do":[162],"optimisations.":[164]},"counts_by_year":[],"updated_date":"2025-11-06T06:51:31.235846","created_date":"2025-10-10T00:00:00"}
