Automating boundary filling in Cubical Agda
Paper in 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.
Author
Maximilian Doré
University of Oxford
Evan Cavallo
University of Gothenburg
Chalmers, Computer Science and Engineering (Chalmers), Computing Science
Anders Mörtberg
Stockholm University
Leibniz International Proceedings in Informatics, LIPIcs
18688969 (ISSN)
Vol. 299 22 1-18978-3-95977-323-2 (ISBN)
Tallinn, Estonia,
Subject Categories (SSIF 2025)
Other Computer and Information Science
DOI
10.4230/LIPIcs.FSCD.2024.22