Abstract
Constraints are an effective tool to define sets of data by means of logical formulae. Our goal here is to survey the notion of constraint system and to give examples of constraint systems operating on various domains, such as natural, rational or real numbers, finite domains, and term domains. We classify the different methods used for solving constraints, syntactic methods based on transformations, semantic methods based on adequate representations of constraints, hybrid methods combining transformations and enumerations. The concepts and methods are illustrated via examples. We also discuss applications of constraints to various fields, such as programming, operations research, and theorem proving.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Abdulrab, H., & Maksimenko, M. (1995). General solutions of systems of linear diophantine equations and inequations. In 6th International Conference on Rewriting Techniques and Applications (J. Hsiang, ed.), volume 914 of Lecture Notes in Computer Science, Kaiserslautern, Germany, Springer-Verlag.
Aït-Kaci, H., & Podelski, A. (1991). Towards a meaning of life. In 3rd International Symposium on Programming Language Implementation and Logic Programming (J. Maluszyński and M. Wirsing, eds.), volume 528 of Lecture Notes in Computer Science, pages 255–274.
Baader, F., & Schulz, K. (1992). Unification in the union of disjoint equational theories: Combining decision procedures. In Proceedings 11th International Conference on Automated Deduction, Saratoga Springs (N.Y., USA), pages 50–65.
Backofen, R., & Smolka, G. (1995).Acomplete and recursive feature theory. Theoretical Computer Science, 146(1–2):143–268.
Beldiceanu, N., & Contejean, E. (1994). Introducing global constraints in CHIP. jmcm, 20(12):97–123.
Caferra, R., & Zabel, N. (1992). A method for simultaneous search for refutations and models by equational constraint solving. Journal of Symbolic Computation, 13(6):613–642.
Castro, C. (1998). Building constraint satisfaction problem solvers using rewrite rules and strategies. Fundamenta Informaticae, 34:263–293.
Cheng, A., & Kozen, D. (1996). Some notes on rational spaces. Technical report, Comp. Science Department, Cornell University.
Colmerauer, A. (1984). Equations and inequations on finite and infinite trees. In Proceedings of FGCS'84, pages 85–99.
Comon, H. (1990). Solving symbolic ordering constraints. International Journal of Foundations of Computer Science, 1(4):387–411.
Comon, H. (1991). Disunification: A survey. In Computational Logic. Essays in honor of Alan Robinson (J.-L. Lassez and G. Plotkin, editors), chapter 9, pages 322–359. Cambridge (MA, USA), The MIT Press.
Comon, H., Dauchet, M., Gilleron, R., Lugiez, D., Tison, S., & Tommasi, M. Tree automata techniques and applications. A preliminary version of this unpublished book is available on http://l3ux02.univ-lille3.fr/tata.
Comon, H., & Delor, C. (1994). Equational formulae with membership constraints. Information and Computation, 112(2):167–216.
Comon, H., & Lescanne, P. (1989). Equational Problems and Disunification. Journal of Symbolic Computation, 7:371–425.
Comon, H., & Treinen, R. (1994). Ordering constraints on trees. In Colloquium on Trees in Algebra and Programming (S. Tison, editor), volume 787 of Lecture Notes in Computer Science, pages 1–14, Edinburgh, Scotland, Springer-Verlag. (Invited Lecture).
Contejean, E., & Devie, H. (1994). An efficient algorithm for solving systems of diophantine equations.Information and Computation, 113(1):143–172.
Dantzig, G. (1963). Linear Programming and Extensions. Princeton University Press.
Dauchet, M. (1994). Rewriting and tree automata. In Proc. Spring School on Theoretical Computer Science: Rewriting (H. Comon and J.-P. Jouannaud, editors), volume 909 of Lecture Notes in Computer Science, Odeillo, France, Springer-Verlag.
Dincbas, M., van Hentenryck, P., Simonis, H., Aggoun, A., Graf, T., & Berthier, F. (1988). The constraint logic programming language CHIP. In Proceedings of the International Conference on Fifth Generation Computer Systems, volume 2, pages 693–702. Institute for New Generation Computer Technology.
Domenjoud, E. (1991). Outils pour la d´eduction automatique dans les th´eories associatives-commutatives.Thèse de doctorat de l'universit´e de Nancy I.
Domenjoud, E., Klay, F., & Ringeissen, C. (1994). Combination techniques for non-disjoint equational theories. In Proceedings 12th International Conference onAutomated Deduction, Nancy (France) (A. Bundy, editor), volume 814 of Lecture Notes in Artificial Intelligence, pages 267–281, Springer-Verlag.
Dowek, G., Hardin, T., and Kirchner, C. (1995). Higher-order unification via explicit substitutions, extended abstract. In Proceedings of LICS'95 (D. Kozen, editor), pages 366–374, San Diego.
Dowek, G., Hardin, T., Kirchner, C., & Pfenning, F. (1996). Unification via explicit substitutions: The case of higher-order patterns. In Proceedings of JICSLP'96 (M. Maher, editor), Bonn (Germany), The MIT Press.
Fages, F. (1984). Associative-commutative unification. In Proceedings 7th International Conference on Automated Deduction, Napa Valley (Calif., USA) (R. Shostak, editor), volume 170 of Lecture Notes in Computer Science, pages 194–208, Springer-Verlag.
Filgueiras, M., & Tomás, A. P. (1995). A fast method for finding the basis of nonnegative solutions to a linear Diophantine equation. Journal of Symbolic Computation, 19:507–526.
Frühwirth, T., Shapiro, E., Vardi, M., & Yardeni, E. (1991). Logic programs as types for logic programs. In Proc. 6th IEEE Symp Logic in Computer Science, Amsterdam, pages 300–309.
Ganzinger, H., & Nieuwenhuis, R. (1996). The Saturate System. This manual is available at http://www.mpi-sb.mpg.de/ hg/systems/SATURATE/Saturate.html.
Gilleron, R., Tison, S., & Tommasi, M. (1993). Solving systems of set constraints using tree automata. In Proc. 10th Symposium on Theoretical Aspects of Computer Science, Würzburg, LNCS.
Gilleron, R., Tison, S., & Tommasi, M. (1993). Solving systems of set constraints with negated subset relationships. In Proc. 34th Symposium on Foundations of Computer Science, pages 372–380, Palo Alto, CA, IEEE Computer Society Press.
Heintze, N. (1992). Set based program analysis. Ph.D. thesis, Carnegie Mellon University.
Herbrand, J. (1930). Recherches sur la théorie de la démonstration. Travaux de la Soc. des Sciences et des Lettres de Varsovie, Classe III, 33(128).
Huet, G. (1976). R´esolution d'´equations dans les langages d'ordre 1; 2;::: ω. Th´ese d'Etat, Univ. Paris 7.
Jaffar, J., & Lassez, J.-L. (1987). Constraint logic programming. In Proceedings of the 14th Annual ACM Symposium on Principles Of Programming Languages, Munich (Germany), pages 111–119.
Jaffar, J., & Maher, M. (1994). Constraint logic programming: A survey. Journal of Logic Programming, 19-20:503–582.
Jouannaud, J.-P., editor. (1994). First International Conference on Constraints in Computational Logics, volume 845 of Lecture Notes in Computer Science, München, Germany, Springer-Verlag.
Jouannaud, J.-P., & Kirchner, C. (1991). Solving equations in abstract algebras: A rule-based survey of unification. In Computational Logic. Essays in Honor of Alan Robinson (J.-L. Lassez and G. Plotkin, editors), chapter 8, pages 257–321. Cambridge (MA, USA), The MIT Press.
Jouannaud, J.-P., & Kounalis, E. (1989). Automatic proofs by induction in theories without constructors.Information and Computation, 82(1).
Jouannaud, J.-P., & Okada, M. (1991). Satisfiability of systems of ordinal notations with the subterm property is decidable. In 18th International Colloquium on Automata, Languages and Programming (J. L. Albert, B. Monien, and M. R. Artalejo, editors), volume 510 of Lecture Notes in Computer Science, pages 455–468, Madrid, Spain, Springer-Verlag.
Karmarkar, N. (1984). A new polynomial–time algorithm for linear programming. Combinatorica, 4:373–395.
Kirchner, C. (1989). From unification in combination of equational theories to a new AC-unification algorithm.In Resolution of Equations in Algebraic Structures, Volume 2: Rewriting Techniques (H. Aït-Kaci and M. Nivat, editors), pages 171–210, New York, Academic Press Inc.
Kirchner, C., Kirchner, H., & Rusinowitch, M. (1990). Deduction with symbolic constraints. Revue d'Intelligence Artificielle, 4(3):9–52. Special issue on Automatic Deduction. 360 H. COMON ET AL
Kirchner, C., Kirchner, H., & Vittek, M. (1995). Designing constraint logic programming languages using computational systems. In Principles and Practice of Constraint Programming. The Newport Papers. (P. Van Hentenryck and V. Saraswat, editors), chapter 8, pages 131–158, The MIT Press.
Kozen, D. (1995). Set constraints in logic programming. Information and Computation. To appear.
Lassez, J.-L., & Marriott, K. G. (1987). Explicit representation of terms defined by counter examples.Journal of Automated Reasoning, 3(3):1–17.
Maher, M. J. (1988). Complete axiomatization of the algebra of finite, rational trees and infinite trees. In Proceedings 3rd IEEE Symposium on Logic in Computer Science, Edinburgh (UK). Computer Society Press.
Martelli, A., & Montanari, U. An efficient unification algorithm. ACM Transactions on Programming Languages and Systems, 4(2):258–282.
Martin, U., & Nipkow, T. (1989). Boolean unification. the story so far. Journal of Symbolic Computation, 7(3 & 4).
Miller, D. (1991). A logic programming language with lambda-abstraction, function variables, and simple unification. In Extensions of Logic Programming (P. Schroeder-Heister, editor). LNCS 475, Springer Verlag.
Mishra, P. (1984). Towards a theory of types in prolog. In 1st IEEE Symposium on Logic Programming, pages 456–461, Atlantic City.
Nelson, C. G., & Oppen, D. C. (1979). Simplifications by cooperating decision procedures. ACM Transactions on Programming Languages and Systems, 1(2).
Nieuwenhuis, R. (1993). Simple LPO constraint solving methods. Information Processing Letters, 47(2):65–69.
Nipkow, T. (1989). Combining matching algorithms: The regular case. In Proceedings 3rd Conference on Rewriting Techniques and Applications, Chapel Hill (N.C., USA) (N. Dershowitz, editor), volume 355 of Lecture Notes in Computer Science, pages 343–358, Springer-Verlag.
Podelski, A., editor. (1995). Constraint Programming: Basics and Trends, volume 910 of Lecture Notes in Computer Science, Springer-Verlag.
Pottier, L. (1991). Minimal solutions of linear diophantine systems: Bounds and algorithms. In Proceedings of the Fourth International Conference on Rewriting Techniques and Applications, pages 162–173, Como, Italy.
Puget, J.-F., & Leconte, M. (1995). Beyond the black box: Constraints as objects. In Proceedings of the International Logic Programming Symposium (J. Loyd, editor), pages 513–527, The MIT Press.
Ringeissen, C. (1996). Combining decision algorithms for matching in the union of disjoint equational theories. Information and Computation, 126(2):144–160.
Ringeissen, C. (1996). Cooperation of decision procedures for the satisfiability problem. In Frontiers of Combining Systems, First International Workshop, Munich (Germany) (F. Baader and K. Schulz, editors), Applied Logic, pages 121–140, Kluwer Academic Publishers.
Rounds, W. C., & Kasper, R. (1986).Acomplete logical calculus for record structures representing linguistic information. In Proc. 1st IEEE Symp. Logic in Computer Science, Cambridge, Mass.
Schmidt-Schauß, M. (1990). Unification in a combination of arbitrary disjoint equational theories. In Unification ( C. Kirchner, editor), pages 217–266, London, Academic Press Inc.
Schmidt-Schauß, M. (1994). An algorithm for distributive unification. Research Report 13/94, Fachbereich Informatik, Univ. Frankfurt.
Smolka, G. (1994). A foundation for higher-order concurrent constraint programming. In Proceedings of the 1st International Conference on Constraints in Computational Logics, Munich (Germany) (J.-P. Jouannaud, editor), volume 845 of Lecture Notes in Computer Science, pages 50–72, Springer-Verlag.
Smolka, G. (1995). The oz programming model. In Current Trends in Computer Science (J. van Leeuwen, editor), volume 1000 of Lecture Notes in Computer Science, pages 324–343.
Smolka, G., & Aït-Kaci, H. (1990). Inheritance hierarchies: Semantics and unification. In Unification (C. Kirchner, editor), pages 489–516, London, Academic Press Inc.
Stickel, M. E. (1975). A complete unification algorithm for associative-commutative functions. In Proceedings 4th International Joint Conference on Artificial Intelligence, Tbilissi (USSR), pages 71–76.
Tajine, M. (1993). The negation elimination from syntactic equational formulas is decidable. In Proc. 5th Rewriting Techniques and Applications, Montr´eal, LNCS 690 (C. Kirchner, editor).
Thomas, W. (1990). Automata on infinite objects. In Handbook of Theoretical Computer Science (J. van Leeuwen, editor), pages 134–191, Elsevier.
Tidén, E. (1986). Unification in combinations of collapse-free theories with disjoint sets of functions symbols.In Proceedings 8th International Conference on Automated Deduction, Oxford (UK) (J. Siekmann, editor), volume 230 of Lecture Notes in Computer Science, pages 431–449, Springer-Verlag.
Tomás, A. P., & Filgueiras, M. (1997). Solving linear diophantine equations using the geometric structure of the solution space. In Proc. 8th Conf. Rewriting Techniques and Applications (H. Comon, editor), volume 1232 of Lecture Notes in Computer Science, pages 269–283.
Tommasi, M. (1994). Automates et contraintes ensemblistes. Th´ese de l'Univ. de Lille.
Treinen, R. (1992). A new method for undecidability proofs of first order theories. Journal of Symbolic Computation, 14(5):437–458.
Treinen, R. (1997). Feature trees over arbitrary structures. In Specifying Syntactic Structures (P. Blackburn and M. de Rijke, editors), chapter 7, pages 185–211, CSLI Publications and FoLLI.
Yelick, K. (1987). Unification in combinations of collapse-free regular theories. Journal of Symbolic Computation, 3(1 & 2):153–182.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Comon, H., Dincbas, M., Jouannaud, JP. et al. A Methodological View of Constraint Solving. Constraints 4, 337–361 (1999). https://doi.org/10.1023/A:1009868906501
Issue Date:
DOI: https://doi.org/10.1023/A:1009868906501