Skip to main content Accesibility Help

Implementing the cylindrical algebraic decomposition within the Coq system


The Coq system is a Curry–Howard based proof assistant. Therefore, it contains a full functional, strongly typed programming language, which can be used to enhance the system with powerful automation tools through the implementation of reflexive tactics. We present the implementation of a cylindrical algebraic decomposition algorithm within the Coq system, whose certification leads to a proof producing decision procedure for the first-order theory of real numbers.

Hide All
Allen, S. F., Constable, R. L., Constable, L., Howe, D. J. and Aitken, W. (1990) The Semantics of Reflected Proof. Proceedings of the 5th Symposium on Logic in Computer Science (LICS), IEEE Computer Society Press.
Avigad, J., Donnelly, K., Gray, D. and Raff, P. (2005) A Formally Verified Proof of the Prime Number Theorem. To appear in the ACM Transactions on Computational Logic. (Available at
Barthe, G., Capretta, V. and Pons, O. (2003) Setoids in Type Theory. Journal of Functional Programming 13 (2)261293.
Basu, S., Pollack, R. and Roy, M. (2003) Algorithms in Real Algebraic Geometry. Algorithms and Computation in Mathematics 10, Springer-Verlag. (Draft of the second version available at
Bertot, Y. and Casteran, P. (2004) Interactive Theorem Proving and Program Development. Coq'Art: The Calculus of Inductive Constructions, Texts in Theoretical Computer Science, an EATCS Series, Springer-Verlag.
Bronstein, M. et al. (2004) AXIOM – The Scientific Computation System. (Homepage:
Brown, C. W. (2004) QEPCAD. (Homepage:
Brown, C. W. (2003) QEPCAD B: a Program for Computing with Semi-Algebraic Sets using CADs. SIGSAM Bull. 37 (4)97108.
Caviness, B. and Johnson, J. (eds.) (1998) Quantifier Elimination and Cylindrical Algebraic Decomposition, Texts and monographs in symbolic computation, Springer-Verlag.
Collins, G. E. (1975) Quantifier Elimination for the Elementary Theory of Real Closed Fields by Cylindrical Algebraic Decomposition. Springer-Verlag Lecture Notes in Computer Science 33 134183.
Collins, G. E. and Hong, H. (1991) Partial Cylindrical Algebraic Decomposition for Quantifier Elimination. Journal of Symbolic Computation 12 (3)299328.
Delahaye, D. (2002) A Proof Dedicated Meta-Language. In: Proceedings of Logical Frameworks and Meta-Languages (LFM), Copenhagen (Denmark). Electronic Notes in Theoretical Computer Science 70 (2).
Delahaye, D. and Mayero, M. (2005) Quantifier Elimination over Algebraically Closed Fields in a Proof Assistant using a Computer Algebra System. In: Proceedings of Calculemus 2005.
Dolzmann, A., Seidl, A. and Sturm, T. (2004) Efficient Projection Orders for CAD. In: Gutierrez, J. (ed.) Proceedings of the ISSAC 2004, ACM Press 111118.
Dolzmann, A. and Sturm, T. (1997) Redlog: Computer Algebra meets Computer Logic. SIGSAM Bull 31 (2).
Dolzmann, A., Sturm, T. and Weispfenning, V. (1998) A New Approach for Automatic Theorem Proving in Real Geometry. Journal of Automated Reasoning 21 357380.
Grégoire, B. and Leroy, X. (2002) A Compiled Implementation of Strong Reduction. In: International Conference on Functional Programming 2002, ACM Press 235246.
Grégoire, B. and Mahboubi, A. (2005) Proving Equalities in a Commutative Ring Done Right in Coq. In: Proceedings of the TPHOLs 2005, Springer-Verlag 98113.
Grégoire, B. and Théry, L. (2006) Certifying Large Prime Numbers: a purely functional library for modular arithmetic To appear in Proceedings of IJCAR06. (Available at http://gforge.inria/projects/coqprime/)
Harrison, J. and Théry, L. (1998) A Skeptic's Approach to Combining HOL and Maple. Journal of Automated Reasoning 21 279294.
Hörmander, L. (2003) The Analysis of Linear Partial Differential Operators (II), Grundlehren der Mathematischen Wissenschaften 257, Springer-Verlag.
Mahboubi, A. (2006) Proving Formally the Implementation of an Efficient GCD Algorithm for Polynomials. To appear in Proceedings of IJCAR06.
Mahboubi, A. and Pottier, L. (2002) Elimination des Quantificateurs sur les Réels en Coq. In: Journées Françaises des Languages Applicatifs.
McLaughlin, S. and Harrison, J. (2005) A Proof-Producing Decision Procedure for Real Arithmetic. In: CADE 295314.
Niqui, M. and Bertot, Y. (2003) Qarith: Coq Formalisation of Lazy Rational Arithmetic. In: TYPES 2003. Springer-Verlag Lecture Notes in Computer Science 3839309323.
Palmgren, E. (2002) An Intuitionistic Axiomatisation of Real Closed Fields. Mathematical Logic Quarterly 48 (2)297299.
Sacerdoti, C. (2006) A Semi-reflexive Tactic for (Sub-)Equational Reasoning. In: TYPES 2004. Springer-Verlag Lecture Notes in Computer Science 383998114.
Strzebonski, A. (2004) Cylindrical Algebraic Decomposition. In: MathWorld – A Wolfram Web Resource, created by Eric W. Weisstein. (Available at
Tarski, A. (1948) A Decision Method for Elementary Algebra and Geometry, The RAND Corporation, Santa Monica, U.S. Air Force Project RAND, R-109.
The Coq Development Team (2004) The Coq Proof Assistant Reference Manual Version 8.0, Institut National de Recherche en Informatique et en Automatique. (Available at
Théry, L. (2001) A Machine-Checked Implementation of Buchberger's Algorithm. Journal of Automated Reasoning 26 107137.
von zur Gathen, J. and Lücking, T. (2003) Subresultants Revisited. Theoretical Computer Science 297 199239.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed