This program is tentative and subject to change.
Many programs process lists by recursing in a wide variety of sequential and/or divide-and-conquer patterns.
Reasoning about the correctness and completeness of these programs requires reasoning about the lengths of
the lists, techniques for which are typically undecidable or at least NP-complete. In this paper we show how
introducing a relatively simple (sub-)language for expressions describing list lengths, whilst not completely
general, covers a great number of these patterns. It includes not only doubling but also exponentiation (iterated
doubling), and moreover admits a simple length-checking algorithm that is complete over a predictable problem
domain. We prove termination of the algorithm via category-theoretic pullbacks, formalized in Agda, as well as
providing a more realistic implementation in Rocq, and a toy language Fulbourn with interpreter in Haskell.
This program is tentative and subject to change.
Tue 14 OctDisplayed time zone: Perth change
13:40 - 15:20 | |||
13:40 25mTalk | Fulls Seldom Differ ICFP Papers Mark Koch Quantinuum, Alan Lawrence Quantinuum, Conor McBride University of Strathclyde, Craig Roy Quantinuum DOI | ||
14:05 25mTalk | Normalization by Evaluation for Non-cumulativity ICFP Papers Shengyi Jiang The University of Hong Kong, Jason Z. S. Hu Amazon, Bruno C. d. S. Oliveira University of Hong Kong DOI | ||
14:30 25mTalk | Type Theory in Type Theory using a Strictified Syntax ICFP Papers DOI Pre-print | ||
14:55 25mTalk | Type Universes as Kripke Worlds ICFP Papers Paulette Koronkevich University of British Columbia, William J. Bowman University of British Columbia DOI Pre-print |