[User's Manual]
[Code]
ALE uses the Martelli-Montanari algorithm, which is a variation
of the union algorithm for union-find data structures. The
Martelli-Montanari algorithm operates on a finite set of equations
Equation from ![]() |
Action | |
1 |
![]() |
replace by the equations
![]() |
2 |
![]() |
fail |
3 | ![]() |
delete equation |
4 | ![]() ![]() ![]() ![]() |
add
![]() ![]() ![]() ![]() ![]() |
5 | ![]() ![]() ![]() ![]() ![]() |
fail |
Feature structure unification in ALE is done by ud/2
predicate, which first dereferences the two feature structures
to be unified getting the most recent term encoding of the feature
structure together with its tag, and then it runs the
Martelli-Montanari algorithm on the term encodings.