Formalization of Opaque Definitions for a Dependent Type Theory
| dc.contributor.author | Geng, Eve | |
| dc.contributor.department | Chalmers tekniska högskola / Institutionen för data och informationsteknik | sv |
| dc.contributor.department | Chalmers University of Technology / Department of Computer Science and Engineering | en |
| dc.contributor.examiner | Jansson, Patrik | |
| dc.contributor.supervisor | Danielsson, Nils Anders | |
| dc.date.accessioned | 2026-01-15T12:49:45Z | |
| dc.date.issued | 2025 | |
| dc.date.submitted | ||
| dc.description.abstract | Definitions allow for the efficient reuse of code, but the process of unfolding complex nested definitions may cause usability issues for the programmer. Opaque definitions help mitigate this by restricting the unfolding of definitions at type-checking time, but their implementation demands some subtlety—for instance, subject reduction may be lost if an opaque type definition doesn’t unfold in exactly the right way. Despite this, there has been relatively little work on formally characterizing opaque definitions. We contribute here a formalization of opaque top-level definitions based on their implementation in the Agda programming language. The formalization is fully mechanized in Agda as an extension of the prior graded-type-theory project. We give typing and reduction rules for the definitions, then show, through a Kripke logical relation argument, that they enjoy many of the usual desirable type-theoretic properties: subject reduction, normalization, consistency, decidability of conversion, and so on. | |
| dc.identifier.coursecode | DATX05 | |
| dc.identifier.uri | http://hdl.handle.net/20.500.12380/310883 | |
| dc.language.iso | eng | |
| dc.setspec.uppsok | Technology | |
| dc.subject | dependent types | |
| dc.subject | top-level definitions | |
| dc.subject | opaque definitions | |
| dc.subject | formalization | |
| dc.subject | logical relations | |
| dc.subject | Agda | |
| dc.title | Formalization of Opaque Definitions for a Dependent Type Theory | |
| dc.type.degree | Examensarbete för masterexamen | sv |
| dc.type.degree | Master's Thesis | en |
| dc.type.uppsok | H | |
| local.programme | Computer science – algorithms, languages and logic (MPALG), MSc |
