Automating boundary filling in Cubical Agda
Paper i proceeding, 2024
We develop a simplified cubical language in which we isolate and study two automation problems: contortion solving, where we attempt to "contort" a cube to fit a given boundary, and the more general Kan solving, where we search for solutions that involve pasting multiple cubes together. Both problems are difficult in the general case - Kan solving is even undecidable - so we focus on heuristics that perform well on practical examples. We provide a solver for the contortion problem using a reformulation of contortions in terms of poset maps, while we solve Kan problems using constraint satisfaction programming. We have implemented our algorithms in an experimental Haskell solver that can be used to automatically solve goals presented by Cubical Agda. We illustrate this with a case study establishing the Eckmann-Hilton theorem using our solver, as well as various benchmarks - providing the ground for further study of proof automation in cubical type theories.
Författare
Maximilian Doré
University of Oxford
Evan Cavallo
Göteborgs universitet
Chalmers, Data- och informationsteknik, Computing Science
Anders Mörtberg
Stockholms universitet
Leibniz International Proceedings in Informatics, LIPIcs
18688969 (ISSN)
Vol. 299 22 1-18978-3-95977-323-2 (ISBN)
Tallinn, Estonia,
Ämneskategorier (SSIF 2025)
Annan data- och informationsvetenskap
DOI
10.4230/LIPIcs.FSCD.2024.22