Namely, Painless: A unifying approach to safe programming with first-order syntax with binders

This dissertation describes a novel approach to safe meta-programming. A meta-program is a program which processes programs or similar data. Compilers and theorem provers are prime examples of meta-programs which could benefit from this approach. To this end, this work focuses on the representation of names and binders in data structures. Programming errors are really easy to make with usual techniques. We propose an abstract interface to names and binders that rules out these errors. This interface is implemented as a library in Agda. It allows defining and manipulating term representations in nominal style. Thanks to abstraction, other styles are supported as well: the de Bruijn style, the combinations of these styles, and more. Whereas indexing the types of names and terms with a natural number is a well-known technique to better control de Bruijn indices, we index them with worlds. Worlds are at the same time more precise and more abstract than natural numbers. Via logical relations and parametricity, we are able to demonstrate in what sense our library is safe, and to obtain theorems for free about world-polymorphic functions. For instance, we prove that a world-polymorphic term transformation function must commute with any renaming of the free variables. The proof is entirely carried out in Agda. The usability of our technique is shown on several examples including normalization by evaluation which is known to be challenging. We show that our world-indexed approach can express a wide range of data types by embedding several definition languages from the literature.

Data and Resources

Additional Info

Field Value
Source https://theses.hal.science/tel-00759059
Author Pouillard, Nicolas
Maintainer CCSD
Last Updated June 3, 2026, 06:16 (UTC)
Created June 3, 2026, 06:16 (UTC)
Identifier tel-00759059
Language en
Rights https://about.hal.science/hal-authorisation-v1/
contributor Programming languages, types, compilation and proofs (GALLIUM) ; Inria Paris-Rocquencourt ; Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)
creator Pouillard, Nicolas
date 2012-01-13T00:00:00
harvest_object_id d79f5727-7107-4cb6-9fa2-8f17357888fb
harvest_source_id 3374d638-d20b-4672-ba96-a23232d55657
harvest_source_title test moissonnage SELUNE
metadata_modified 2026-04-28T00:00:00
set_spec type:THESE