Controlling unfolding in type theory

📅 2022-10-11
🏛️ arXiv.org
📈 Citations: 4
Influential: 2
📄 PDF
🤖 AI Summary
In dependent type theory, controlling the granularity of definition unfolding has long posed a dilemma: global unfolding renders proofs brittle, while manual annotation sacrifices automation and robustness. This paper introduces a novel localized unfolding mechanism grounded semantically in extension types, whereby definitions remain inert by default and admit on-demand, local, context-sensitive selective unfolding. Departing from traditional global toggle paradigms, we design a core calculus within homotopy type theory and implement a formally verified prototype in the cooltt proof assistant. Theoretically, we establish a normalization theorem ensuring computational soundness. Empirically, our approach significantly improves proof stability, effectively curbs target-term size explosion, and reconciles expressive reasoning power with maintainability—demonstrating both foundational advancement and practical viability.
📝 Abstract
. We present a novel mechanism for controlling the unfolding of definitions in dependent type theory. Traditionally, proof assistants let users specify whether each definition can or cannot 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 type theory with extension types , a connective first introduced in the context of homotopy type theory. We prove a normalization theorem for our core calculus and have implemented our system in the cooltt proof assistant, providing both theoretical and practical evidence for it.
Problem

Research questions and friction points this paper is trying to address.

Controlling definition unfolding in dependent type theory
Preventing brittle proofs from excessive definition unfolding
Enabling selective local unfolding via extension types
Innovation

Methods, ideas, or system contributions that make the work stand out.

Selectively unfold definitions locally by default
Elaborate using core theory with extension types
Implement controlled unfolding in cooltt proof assistant
🔎 Similar Papers
No similar papers found.