Skip to main content
Log in

Symbolic constraint handling through unification in finite algebras

  • Published:
Applicable Algebra in Engineering, Communication and Computing Aims and scope

Abstract

The constraint satisfaction problem (CSP) over finite domains is reduced to unification in finite algebras. A CSP defines a unification problem with a most general unifier that naturally expresses the solution of the given CSP in symbolic form. The approach is based on a unitary unification algorithm for arbitrary finite algebras, which is presented. The unification algorithm has been incorporated in the experimental Prolog system PROLOG-XT, which has been successfully applied to the verification of large combinatorial digital circuits, and is now in use in an industrial circuit development environment.

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. Balbes, R., Dwinger, P.: Distributive lattices. Columbia: University of Missouri Press 1974

    Google Scholar 

  2. Bryant, R.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput.C-35, 677–691 (1986)

    Google Scholar 

  3. Büttner, W.: Implementing complex domains of application in an extended prolog system. Int. J. Gen. Syst.15, 129–139 (1989)

    Google Scholar 

  4. Büttner, W.: Unification in finite algebras is unitary (?). In: Lusk, E., Overbeek, R. (eds.) 9th International Conference on Automated Deduction. Lecture Notes in Comp. Sc. Vol. 310. Berlin, Heidelberg, New York: Springer 1988

    Google Scholar 

  5. Büttner, W., Simonis, H.: Embedding Boolean expressions into logic programming. J. Symb. Comput.4, 191–205 (1987)

    Google Scholar 

  6. Cohn, A.: The notion of proof in hardware verification. J. Autom. Reasoning5, 74–86 (1989)

    Google Scholar 

  7. Colmerauer, A.: Note sur PROLOG III. In: Actes du séminaire 1986 — programmation en logique. Tech. report, CNET, Tregastel, France (1986)

    Google Scholar 

  8. deKleer, J., Brown, J.: A qualitative physics based on confluences. Artif. Intell.24, 7–83 (1984)

    Google Scholar 

  9. Dincbas, M., Van Hentenryck, P.: Constraints and logic programming. Tech. report TR-LP-9, ECRC, FRG (1986)

    Google Scholar 

  10. Dincbas, M., Simonis, H., Van Hentenryck, P.: Solving large combinatorial problems in logic programming. Tech. report TR-LP-21, ECRC, FRG (1987)

    Google Scholar 

  11. Filkorn, T.: Unifikation in endlichen Algebren und ihre Integration in Prolog. Diploma thesis, Technische Universität München, FRG (1988)

    Google Scholar 

  12. Grätzer, G.: Universal Algebra. Berlin, Heidelberg, New York: Springer 1988

    Google Scholar 

  13. Hayes, J. P.: Pseudo-Boolean logic circuits. IEEE Trans. Comput.C-35, 602–612 (1986)

    Google Scholar 

  14. Hunt, W. A. Jr.: FM8501: A verified microprocessor. Tech. report 47, University of Texas, USA (1985)

    Google Scholar 

  15. Jaffar, J., Michaylov, S.: Methodology and Implementation of a CLP System. In: Lassez, J.-L. (ed.) Fourth International Conference on Logic Programming, Cambridge (Mass). London: MIT Press 1987

    Google Scholar 

  16. Jaffar, J., Lassez, J.-L.: Constraint logic programming. In: 14th Symposium on Principles of Programming Languages. New York: ACM 1987

    Google Scholar 

  17. Nipkow, T.: Unification in primal algebras. In: Dauchet, M., Nivat, M. (eds.). 13th Colloquium on Trees in Algebra and Programming. Lecture Notes in Comp. Sc. Vol. 299. Berlin, Heidelberg, New York: Springer 1988

    Google Scholar 

  18. Plotkin, G.: Building-in equational theories. Machine Intell.7, 73–90 (1972)

    Google Scholar 

  19. Reeves, D. S., Irwin, M. J.: Fast methods for switch-level verification of MOS circuits. IEEE Trans. Comput. Aided Design of Integr. Circuits Syst.CAD-6, 766–779 (1987)

    Google Scholar 

  20. Siekmann, J.: Unification Theory. In: Du Boulay, B. Hogg, D., Steels, L. (eds.). Advances in artificial intelligence-II. Amsterdam New York Oxford Tokyo: North-Holland 1987

    Google Scholar 

  21. Simonis, H., Dincbas, M.: Using an extended prolog for digital circuit design. In: IEEE International Workshop on AI-Applications to CAD Systems for Electronics. Los Alamitos: IEEE Computer Society Press 1987

    Google Scholar 

  22. Simonis, H., Nguen, N., Dincbas, M.: Verification of digital circuits using CHIP. In: Milne, G. (ed.). The fusion of Hardware design and verification. Amsterdam New York Oxford Tokyo: North-Holland 1988

    Google Scholar 

  23. Sloane, N. J. A.: A short course on error correcting codes. Berlin, Heidelberg, New York: Springer 1975

    Google Scholar 

  24. Stallman, R. M., Sussman, G. J.: Forward reasoning and dependency directed backtracking in a system for computer aided circuit analysis. Artifi. Intell.9, 135–196 (1977)

    Google Scholar 

  25. Steele, G. L.: The definition and implementation of a computer programming language based on constraints. PhD Thesis, MIT, USA (1980)

    Google Scholar 

  26. Sussman, G. J., Steele, G. L.: CONSTRAINTS — A language for expressing almost-hierachical descriptions. Artifi. Intell.14, 1–39 (1980)

    Google Scholar 

  27. Tidén, E.: Symbolic verification of switch-level circuits using a prolog enhanced with unification in finite algebras. In: Milne, G. (ed.). The fusion of hardware design and verification. Amsterdam New York Oxford Tokyo: North-Holland 1988

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Büttner, W., Estenfeld, K., Schmid, R. et al. Symbolic constraint handling through unification in finite algebras. AAECC 1, 97–118 (1990). https://doi.org/10.1007/BF01810294

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01810294

Keywords

Navigation