Skip to main content

On the Conciliation of Traditional and Computer-Assisted Proofs

  • 61 Accesses

Part of the Philosophical Studies Series book series (PSSP,volume 143)

Abstract

A proof of a mathematical proposition or a program specification obtained by a formal verification process, using an interactive theorem prover, can be questioned as a true demonstration or as having the same purposes of a traditional pencil-and-paper proof. However, in our opinion the verification process of a software component exhibits the same construction phases as a purely mathematical one. A correspondence between both kinds of proofs enables us to give a proposal of what we call transitional proofs, a concept that outlines a conciliation between traditional paper-and-pencil and computer-assisted proofs, which can be useful in philosophical problems surrounding formalized mathematics and program verification with proof-assistants.

Keywords

  • Formal methods
  • Program verification
  • Computer-assisted proof
  • Transitional proof
  • Backward proof

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-030-75267-5_3
  • Chapter length: 40 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   139.00
Price excludes VAT (USA)
  • ISBN: 978-3-030-75267-5
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Hardcover Book
USD   179.99
Price excludes VAT (USA)
Fig. 3.1

Notes

  1. 1.

    An example is the symbol for “such that” outside a set definition, which may be a colon : , but also a kind of inverted epsilon \(\backepsilon \), and their usage is certainly non standard.

  2. 2.

    We consider here both the proof of a mathematical proposition and that of an algorithm or program fulfilling its specification.

  3. 3.

    Let us emphasize that we are giving a summary of Turner’s ideas, and as pointed by two anonymous referees this claim is most likely to be false, for is common for automated proofs to reveal faulty specifications that must be changed.

  4. 4.

    Desperately seeking software perfection, Xavier Leroy, Colloquium d’informatique, UPMC, Paris France, October 2015.

  5. 5.

    https://coq.inria.fr/.

  6. 6.

    “What You See Is What You Get”.

  7. 7.

    The direct way of implementing a forward reasoning step is by the backward reading of the cut rule, see page 93.

  8. 8.

    Either of a single self-contained proposition or of a more ambitious theorem requiring the development of several auxiliary results.

  9. 9.

    For instance by first proving r ⋅ r < r as an auxiliary lemma or at the beginning of the proof as in Theorem 5.

  10. 10.

    A typical example of this scenario arises in Group Theory where the simplicity of the alternating group A 5 can be proved either by a direct argument or as an application of the Sylow Theorems.

  11. 11.

    A finite collection for our purposes.

  12. 12.

    Please note that this is a general train of thought and does not refer to the specific deductive system in Sect. 3.5.

  13. 13.

    Of course there are good heuristics for specific deductive systems but this departs from the approach of this paper.

  14. 14.

    The full Coq development of our article González-Huesca et al. (2019) is available in https://bitbucket.org/luglzhuesca/mlogic-formalverif/src/master/S4.

  15. 15.

    Backus-Naur Form.

  16. 16.

    In González-Huesca et al. (2019) we proved the full equivalence between axiomatic (with the multiplicative style) and natural deduction systems for constructive S4. For a deep analysis of multiplicative and additive systems, the reader may consult (Plato 2014).

  17. 17.

    The guardeness condition of Coq.

  18. 18.

    Although sometimes it is easier to get a proof by modifying the proposition in a way that the original idea remains as a corollary of the new statement.

  19. 19.

    This means that the system that solved the problem, namely EQP, is a fully automated system. However, the full non-interactive proof was developed during 5 weeks but the development project that lead to the implementation of the EQP prover took 10 years. Thus, an interesting question would be to discuss, knowing this long effort from a research team, to what extent the final proof of the Robbins Conjecture can be considered as fully automated.

  20. 20.

    http://blogs.scientificamerican.com/guest-blog/2013/10/01/voevodskys-mathematical-revolution/.

  21. 21.

    See the summary of changes of Coq’s versions 8.X after the major revision of the development https://coq.inria.fr/distrib/current/refman/changes.html#recent-changes.

