Article contents
Formalising nominal C-unification generalised with protected variables
Published online by Cambridge University Press: 07 May 2021
Abstract
This work extends a rule-based specification of nominal C-unification formalised in Coq to include ‘protected variables’ that cannot be instantiated during the unification process. By introducing protected variables, we are able to reuse the C-unification simplification rules to solve nominal C-matching (as well as equality check) problems. From the algorithmic point of view, this extension is sufficient to obtain a generalised C-unification procedure; however, it cannot be formally checked by simple reuse of the original formalisation. This paper describes the additional effort necessary in order to adapt the specification of the inference rules and reuse previous formalisations. We also generalise a functional recursive nominal C-unification algorithm specified in PVS with protected variables, effectively adapting this algorithm to the tasks of nominal C-matching and nominal equality check. The PVS formalisation is applied to test the correctness of a Python manual implementation of the algorithm.
- Type
- Paper
- Information
- Mathematical Structures in Computer Science , Volume 31 , Special Issue 3: Logical and Semantic Frameworks with Applications , March 2021 , pp. 286 - 311
- Copyright
- © The Author(s), 2021. Published by Cambridge University Press
References
- 2
- Cited by