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.
Similar content being viewed by others
References
Balbes, R., Dwinger, P.: Distributive lattices. Columbia: University of Missouri Press 1974
Bryant, R.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput.C-35, 677–691 (1986)
Büttner, W.: Implementing complex domains of application in an extended prolog system. Int. J. Gen. Syst.15, 129–139 (1989)
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
Büttner, W., Simonis, H.: Embedding Boolean expressions into logic programming. J. Symb. Comput.4, 191–205 (1987)
Cohn, A.: The notion of proof in hardware verification. J. Autom. Reasoning5, 74–86 (1989)
Colmerauer, A.: Note sur PROLOG III. In: Actes du séminaire 1986 — programmation en logique. Tech. report, CNET, Tregastel, France (1986)
deKleer, J., Brown, J.: A qualitative physics based on confluences. Artif. Intell.24, 7–83 (1984)
Dincbas, M., Van Hentenryck, P.: Constraints and logic programming. Tech. report TR-LP-9, ECRC, FRG (1986)
Dincbas, M., Simonis, H., Van Hentenryck, P.: Solving large combinatorial problems in logic programming. Tech. report TR-LP-21, ECRC, FRG (1987)
Filkorn, T.: Unifikation in endlichen Algebren und ihre Integration in Prolog. Diploma thesis, Technische Universität München, FRG (1988)
Grätzer, G.: Universal Algebra. Berlin, Heidelberg, New York: Springer 1988
Hayes, J. P.: Pseudo-Boolean logic circuits. IEEE Trans. Comput.C-35, 602–612 (1986)
Hunt, W. A. Jr.: FM8501: A verified microprocessor. Tech. report 47, University of Texas, USA (1985)
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
Jaffar, J., Lassez, J.-L.: Constraint logic programming. In: 14th Symposium on Principles of Programming Languages. New York: ACM 1987
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
Plotkin, G.: Building-in equational theories. Machine Intell.7, 73–90 (1972)
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)
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
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
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
Sloane, N. J. A.: A short course on error correcting codes. Berlin, Heidelberg, New York: Springer 1975
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)
Steele, G. L.: The definition and implementation of a computer programming language based on constraints. PhD Thesis, MIT, USA (1980)
Sussman, G. J., Steele, G. L.: CONSTRAINTS — A language for expressing almost-hierachical descriptions. Artifi. Intell.14, 1–39 (1980)
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
Author information
Authors and Affiliations
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01810294