Nominal Sets in Rocq

📅 2025-09-30
📈 Citations: 0
✨ Influential: 0
📄 PDF
🤖 AI Summary
This paper addresses the challenge of uniformly formalizing core semantic notions—name dependency, freshness, and α-equivalence—in nominal computation. We propose a constructive nominal sets theory based on a type-class hierarchy and generalized rewriting. Implemented in Rocq (formerly Coq), our framework models name dependencies via group actions of name permutations, and formally develops nominal sets, freshness, nominal α-equivalence, name abstraction, and finite-support functions, together with associated recursive and inductive combinators. The approach mitigates the “set-theoretic hell” problem, enabling concise definitions and mechanized reasoning. Its type-class architecture ensures extensibility, while generalized rewriting significantly improves the efficiency of equivalence reasoning. The resulting framework provides a rigorous, machine-checked foundation for the syntax and semantics of binding structures.

Technology Category

Knowledge Representation and Reasoning: Computational Complexity of ReasoningConstraint Satisfaction and Optimization: Satisfiability Modulo TheoriesCognitive Modeling & Cognitive Systems: Conceptual Inference and Reasoning

Application Category

Semantics and Knowledge: Methods, algorithms and applications for the development of semantic models, knowledge graphs and other forms of structured data models with machine-interpretable semanticsGraph Algorithms and Modeling for the Web: Efficient manipulation of static and dynamic Web-related graphsEconomics, Online Markets and Human Computation: Incentives in network design for Web infrastructures and ecosystems
📝 Abstract
Nominal techniques have been praised for their ability to formalize grammars with binding structures closer to their informal developments. At its core, there lies the definition of nominal sets, which capture the notion of name (in)dependence through a simple, and uniform, metatheory based on name permutations. We present a formal constructive development of nominal sets in Rocq (formerly known as Coq), with its main design and project decisions. Furthermore, we formalize the concepts of freshness, nominal alpha-equivalence, name abstraction, and finitely supported functions. Our implementation relies on a type class hierarchy which, combined with Rocq generalized rewriting mechanism, achieves concise definitions and proofs, whilst easing the well-known "setoid hell" scenario. We conclude with a discussion on how to obtain the constructive alpha-structural recursion and induction combinators, towards a nominal framework.
Problem

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

Formalizing nominal sets in Rocq for binding structures
Implementing freshness and alpha-equivalence constructively
Developing recursion combinators for nominal framework
Innovation

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

Nominal sets formalized using type classes
Generalized rewriting mechanism reduces setoid hell
Constructive alpha-structural recursion combinators implemented
🔎 Similar Papers
No similar papers found.