Hostname: page-component-77c78cf97d-57qhb Total loading time: 0 Render date: 2026-04-27T16:56:33.071Z Has data issue: false hasContentIssue false

Controlling unfolding in type theory

Published online by Cambridge University Press:  09 December 2025

Daniel Gratzer*
Affiliation:
Aarhus University, Aarhus, Denmark
Jonathan Sterling
Affiliation:
University of Cambridge, Cambridge, UK
Carlo Angiuli
Affiliation:
Indiana University, Bloomington, IN, USA
Thierry Coquand
Affiliation:
University of Gothenburg, Gothenburg, Sweden
Lars Birkedal
Affiliation:
Aarhus University, Aarhus, Denmark
*
Corresponding author: Daniel Gratzer; Email: gratzer@cs.au.dk
Rights & Permissions [Opens in a new window]

Abstract

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.

Information

Type
Paper
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2025. Published by Cambridge University Press
Figure 0

Figure 1. The non-standard aspects of the LF signature for $\textbf{TT}_{\mathbb{P}}$.

Figure 1

Figure 2. Selected rules from the definition of $\mathsf{nf}$, $\mathsf{ne}$, and $\mathsf{nftp}$.

Figure 2

Figure 3. The normalization structure on the universe.