Skip to main content
Log in

Disunification in ACI1 Theories

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Disunification is the problem of deciding satisfiability of a system of equations and disequations with respect to a given equational theory. In this paper we study the disunification problem in the context of ACI1 equational theories. This problem is of great importance, for instance, for the development of constraint solvers over sets. Its solution opens new possibilities for developing automatic tools for static analysis and software verification. In this work we provide a characterization of the interpretation structures suitable to model the axioms in ACI1 theories. The satisfiability problem is solved using known techniques for the equality constraints and novel methodologies to transform disequation constraints to manageable solved forms. We propose four solved forms, each offering an increasingly more precise description of the set of solutions. For each solved form we provide the corresponding rewriting algorithm and we study the time complexity of the transformation. Remarkably, two of the solved forms can be computed and tested in polynomial time. All these solved forms are adequate to be used in the context of a Constraint Logic Programming system—e.g., they do not introduce universal quantifications, as instead happens in some of the existing solved forms for disunification problems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abiteboul, S., Buneman, P., & Suciu, D. (2000). Data on the Web. From Relations to Semistructured Data and XML. Morgan Kaufmann Publishers.

  2. Aho, A. V., Hopcroft, J. E., & Ullman, J. D. (1974). The Design and Analysis of Computer Algorithms. Addison-Wesley.

  3. Aiken, A. (1994). Set constraints: results, applications and future directions. Technical report, University of California, Berkeley.

    Google Scholar 

  4. Baader, F., & Büttner, W. (1988). Unification in commutative and idempotent monoids. Theoretical Computer Science, 56: 345–352.

    Google Scholar 

  5. Baader, F., & Schulz, K. U. (1995). Combination techniques and decision problems for disunification. Theoretical Computer Science, 142: 229–255.

    Google Scholar 

  6. Baader, F., & Schulz, K. U. (1996). Unification in the union of disjoint equational theories: combining decision procedures. Journal of Symbolic Computation, 21: 211–243.

    Google Scholar 

  7. Beeri, C., Naqvi, S., Shmueli, O., & Tsur, S. (1991). Set constructors in a logic database language. Journal of Logic Programming, 10(3): 181–232.

    Google Scholar 

  8. Beutelspacher, A., & Brestovansky, W. (1982). Generalized Schur Numbers. In Combinatorial Theory, Lecture Notes in Mathematics, pages 30–38, Springer Verlag.

  9. Bürckert, H.-J. (1988). Solving disequations in equational theories. In Lusk, E. L., & Overbeek, R. A., eds., CADE 1988, Lecture Notes in Computer Science 310, pages 517–526, Berlin: Springer-Verlag.

    Google Scholar 

  10. Cantone, D., Omodeo, E. G., & Policriti, A. (2001). Set Theory for Computing. Springer Verlag.

  11. Clark, K. L. (1978). Negation as failure. In Gallaire, H., & Minker, J., eds., Logic and Databases, pages 293–321. Plenum Press.

  12. Codish, M., & Lagoon, V. (2000). Type dependencies for logic programs using ACI-unification. Theoretical Computer Science, 238(1-2): 131–159.

    Google Scholar 

  13. Colmerauer, A. (1984). Equations and inequations on finite and infinite trees. In International Conference on Fifth Generation Computer Systems, ICOT, pages 85–99.

  14. Comon, H. (1991). Disunification: a survey. In Lassez, J.-L., & Plotkin, G., eds., Computational Logic: Essays in Honor of Alan Robinson. Cambridge, Mass.: The MIT Press.

    Google Scholar 

  15. Comon, H., & Kirchner, C. (1999). Constraint solving on terms. In Constraints in Computational Logics, pages 47–103. Springer Verlag.

  16. Cormen, T. H., Leiserson, C. E., & Rivest, R. L. (1990). Introduction to Algorithms. The MIT Press, Cambridge, Mass.

    Google Scholar 

  17. Dovier, A., Omodeo, E. G., Pontelli, E., & Rossi, G. (1996). {log}: A language for programming in logic with finite sets. Journal of Logic Programming, 28(1): 1–44.

    Google Scholar 

  18. Dovier, A., Piazza, C., Pontelli, E., & Rossi, G. (2000). Sets and constraint logic programming. ACM Transaction on Programming Language and Systems, 22(5): 861–931.

    Google Scholar 

  19. Dovier, A., Piazza, C., & Policriti, A. (2000). Comparing expressiveness of set constructor symbols. In Kirchner, H., & Ringeissen, C., eds., Frontier of Combining Systems 2000. Lecture Notes in Computer Science 1794, pages 275–289, Springer-Verlag.

  20. Dovier, A., Pontelli, E., & Rossi, G. (1998). Set unification revisited. NMSU-CSTR-9817, Dept. of Computer Science, New Mexico State University, USA, October.

    Google Scholar 

  21. Enderton, H. B. (1972). A Mathematical Introduction to Logic. Academic Press Inc.

  22. Fernandez, M. (1992). Narrowing based procedures for equational disunification. In Applicable Algebra in Engineering, Communications, and Computing, pages 1–26, 1992. Springer Verlag.

  23. Fidge, C., Hayes, I., Martin, A., & Wabenhorst, A. (1998). A Set-theoretic model for real-time specification and reasoning. In Mathematics of Program Construction. Springer Verlag.

  24. Gervet, C. (1997). Interval propagation to reason about sets: definition and implementation of a practical language. Constraints, 1: 191–246.

    Google Scholar 

  25. Grätzer, G. (1978). General Lattice Theory. Birkhäuser Verlag Basel und Stuttgart.

    Google Scholar 

  26. Jaffar, J., Maher, M., Marriot, K., & Stuckey, P. (1998). The semantics of constraint logic programs. Journal of Logic Programming, 37: 1–46.

    Google Scholar 

  27. Kapur, D., & Narendran, P. (1986). NP-completeness of the set unification and matching problems. In Siekmann, J. H., ed., 8th International Conference on Automated Deduction, Lecture Notes in Computer Science 230, pages 489–495, Springer-Verlag.

  28. Kirchner, C., & Lescanne, P. (1987). Solving disequations. In Proceedings of the Annual IEEE Symposium on Logic in Computer Science, pages 347–352, Ithaca, NY.

  29. Kozen, D. (1993). Logical aspects of set constraints. In Procs. Conf. on Computer Science Logic, Vol. 832 of Lecture Notes in Computer Science, pages 175–188, Springer-Verlag.

    Google Scholar 

  30. Kuper, G.M. (1990). Logic programming with sets. Journal of Computer and System Science, 41(1): 66–75.

    Google Scholar 

  31. Legeard, B., & Legros, E. (1991). Short overview of the CLPS system. In Proc. Third Int'l Symp. on Programming Language Implementation and Logic Programming, Lecture Notes in Computer Science 528, pages 431–433, Springer-Verlag.

  32. Maher, M. J. (1980). Complete axiomatizations of the algebras of finite, rational and infinite trees. In Proceedings of 3rd Symposium Logic in Computer Science, pages 349–357.

  33. Mal'cev, A. (1971). Axiomatizable classes of locally free algebras of various types. In The Metamathematics of Algebraic Systems, North Holland, ch. 23.

  34. Reiter, R. (2001). Knowledge in Action: Logical Foundations for Describing and Implementing Dynamical Systems. MIT Press.

  35. Marriott, K., & Stuckey, P. (1998). Programming with Constraints. MIT Press.

  36. Robinson, A. (1963). Introduction to Model Theory and to the Metamathematics of Algebra. North Holland, Amsterdam.

    Google Scholar 

  37. Siekmann, J. H. (1990). Unification theory. In Kirchner, C., ed., Unification. Academic Press.

  38. Soininen, T., & Niemelä, I. (1999). Developing a declarative rule language for applications in product configuration. In Symposium on Practical Aspects of Declarative Languages, pages 305–319. Springer Verlag.

  39. Spivey, J. M. (1992). The Z Notation: A reference Manual, 2 nd edition. International Series in Computer Science, Prentice Hall.

  40. Thielscher, M. (2002). Reasoning about actions with CHR and finite domain constraints. In International Conference on Logic Programming, pages 70–84. Springer Verlag.

  41. Wallace, M., Novello, S., & Schimpf, J. (1997). ECLiPSe: a platform for constraint logic programming. IC-PARC, Imperial College.

  42. Warren, D. H. D. (1983). An abstract prolog instruction set. Technical Report 309, SRI International.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Dovier, A., Piazza, C. & Pontelli, E. Disunification in ACI1 Theories. Constraints 9, 35–91 (2004). https://doi.org/10.1023/B:CONS.0000006182.84033.6e

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:CONS.0000006182.84033.6e

Navigation