# Fast Sort Computations for Order-Sorted Matching and Unification

• Steven Eker
Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7000)

## Abstract

Given a preregular order-sorted signature, we consider two closely related problems. The first arises in matching where we need to compute the least sort of a ground term in order to decide whether it is less or equal to the sort of a variable to which we wish to bind it. The second arises in unification where we have computed an unsorted unifier and we want to compute any corresponding order-sorted unifiers by finding order-sorted renamings of the unsorted free variables occurring in the unifier such that for each bound variable, the least sort of the term to which it is bound becomes less than or equal to its own sort.

We present a fast solution to the first problem, based on compiling the overloaded declarations for each operation in to a decision diagram. We then show how this method can be lifted to the variable case using a BDD encoding to represent computations with unknown sorts in order to solve the second problem. We also discuss some extensions of the techniques.

## Keywords

Boolean Function Leaf Node Binary Code Function Symbol Truth Table
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## References

1. 1.
Baader, F., Snyder, W.: Unification theory. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. 1, ch. 8, pp. 445–532. Springer, Berlin (2001)Google Scholar
2. 2.
Boudet, A.: Unification in a combination of equational theories: an efficient algorithm. In: Stickel, M.E. (ed.) CADE 1990. LNCS, vol. 449, pp. 292–307. Springer, Heidelberg (1990)Google Scholar
3. 3.
Boudet, A.: Competing for the AC-unification race. Journal of Automated Reasoning 11, 185–212 (1993)Google Scholar
4. 4.
Boudet, A., Contejean, E., Devie, H.: A new AC-unification algorithm with a new algorithm for solving diophantine equations. In: Proceedings of the 5th IEEE Symposium on Logic in Computer Science, pp. 289–299. IEEE Computer Society Press (1990)Google Scholar
5. 5.
Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers 35, 677–691 (1986)Google Scholar
6. 6.
Bürckert, H.-J., Herold, A., Kapur, D., Siekmann, J.H., Stickel, M.E., Tepp, M., Zhang, H.: Opening the AC-unification race. Journal of Automated Reasoning 4, 465–474 (1988)Google Scholar
7. 7.
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. How to Specify, Program and Verify Systems in Rewriting Logic. LNCS, vol. 4350. Springer, Heidelberg (2007)Google Scholar
8. 8.
Dershowitz, N., Jouannaud, J.-P.: Rewrite systems. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, pp. 243–320. MIT Press, Cambridge (1990)Google Scholar
9. 9.
Goguen, J.A.: Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoretical Computer Science 105, 217–273 (1992)Google Scholar
10. 10.
Goguen, J.A., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.-P.: Introducing OBJ. Technical Report SRI-CSL-92-03, SRI International (March 1992)Google Scholar
11. 11.
Hendrix, J., Meseguer, J.: Order-sorted equational unification revisited. In: Proceedings of RULE 2008. Electronic Notes in Theoretical Computer Science, Elsevier Science (2008)Google Scholar
12. 12.
Herold, A.: Combination of unification algorithms. In: Siekmann, J.H. (ed.) CADE 1986. LNCS, vol. 230, pp. 450–469. Springer, Heidelberg (1986)Google Scholar
13. 13.
Meseguer, J., Goguen, J.A., Smolka, G.: Order-sorted unification. Journal Symbolic Computation 8, 383–413 (1989)Google Scholar
14. 14.
Moret, B.M.E.: Decision trees and diagrams. ACM Computing Surveys 14, 593–623 (1982)Google Scholar
15. 15.
Paterson, M.S., Wegman, M.N.: Linear unification. Journal of Computer and System Sciences 16(2), 158–167 (1978)Google Scholar
16. 16.
Schmidt-Schauß, M.: Unification in a combination of arbitrary disjoint equational theories. Journal of Symbolic Computation 8(1-2), 51–99 (1989)Google Scholar