Hostname: page-component-74656f9884-c52kr Total loading time: 0 Render date: 2026-11-08T09:26:29.291Z Has data issue: false hasContentIssue false

Formalising nominal C-unification generalised with protected variables

Published online by Cambridge University Press:  07 May 2021

Mauricio Ayala-Rincón*
Affiliation:
Departments of Mathematics, University of Brasília (UnB), Brasilia, Brazil, Computer Science, University of Brasília (UnB), Brasilia, Brazil
Washington de Carvalho-Segundo
Affiliation:
Computer Science, University of Brasília (UnB), Brasilia, Brazil
Maribel Fernández
Affiliation:
Department of Informatics, King’s College London, London WC2R 2LS, UK
Gabriel Ferreira Silva
Affiliation:
Computer Science, University of Brasília (UnB), Brasilia, Brazil
Daniele Nantes-Sobrinho
Affiliation:
Departments of Mathematics, University of Brasília (UnB), Brasilia, Brazil,
*
*Corresponding author. Email: ayala@unb.brayala@unb.br
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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.

Information

Type
Paper
Copyright
© The Author(s), 2021. Published by Cambridge University Press