Electronic Notes in Theoretical Computer Science (ENTCS)
A study of substitution, using nominal techniques and Fraenkel-Mostowksi sets
Theoretical Computer Science
Electronic Notes in Theoretical Computer Science (ENTCS)
The lambda-context calculus (extended version)
Information and Computation
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Theoretical Computer Science
Permissive-nominal logic: First-order logic over nominal terms and sets
ACM Transactions on Computational Logic (TOCL)
PNL to HOL: From the logic of nominal sets to the logic of higher-order functions
Theoretical Computer Science
Encoding Abstract Syntax Without Fresh Names
Journal of Automated Reasoning
Hi-index | 0.00 |
Substitution is fundamental to the theory of logic and computation. Is substitution something that we define on syntax on a case-by-case basis, or can we turn the idea of substitution into a mathematical object? We give axioms for substitution and prove them sound and complete with respect to a canonical model. As corollaries we obtain a useful conservativity result, and prove that equality-up-to-substitution is a decidable relation on terms. These results involve subtle use of techniques both from rewriting and algebra. A special feature of our method is the use of nominal techniques. These give us access to a stronger assertion language, which includes so-called ‘freshness’ or ‘capture-avoidance’ conditions. This means that the sense in which we axiomatise substitution (and prove soundness and completeness) is particularly strong, while remaining quite general.