🤖 AI Summary
This work addresses the long-standing lack of a formal framework for variable binding and name handling in programming languages that is both rigorous and practically applicable. It presents the first systematic implementation of nominal techniques in Agda, leveraging dependent types to formally encode core constructs such as nominal sets, permutation actions, and finite support. The resulting library is publicly available and fully mechanizes nominal logic within a proof assistant. By doing so, the work achieves a dual breakthrough: it preserves theoretical soundness while demonstrating strong engineering practicality and low runtime overhead, thereby advancing both the foundational understanding and real-world applicability of nominal techniques in formal verification tools.
📝 Abstract
Nominal techniques provide a mathematically principled approach to dealing with names and variable binding in programming languages. This paper explores an attempt to make nominal techniques accessible as an Agda library. We aim for a technical victory of implementing nominal ideas; we further require a moral victory that the overhead be acceptable for practical systems. The results of this paper have been mechanised and are publicly accessible at https://omelkonian.github.io/nominal-agda/.