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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
Boudet, A.: Competing for the AC-unification race. Journal of Automated Reasoning 11, 185–212 (1993)
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)
Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers 35, 677–691 (1986)
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)
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)
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)
Goguen, J.A.: Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoretical Computer Science 105, 217–273 (1992)
Goguen, J.A., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.-P.: Introducing OBJ. Technical Report SRI-CSL-92-03, SRI International (March 1992)
Hendrix, J., Meseguer, J.: Order-sorted equational unification revisited. In: Proceedings of RULE 2008. Electronic Notes in Theoretical Computer Science, Elsevier Science (2008)
Herold, A.: Combination of unification algorithms. In: Siekmann, J.H. (ed.) CADE 1986. LNCS, vol. 230, pp. 450–469. Springer, Heidelberg (1986)
Meseguer, J., Goguen, J.A., Smolka, G.: Order-sorted unification. Journal Symbolic Computation 8, 383–413 (1989)
Moret, B.M.E.: Decision trees and diagrams. ACM Computing Surveys 14, 593–623 (1982)
Paterson, M.S., Wegman, M.N.: Linear unification. Journal of Computer and System Sciences 16(2), 158–167 (1978)
Schmidt-Schauß, M.: Unification in a combination of arbitrary disjoint equational theories. Journal of Symbolic Computation 8(1-2), 51–99 (1989)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Eker, S. (2011). Fast Sort Computations for Order-Sorted Matching and Unification. In: Agha, G., Danvy, O., Meseguer, J. (eds) Formal Modeling: Actors, Open Systems, Biological Systems. Lecture Notes in Computer Science, vol 7000. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24933-4_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-24933-4_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24932-7
Online ISBN: 978-3-642-24933-4
eBook Packages: Computer ScienceComputer Science (R0)