Skip to main content
Log in

An Application of CLP: Checking the Correctness of Theorems in Geometry

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Constraint Logic Programming can be advantageously used to deal with quadratic constraints stemming from the verification of planar geometry theorems. A hybrid symbolic-numeric representation involving radicals and multiple precision rationals is used to denote the results of quadratic equations. A unification-like algorithm tests for the equality of two expressions using that representation. The proposed approach also utilizes geometric transformations to reduce the number of quadratic equations defining geometric constructions involving circles and straight lines. A large number (512) of geometry theorems has been verified using the proposed approach. Those theorems had been proven correct using a significant more complex (exponential) approach in a treatise authored by Chou in 1988. Even though the proposed approach is based on verification—rather than strict correctness utilized by Chou—the efficiency attained is polynomial thus making the approach useful in classroom situations where a construction attempted by student has to be quickly validated or refuted.

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. Allen, R., Idt, J., Trilling, L. Constrained based automatic construction and manipulation of geometric figures, Proceedings of the 13th IJCAI Conference, Chambery, Morgan Kaufmann Publishers, Los Altos.

  2. Benhamou, F. Interval constraint logic programming. Constraint Programming: Basics and Trends 1–21.

  3. Bobrow, D. G. (1968). Natural Language Input for a Computer Problem Solving System. Semantic Information Processing. Marvin Minsky (ed.), MIT Press, Cambridge, MA.

    Google Scholar 

  4. Bobrow, D. G. (1968). A Question-Answerer for AlgebraWord Problems. Semantic Information Processing. Marvin Minsky (ed.), MIT Press, Cambridge, MA.

    Google Scholar 

  5. Bouhineau, D. (1997). Construction automatique de figures g´eom´etriques & Programmation Logique avec Constraintes, Thèse de l'Universit´e J. Fourier de Grenoble, France.

  6. Chou, S.-Ch. (1988). Mechanical Geometry Theorem Proving. Reidel Publishing, Norwell.

    Google Scholar 

  7. Colmerauer, A. (1993). Naïve Solving of Non-linear Constraints, Constraint Logic Programming: Selected Research. The MIT Press, F. Benhamou et A. Colmerauer editors, 89–112.

  8. Deng, M., Zhang, J., Yang, L. (1990). The parallel numerical method of mechanical theorem proving. Theoretical Computer Science 74: 253–271.

    Google Scholar 

  9. Dubé, T., Yap, C. Computing in Euclidean Geometry, The Exact Computation Paradigm. World Scientific Press, editors D. Z. Du, F. K. Hwang.

  10. Hong, J. (1986). Proving by example and gap theorems, 107–116. 27th Annual Symposium on Foundations of Computer Science, Toronto, Ontario, Canada. IEEE.

    Google Scholar 

  11. Jaffar, J., Michaylov, S., Stuckey, P-J., Yap, R. (1992). The CLP(R) language and system. ACM Trans. on Programming Languages and Systems 14(3): 339–395.

    Google Scholar 

  12. Kutzler, B. (1988). Algebraic Approaches to Automated Geometry Theorem Proving. Ph.D. thesis, RISCLINZ, Johannes Kepler Univ., Austria.

    Google Scholar 

  13. Landau, S. (1992). Simplification of nested radicals. SIAM Journal of Computing 21(1): 85–110.

    Google Scholar 

  14. Pesant, G., Boyer, M. (1994). Quad-Clp(R): Adding the power of quadratic constraints. Proceedings of the Second Workshop on Principles and Practice of Constraint Programming (PPCP'94).

  15. Pesant, G. (1995). Une approche géométrique aux contraintes arithmétiques quadratiques en programmation logique avec contraintes, Thèse de l'Université de Montréal.

  16. Wu, W-T. (1994). Mechanical Theorem Proving in Geometries. Springer-Verlag Wien New-York.

    Google Scholar 

  17. Zippel, R. (1985). Simplification of expressions involving radicals. J. Symbolic Computation 1.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bouhineau, D., Trilling, L. & Cohen, J. An Application of CLP: Checking the Correctness of Theorems in Geometry. Constraints 4, 383–405 (1999). https://doi.org/10.1023/A:1009825124248

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1009825124248

Navigation