2006
DOI: 10.1007/s10817-006-9030-5
|View full text |Cite
|
Sign up to set email alerts
|

Formal Correctness of a Quadratic Unification Algorithm

Abstract: We present a case study using ACL2 to verify a nontrivial algorithm that uses efficient data structures. The algorithm receives as input two first-order terms, and it returns a most general unifier of these terms if they are unifiable, failure otherwise. The verified implementation stores terms as directed acyclic graphs by means of a pointer structure. Its time complexity is O(n 2 ) and its space complexity O(n), and it can be executed in ACL2 at a speed comparable to a similar C implementation. We report the… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2007
2007
2014
2014

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(7 citation statements)
references
References 4 publications
(6 reference statements)
0
7
0
Order By: Relevance
“…The other main approach to the presentation and formalisation of unification algorithms is the Martelli-Montanari transformation system, introduced in [1]. Ruiz-Reina et al [14] formalise a quadratic unification algorithm (using term graphs, due to Corbin and Bidoit) in ACL2 in the transformation style. Urban et al [11] formalise nominal unification in Isabelle/HOL in transformation style.…”
Section: Correctnessmentioning
confidence: 99%
“…The other main approach to the presentation and formalisation of unification algorithms is the Martelli-Montanari transformation system, introduced in [1]. Ruiz-Reina et al [14] formalise a quadratic unification algorithm (using term graphs, due to Corbin and Bidoit) in ACL2 in the transformation style. Urban et al [11] formalise nominal unification in Isabelle/HOL in transformation style.…”
Section: Correctnessmentioning
confidence: 99%
“…However, non-trivial reflexive definitions arise in practice. The TR describes such a case study, namely a sophisticated implementation of a unification algorithm using term dags [48]. Furthermore, authors Greve and Wilding describe the use of the same approach in an efficient implementation of a path finding algorithm in a graph [23].…”
Section: Reflexive Functions: Adding Tests For Terminationmentioning
confidence: 99%
“…For the sake of clarity, we will not introduce the technical improvements that can make the algorithm quadratic in time. The interested reader may consult [48], where the complete development of a formally verified quadratic unification algorithm is described.…”
Section: A Formally Verified Acl2 Implementationmentioning
confidence: 99%
See 2 more Smart Citations