Affiliation:
1. Institut des Hautes Études Scientifiques, Bures-sur-Yvette, France
2. Radboud University, Nijmegen, Netherlands
Abstract
The notion of α-equivalence between λ-terms is commonly used to identify terms that are considered equal. However, due to the primitive treatment of free variables, this notion falls short when comparing subterms occurring within a larger context. Depending on the usage of the Barendregt convention (choosing different variable names for all involved binders), it will equate either too few or too many subterms. We introduce a formal notion of context-sensitive α-equivalence, where two open terms can be compared within a context that resolves their free variables. We show that this equivalence coincides exactly with the notion of bisimulation equivalence. Furthermore, we present an efficient
O
(
n
log
n
) runtime hashing scheme that identifies λ-terms modulo context-sensitive α-equivalence, generalizing over traditional bisimulation partitioning algorithms and improving upon a previously established
O
(
n
log
2
n
) bound for a hashing modulo ordinary α-equivalence by Maziarz et al. Hashing λ-terms is useful in many applications that require common subterm elimination and structure sharing. We hav employed the algorithm to obtain a large-scale, densely packed, interconnected graph of mathematical knowledge from the Coq proof assistant for machine learning purposes.
Publisher
Association for Computing Machinery (ACM)
Reference29 articles.
1. (Leftmost-Outermost) Beta Reduction is Invariant, Indeed
2. Christel Baier and Joost-Pieter Katoen. 2008. Principles of model checking. MIT Press. isbn:978-0-262-02649-9
3. Hendrik Pieter Barendregt. 1985. The lambda calculus - its syntax and semantics (Studies in logic and the foundations of mathematics Vol. 103). Elsevier North-Holland.
4. Maciej Bendkowski. 2020. How to generate random lambda terms? CoRR, abs/2005.08856 (2020), arXiv:2005.08856. arxiv:2005.08856
5. A Head-to-Head Comparison of de Bruijn Indices and Names