Fast Sort Computations for Order-Sorted Matching and Unification

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


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.


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  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

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Steven Eker
    • 1
  1. 1.Computer Science LaboratorySRI InternationalMenlo ParkUSA

Personalised recommendations