References

  • Anand, A., and V. Rahli (2014). Towards a Formally Verified Proof Assistant. In Interactive Theorem Proving, 27–44. Cham: Springer.

    CrossRef  Google Scholar 

  • Appel, K., and W. Haken (1976). Every Planar Map is Four Colorable. Bulletin of the American Mathematical Society 82(5): 711–712.

    CrossRef  Google Scholar 

  • Asperti, A., H. Geuvers, and R. Natarajan (2009) Social processes, program verification and all that. Mathematical Structures in Computer Science 19(5): 877–896.

    CrossRef  Google Scholar 

  • Avigad, J. (2008). Understanding proofs. The Philosophy of Mathematical Practice, 317–353. Oxford: Oxford University Press.

    Google Scholar 

  • Avigad, J. (2010). Understanding, formal verification, and the philosophy of mathematics. Journal of the Indian Council of Philosophical Research 27: 161–197.

    Google Scholar 

  • Avigad, J. (2019). A Formalization of the Mutilated Chessboard Problem. http://www.andrew.cmu.edu/user/avigad/Papers/mutilated.pdf

    Google Scholar 

  • Barras, B., and B. Werner (1997). Coq in Coq. Technical Report.

    Google Scholar 

  • Black, M. (1946). Critical Thinking an Introduction to Logic and Scientific Method. Hoboken: Prentice-Hall.

    Google Scholar 

  • Böhne, S. (2019). Different Degrees of Formality. Ph.D. Thesis, University of Potsdam, Faculty of Science.

    Google Scholar 

  • Böhne, S., and C. Kreitz (2017). Learning How to Prove: From the Coq Proof Assistant to Textbook Style. In Proceedings 6th International Workshop on Theorem Proving Components for Educational Software, ThEdu@CADE 2017, Gothenburg, Sweden, 6 Aug 2017, eds. P. Quaresma, and W. Neuper. Electronic Proceedings in Theoretical Computer Science, vol. 267, 1–18.

    CrossRef  Google Scholar 

  • Bundy, A., M. Atiyah, A. Macintyre, and D. Mackenzie (2005). The Nature of Mathematical Proof. Philosophical Transactions of the Royal Society A 363(1835): 2461.

    CrossRef  Google Scholar 

  • Chargueraud, A. (2018). Theory and Practice of Automation in Coq Proofs. Software Foundations Series, vol. 2. Electronic Textbook. Version 5.5. http://www.cis.upenn.edu/~bcpierce/sf

  • Chlipala, A. (2013). Certified Programming with Dependent Types - A Pragmatic Introduction to the Coq Proof Assistant. Cambridge: MIT Press.

    Google Scholar 

  • Coen, C.S. (2010). Declarative Representation of Proof Terms. Journal of Automated Reasoning 44(1–2): 25–52.

    CrossRef  Google Scholar 

  • Comar, C., J. Kanig, and Y. Moy (2012). Integration von formaler Verifikation und Test. In Automotive - Safety & Security 2012, Sicherheit und Zuverlässigkeit für Automobile Informationstechnik, 14.-15. November 2012, Karlsruhe, Proceedings, eds. E. Plödereder, P. Dencker, H. Klenk, H.B. Keller, and S. Spitzer. Lecture Notes in Informatics, vol. P-210, 133–148. GI.

    Google Scholar 

  • Coquand, T., and G. Huet (1988). The Calculus of Constructions. Information and Computation 76(2–3): 95–120.

    CrossRef  Google Scholar 

  • Corbineau, P. (2008). A Declarative Language for the Coq Proof Assistant. In Types for Proofs and Programs, eds. M. Miculan, I. Scagnetto, and F. Honsell, 69–84. Berlin: Springer.

    CrossRef  Google Scholar 

  • Dawson, J.W. (2015). Why Prove it Again? Alternative Proofs in Mathematical Practice. Berlin: Springer.

    CrossRef  Google Scholar 

  • De Millo, R.A., R.J. Lipton, and A.J. Perlis (1979). Social Processes and Proofs of Theorems and Programs. Communications of the ACM 22(5): 271–280.

    CrossRef  Google Scholar 

  • De Mol, L. (2014). The Proof is in the Process: A Preamble for a Philosophy of Computer-Assisted Mathematics. In New Directions in the Philosophy of Science, 15–33. Berlin: Springer.

    Google Scholar 

  • De Mol, L. (2015). Some Reflections on Mathematics and its Relation to Computer Science. In Automata, Universality, Computation: Tribute to Maurice Margenstern, ed. A. Adamatzky, 75–101. Cham: Springer.

    Google Scholar 

  • Delahaye, D. (2000). A Tactic Language for the System Coq. In Proceedings of the 7th International Conference on Logic for Programming and Automated Reasoning, LPAR’00, 85–95. Berlin: Springer.

    CrossRef  Google Scholar 

  • Ebner, G. S. Ullrich, J. Roesch, J. Avigad, and L. de Moura (2017). A Metaprogramming Framework for Formal Verification. Proceedings of the ACM on Programming Languages 1(ICFP): 1–29.

    Google Scholar 

  • Eccles, P.J. (2012). An Introduction to Mathematical Reasoning. Cambridge: Cambridge University Press.

    Google Scholar 

  • Ekici, B., A. Mebsout, C. Tinelli, C. Keller, G. Katz, A. Reynolds, and C. Barrett. (2017). SMTCoq: A Plug-in for Integrating SMT Solvers into Coq. In Computer Aided Verification - 29th International Conference. Heidelberg: Springer.

    Google Scholar 

  • Ferrari, M., and C. Fiorentini (2015). Proof-Search in Natural Deduction Calculus for Classical Propositional Logic. In Automated Reasoning with Analytic Tableaux and Related Methods: 24th International Conference, TABLEAUX 2015, Wroclaw, Poland, September 21–24, 2015, Proceedings, ed. H. De Nivelle, 237–252. Berlin: Springer.

    CrossRef  Google Scholar 

  • Filliâtre, J.-C., and A. Paskevich (2013). Why3—Where Programs Meet Provers. In Programming Languages and Systems, eds. M. Felleisen and P. Gardner, 125–128. Berlin: Springer.

    CrossRef  Google Scholar 

  • Gabbay, D.M., and N. Olivetti (2014). Goal-Directed Proof Theory. Berlin: Springer.

    Google Scholar 

  • Ganesalingam, M., and Gowers, W. T. (2017). A Fully Automatic Theorem Prover with Human-Style Output. Journal of Automated Reasoning 58: 253–291.

    CrossRef  Google Scholar 

  • Geuvers, H. (2009). Proof Assistants: History, Ideas and Future. Sadhana 34: 3–25.

    CrossRef  Google Scholar 

  • Gonthier, G. (2008). The Four Colour Theorem: Engineering of a Formal Proof. In Computer Mathematics, ed. D. Kapur, 333. Berlin: Springer.

    Google Scholar 

  • Gonthier, G., A. Asperti, J. Avigad, Y. Bertot, C. Cohen, F. Garillot, S. Le Roux, A. Mahboubi, R. O’Connor, S. Ould Biha, I. Pasca, L. Rideau, A. Solovyev, E. Tassi, and L. Théry (2013). A Machine-Checked Proof of the Odd Order Theorem. In Interactive Theorem Proving, eds. S. Blazy, C. Paulin-Mohring, and D. Pichardie, 163–179. Berlin: Springer.

    CrossRef  Google Scholar 

  • Gonthier, G., and A. Mahboubi (2010). An Introduction to Small Scale Reflection in Coq. Journal of Formalized Reasoning 3(2): 95–152.

    Google Scholar 

  • González-Huesca, L.d.C., F.E. Miranda-Perea, and P.S. Linares-Arévalo (2019). Axiomatic and Dual Systems for Constructive Necessity, a Formally Verified Equivalence. Journal of Applied Non-Classical Logics 29(3): 255–287.

    Google Scholar 

  • Gordon, M.J.C., R. Milner, and C.P. Wadsworth (1979). Edinburgh LCF. Lecture Notes in Computer Science, vol. 78. Berlin: Springer.

    Google Scholar 

  • Hacking, I. (2014). Why Is There Philosophy of Mathematics at All? Cambridge: Cambridge University Press.

    CrossRef  Google Scholar 

  • Hakli, R., and S. Negri (2012). Does the Deduction Theorem Fail for Modal Logic? Synthese 187(3): 849–867.

    CrossRef  Google Scholar 

  • Hales, T.C. (2006). Introduction to the Flyspeck Project. In Mathematics, Algorithms, Proofs, eds. T. Coquand, H. Lombardi, and M.-F. Roy. Dagstuhl Seminar Proceedings, Dagstuhl, Germany, no. 05021. Internationales Begegnungs- und Forschungszentrum f”ur Informatik (IBFI), Schloss Dagstuhl.

    Google Scholar 

  • Harrison, J. (1996). Proof Style. In Types for Proofs and Programs: International Workshop TYPES’96, eds. E. Giménez and C. Paulin-Mohring. Lecture Notes in Computer Science, vol. 1512, 154–172, Aussois: Springer.

    Google Scholar 

  • Harrison, J. (2006). Towards Self-Verification of HOL Light. In Automated Reasoning, 177–191. Berlin: Springer.

    CrossRef  Google Scholar 

  • Harrison, J. (2009). Handbook of Practical Logic and Automated Reasoning, 1st edn. New York: Cambridge University Press.

    CrossRef  Google Scholar 

  • Holmström-Hintikka, G., S. Lindström, and R. Sliwinski (eds.) (2001). Collected Papers of Stig Kanger with Essays on His Life and Work. Synthese Library, vol. 303, 1st edn. Cham: Springer.

    Google Scholar 

  • Huet, G. (1996). The Mutilated Checkerboard Problem. https://github.com/coq-contribs/checker.

    Google Scholar 

  • Huth, M., and M. Ryan (2004). Logic in Computer Science: Modelling and Reasoning About Systems. New York: Cambridge University Press.

    CrossRef  Google Scholar 

  • Kanger, S. (1957). Provability in Logic. Acta Universitatis Stockholmiensis. Stockholm Studies in Philosophy, vol. 1. Stockholm: Almqvist & Wiksell.

    Google Scholar 

  • Kanger, S. (1963). A Simplified Proof Method for Elementary Logic. In Computer Programming and Formal Systems, eds. P. Braffort and D. Hirschberg. Studies in Logic and the Foundations of Mathematics, 87–94. Amsterdam: North-Holland.

    Google Scholar 

  • Kanger, S. (1970). Equational Calculi and Automatic Demonstration. In Logic and Value: Essays Dedicated to Thorild Dahlquist on His Fiftieth Birthday, ed. T. Pauli. Filosofiska studier utgivna av Filosofiska fOreningen oeh Filosofiska institutionen vid Uppsala universitet 9, Uppsala, 220–226.

    Google Scholar 

  • Keller, C. (2013). A Matter of Trust: Skeptical Communication Between Coq and External Provers. (Question de Confiance: Communication Sceptique Entre Coq et des Prouveurs Externes). Ph.D. Thesis, École Polytechnique, Palaiseau.

    Google Scholar 

  • Kerber, M., and M. Pollet (2006). A Tough Nut for Mathematical Knowledge Management. In Mathematical Knowledge Management, ed. M. Kohlhase, 81–95. Berlin: Springer.

    CrossRef  Google Scholar 

  • Krantz, S.G. (2007). The Proof is in the Pudding. Berlin: Springer.

    Google Scholar 

  • Kumar, R., R. Arthan, M.O. Myreen, and S. Owens. (2016). Self-formalisation of Higher-Order Logic. Journal of Automated Reasoning, 56(3): 221–259.

    CrossRef  Google Scholar 

  • Lamport, L. (1995). How to Write a Proof. American Mathematical Monthly. Also appeared in Global Analysis in Modern Mathematics, Karen Uhlenbeck, editor. Publish or Perish Press, Houston. Also appeared as SRC Research Report 94. 102(7): 600–608.

    Google Scholar 

  • Lamport, L. (2002). Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers. Boston: Addison-Wesley.

    Google Scholar 

  • Lamport, L. (2012). How to Write a 21st Century Proof. Journal of Fixed Point Theory and Applications 11: 43–63.

    CrossRef  Google Scholar 

  • Leitsch, A. (1997). The Resolution Calculus. Texts in Theoretical Computer Science. An EATCS Series. Berlin: Springer.

    CrossRef  Google Scholar 

  • Leroy, X. (2009). Formal Verification of a Realistic Compiler. Communications of the ACM 52(7): 107–115.

    CrossRef  Google Scholar 

  • Leroy, X. (2018). Trust in Compilers, Code Generators, and Software Verification Tools. https://xavierleroy.org/talks/ERTS2018.pdf

    Google Scholar 

  • MacKenzie, D. (2001). Mechanizing Proof: Computing, Risk, and Trust. Cambridge: MIT Press.

    CrossRef  Google Scholar 

  • Mahboubi, A., and E. Tassi (2018). Mathematical Components. https://math-comp.github.io/mcb/

  • Manin, Y.I. (2010). A Course in Mathematical Logic for Mathematicians. Graduate Texts in Mathematics, vol. 53. New York: Springer.

    Google Scholar 

  • McAllister, J.W. (2005). Mathematical Beauty and the Evolution of the Standards of Mathematical Proof. In The Visual Mind II, 15–34. Cambridge: MIT Press.

    Google Scholar 

  • McCarthy, J. (1995). The Mutilated Checkerboard in Set Theory. http://www-formal.stanford.edu/jmc/checkerboard.html

    Google Scholar 

  • Mccune, W. (1997). Solution of the Robbins Problem. Journal of Automated Reasoning 19: 263–276.

    CrossRef  Google Scholar 

  • Mendelson, E. (2009). Introduction to Mathematical Logic, 5th edn. London: Chapman & Hall/CRC.

    Google Scholar 

  • Milner, R. (1972). Logic for Computable Functions: Description of a Machine Implementation. Technical Report, Stanford University, Stanford.

    CrossRef  Google Scholar 

  • Miranda-Perea, F.E., P. Selene Linares-Arévalo, and A. Aliseda-Llera (2015). How to Prove it in Natural Deduction: A Tactical Approach. CoRR, abs/1507.03678.

    Google Scholar 

  • Moy, Y., E. Ledinot, H. Delseny, V. Wiels, and B. Monate (2013). Testing or Formal Verification: Do-178c Alternatives and Industrial Experience. IEEE Software, 30(3): 50–57.

    CrossRef  Google Scholar 

  • Norell, U. (2009). Dependently Typed Programming in Agda, 230–266. Berlin: Springer.

    Google Scholar 

  • Paulson, L.C. (1990). Logic and Computation: Interactive Proof with Cambridge LCF. Cambridge Tracts in Theoretical Computer Science, vol. 2. Cambridge: Cambridge University Press.

    Google Scholar 

  • Pfenning, F., and C. Paulin-Mohring (1989). Inductively Defined Types in the Calculus of Constructions. In Proceedings of the 5th International Conference on Mathematical Foundations of Programming Semantics, 209–228. Berlin: Springer.

    Google Scholar 

  • Picard, C., and R. Matthes. (2011). Coinductive Graph Representation: The Problem of Embedded Lists. Electronic Communications of the EASST, 39.

    Google Scholar 

  • Picard, C., and R. Matthes. (2012). Permutations in Coinductive Graph Representation. In Coalgebraic Methods in Computer Science - 11th International Workshop, CMCS 2012, Colocated with ETAPS 2012, Tallinn, Estonia, March 31 - April 1, 2012, Revised Selected Papers, eds. D. Pattinson and L. Schröder. Lecture Notes in Computer Science, vol. 7399, 218–237. Berlin: Springer.

    Google Scholar 

  • Pollack, R. (1997). How to Believe a Machine-Checked Proof. In Twenty Five Years of Constructive Type Theory, eds. G. Sambin and J. Smith. Oxford: Oxford University Press.

    Google Scholar 

  • Robinson, J.A. (2000). Proof = Guarantee + Explanation. In Intellectics and Computational Logic (to Wolfgang Bibel on the Occasion of His 60th Birthday), ed. Hölldobler, S., vol. 19. Applied Logic Series, 277–294. Amsterdam: Kluwer.

    Google Scholar 

  • Saucez, D., L. Iannone, and O. Bonaventure (2019). Evaluating the Artifacts of Sigcomm Papers. SIGCOMM Computer Communication Review 49(2): 44–47.

    CrossRef  Google Scholar 

  • Sieg, W., and J. Byrnes (1998). Normal Natural Deduction Proofs (in Classical Logic). Studia Logica, 60(1): 67–106.

    CrossRef  Google Scholar 

  • Sieg, W., and S. Cittadini (2005). Normal Natural Deduction Proofs (in Non-classical Logics). In Mechanizing Mathematical Reasoning, Essays in Honor of Jörg H. Siekmann on the Occasion of His 60th Birthday, 169–191.

    Google Scholar 

  • Solow, D. (2013). How to Read and Do Proofs: An Introduction to Mathematical Thought Processes, 6th edn. Hoboken: Wiley.

    Google Scholar 

  • Sozeau, M., S. Boulier, Y. Forster, N. Tabareau, and T. Winterhalter (2019). Coq Coq Correct! Verification of Type Checking and Erasure for Coq, in Coq. Proceedings of the ACM on Programming Languages 4(POPL): 1–28.

    Google Scholar 

  • The Coq Development Team (2020). The Coq Proof Assistant Reference Manual Version 8.11. https://coq.github.io/doc/v8.11/refman/

  • Thiele, R., and L. Wos (2002). Hilbert’s Twenty-Fourth Problem. Journal of Automated Reasoning 29(1): 67–89.

    CrossRef  Google Scholar 

  • Turner, R. (2018). Computational Artifacts - Towards a Philosophy of Computer Science. Berlin: Springer.

    CrossRef  Google Scholar 

  • Tymoczko, T. (1979). The Four-Color Problem and its Philosophical Significance. The Journal of Philosophy 76(2): 57–83.

    CrossRef  Google Scholar 

  • Velleman, D.J. (2006). How to Prove it: A Structured Approach. Cambridge: Cambridge University Press.

    CrossRef  Google Scholar 

  • Voevodsky, V. (2010). Univalent Foundations Project (A Modified Version of an NSF Grant Application), Unpublished. http://www.math.ias.edu/vladimir/files/univalent_foundations_project.pdf.

    Google Scholar 

  • von Plato, J. (2014). Elements of Logical Reasoning. Cambridge: Cambridge University Press.

    Google Scholar 

  • Wenzel, M. (2002). Isabelle, Isar - A Versatile Environment for Human Readable Formal Proof Documents. Ph.D. Thesis, Technical University Munich.

    Google Scholar 

  • Wenzel, M., L.C. Paulson, and T. Nipkow (2008). The Isabelle Framework. In Theorem Proving in Higher Order Logics, eds. O.A. Mohamed, C. Muñoz, and S. Tahar, 33–38. Berlin: Springer.

    CrossRef  Google Scholar 

  • Wiedijk, F. (2012). A Synthesis of the Procedural and Declarative Styles of Interactive Theorem Proving. Logical Methods Computer Science 8(1): 1–26.

    CrossRef  Google Scholar 

Download references

Acknowledgements

This research has been funded by UNAM DGAPA PAPIIT grant IN119920. The authors would like to thank two anonymous referees as well as the volume editors for many helpful comments to improve the contents of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Favio E. Miranda-Perea .

Editor information

Editors and Affiliations

Appendix: CAP Counterparts for No Natural Between 0 and 1

Appendix: CAP Counterparts for No Natural Between 0 and 1

This appendix shows the Coq proofs for the different versions of the non-existence of a natural number between 0 and 1, discussed in Sect. 3.3.

Rights and permissions

Reprints and Permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

E. Miranda-Perea, F., Huesca, L.d.C.G. (2022). On the Conciliation of Traditional and Computer-Assisted Proofs. In: Lundgren, B., Nuñez Hernández, N.A. (eds) Philosophy of Computing. Philosophical Studies Series, vol 143. Springer, Cham. https://doi.org/10.1007/978-3-030-75267-5_3

Download citation