Unification of Hypergraph $\lambda $-Terms
Abstract
We developed a technique for modeling formal systems involving name binding in a modeling language based on hypergraph rewriting. A hypergraph consists of graph nodes, edges with two endpoints and edges with multiple endpoints. The idea is that hypergraphs allow us to represent terms containing bindings and that our notion of a graph type keeps bound variables distinct throughout rewriting steps. We previously encoded the untyped $\lambda $-calculus and the evaluation and type checking of System $F_\texttt {<:}$, but the encoding of System $F_\texttt {<:}$ type inference requires a unification algorithm. We studied and successfully implemented a unification algorithm modulo $\alpha $-equivalence for hypergraphs representing untyped $\lambda $-terms. The unification algorithm turned out to be similar to nominal unification despite the fact that our approach and nominal approach to name binding are very different. However, some basic properties of our framework are easier to establish compared to the ones in nominal unification. We believe this indicates that hypergraphs provide a nice framework for encoding formal systems involving binders and unification modulo $\alpha $-equivalence.
Domains
Computer Science [cs]Origin | Files produced by the author(s) |
---|
Loading...