Controlling unfolding in type theory
Journal article, 2025

We present a new way to control the unfolding of definitions in dependent type theory. Traditionally, proof assistants require users to fix whether each definition will or will not be unfolded in the remainder of a development; unfolding definitions is often necessary in order to reason about them, but an excess of unfolding can result in brittle proofs and intractably large proof goals. In our system, definitions are by default not unfolded, but users can selectively unfold them in a local manner. We justify our mechanism by means of elaboration to a core theory with extension types - a connective first introduced in the context of homotopy type theory - and by establishing a normalization theorem for our core calculus. We have implemented controlled unfolding in the proof assistant, inspiring an independent implementation in Agda.

Author

Daniel Gratzer

Aarhus University

Jonathan Sterling

University of Cambridge

Carlo Angiuli

Indiana University

Thierry Coquand

Chalmers, Computer Science and Engineering (Chalmers), Computing Science

University of Gothenburg

Lars Birkedal

Aarhus University

Mathematical Structures in Computer Science

0960-1295 (ISSN) 1469-8072 (eISSN)

Vol. 35 e38

Subject Categories (SSIF 2025)

Computer Sciences

Algebra and Logic

DOI

10.1017/S0960129525100327

More information

Latest update

1/13/2026