Abstract
The embedding of constraint satisfaction on the domain of discourse into a rule-based programming paradigm like logic programming provides a powerful reasoning tool. We present an application in spatial reasoning that uses this combination to produce a clear, concise, yet very expressive system through its ability to manipulate partial information. Three-dimensional solid objects in constructive solid geometry representation are manipulated, and their spatial relationship with one another, points, or regions is reasoned about. The language used to develop this application is QUAD-CLP(ℜ), an experimental constraint logic programming language of our own design, which is equipped with a solver for quadratic and linear arithmetic constraints over the reals.
Similar content being viewed by others
References
Apt, K. R. and Bol, R. N.: Logic programming and negation: A survey, J. Logic Programming 19/20 (1994), 9–71.
Brzoska, C.: Temporal logic programming and its relation to constraint logic programming, in Proc. International Logic Programming Symposium, MIT Press, Cambridge, MA, 1991, pp. 661–677.
Buchberger, B. and Loos, R.: Algebraic simplification, in B. Buchberger, G.E. Collins, and R. Loos (eds.), Computer Algebra: Symbolic and Algebraic Computation, Springer-Verlag, Berlin, 1983.
Clark, K. L.: Negation as failure, in H. Gallaire and J. Minker (eds.), Logic and Databases, Plenum Press, New York, 1978, pp. 293–322.
Heintze, N., Michaylov, S., and Stuckey, P.: CLP(<) and some electrical engineering problems, J. Automated Reasoning 9 (1992), 231–260.
Hoffmann, C. M.: Geometric and Solid Modeling: An Introduction, Morgan Kaufmann, San Mateo, CA, 1989.
Hong, H.: RISC-CLP(Real): Constraint logic programming over real numbers, in F. Benhamou and A. Colmerauer (eds.), Constraint Logic Programming: Selected Research, MIT Press, Cambridge, MA, 1993.
Jaffar, J. and Lassez, J.-L.: Constraint logic programming, Technical Report 86/73, Dept. of Computer Science, Monash University, June 1986.
Jaffar, J. and Lassez, J.-L.: Constraint logic programming, in Proc. 14th ACM Symposium on Principles of Programming Languages, Munich, January 1987, pp. 111–119.
Jaffar, J., Michaylov, S., Stuckey, P. J., and Yap, R. H. C.: The CLP(<) language and system, ACM Trans. on Programming Languages and Systems 14(3) (1992), 339–395.
Jourdan, J. and Valdés-Pérez, R. E.: Constraint logic programming applied to hypothetical reasoning in chemistry, in Proc. North American Conference on Logic Programming, MIT Press, Cambridge, MA, 1990, pp. 154–172. (Page 161 should follow page 166.)
Kanellakis, P. C., Kuper, G. M., and Revesz, P. Z.: Constraint query languages, J. Comput. System Sci. 51(1) (1995), 26–52.
Lassez, C.,McAloon, K., and Yap, R.: Constraint logic programming and options trading, IEEE Expert 2(3) (1987), 42–50. Special Issue on Financial Software.
Older, W. and Vellino, A.: Constraint arithmetic on real intervals, in F. Benhamou and A. Colmerauer (eds.), Constraint Logic Programming: Selected Research, MIT Press, Cambridge, MA, 1993.
Pesant, G.: Une approche g é om é trique aux contraintes arithm é tiques quadratiques en programmation logique avec contraintes, Ph.D. Thesis, University of Montreal, 1995.
Pesant, G. and Boyer, M.: QUAD-CLP(R): Adding the power of quadratic constraints, in Principles and Practice of Constraint Programming: Proc. Second International Workshop, Lecture Notes in Computer Science 874, Springer-Verlag, Berlin, 1994, pp. 95–108.
Sterling, L. and Shapiro, E.: The Art of Prolog, MIT Press, Cambridge, MA, 1986.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Pesant, G., Boyer, M. Reasoning about Solids Using Constraint Logic Programming. Journal of Automated Reasoning 22, 241–262 (1999). https://doi.org/10.1023/A:1006080931326
Issue Date:
DOI: https://doi.org/10.1023/A:1006080931326