## 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

## Notes

- 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.
We consider here both the proof of a mathematical proposition and that of an algorithm or program fulfilling its specification.

- 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.
*Desperately seeking software perfection*, Xavier Leroy, Colloquium d’informatique, UPMC, Paris France, October 2015. - 5.
- 6.
“What You See Is What You Get”.

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

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

- 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.
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.
A finite collection for our purposes.

- 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.
Of course there are good heuristics for specific deductive systems but this departs from the approach of this paper.

- 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.
Backus-Naur Form.

- 16.
- 17.
The guardeness condition of Coq.

- 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.
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.
- 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.Appel, K., and W. Haken (1976). Every Planar Map is Four Colorable.

*Bulletin of the American Mathematical Society*82(5): 711–712.Asperti, A., H. Geuvers, and R. Natarajan (2009) Social processes, program verification and all that.

*Mathematical Structures in Computer Science*19(5): 877–896.Avigad, J. (2008). Understanding proofs.

*The Philosophy of Mathematical Practice*, 317–353. Oxford: Oxford University Press.Avigad, J. (2010). Understanding, formal verification, and the philosophy of mathematics.

*Journal of the Indian Council of Philosophical Research*27: 161–197.Avigad, J. (2019). A Formalization of the Mutilated Chessboard Problem. http://www.andrew.cmu.edu/user/avigad/Papers/mutilated.pdf

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

Black, M. (1946).

*Critical Thinking an Introduction to Logic and Scientific Method*. Hoboken: Prentice-Hall.Böhne, S. (2019).

*Different Degrees of Formality*. Ph.D. Thesis, University of Potsdam, Faculty of Science.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.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.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/sfChlipala, A. (2013).

*Certified Programming with Dependent Types - A Pragmatic Introduction to the Coq Proof Assistant*. Cambridge: MIT Press.Coen, C.S. (2010). Declarative Representation of Proof Terms.

*Journal of Automated Reasoning*44(1–2): 25–52.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.Coquand, T., and G. Huet (1988). The Calculus of Constructions.

*Information and Computation*76(2–3): 95–120.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.Dawson, J.W. (2015).

*Why Prove it Again? Alternative Proofs in Mathematical Practice*. Berlin: Springer.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.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.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.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.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.Eccles, P.J. (2012).

*An Introduction to Mathematical Reasoning*. Cambridge: Cambridge University Press.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.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.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.Gabbay, D.M., and N. Olivetti (2014).

*Goal-Directed Proof Theory*. Berlin: Springer.Ganesalingam, M., and Gowers, W. T. (2017). A Fully Automatic Theorem Prover with Human-Style Output.

*Journal of Automated Reasoning*58: 253–291.Geuvers, H. (2009). Proof Assistants: History, Ideas and Future.

*Sadhana*34: 3–25.Gonthier, G. (2008). The Four Colour Theorem: Engineering of a Formal Proof. In

*Computer Mathematics*, ed. D. Kapur, 333. Berlin: Springer.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.Gonthier, G., and A. Mahboubi (2010). An Introduction to Small Scale Reflection in Coq.

*Journal of Formalized Reasoning*3(2): 95–152.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.Gordon, M.J.C., R. Milner, and C.P. Wadsworth (1979).

*Edinburgh LCF*. Lecture Notes in Computer Science, vol. 78. Berlin: Springer.Hacking, I. (2014).

*Why Is There Philosophy of Mathematics at All?*Cambridge: Cambridge University Press.Hakli, R., and S. Negri (2012). Does the Deduction Theorem Fail for Modal Logic?

*Synthese*187(3): 849–867.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.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.Harrison, J. (2006). Towards Self-Verification of HOL Light. In

*Automated Reasoning*, 177–191. Berlin: Springer.Harrison, J. (2009).

*Handbook of Practical Logic and Automated Reasoning*, 1st edn. New York: Cambridge University Press.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.Huet, G. (1996). The Mutilated Checkerboard Problem. https://github.com/coq-contribs/checker.

Huth, M., and M. Ryan (2004).

*Logic in Computer Science: Modelling and Reasoning About Systems*. New York: Cambridge University Press.Kanger, S. (1957).

*Provability in Logic*. Acta Universitatis Stockholmiensis. Stockholm Studies in Philosophy, vol. 1. Stockholm: Almqvist & Wiksell.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.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.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.Kerber, M., and M. Pollet (2006). A Tough Nut for Mathematical Knowledge Management. In

*Mathematical Knowledge Management*, ed. M. Kohlhase, 81–95. Berlin: Springer.Krantz, S.G. (2007).

*The Proof is in the Pudding*. Berlin: Springer.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.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.Lamport, L. (2002).

*Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers*. Boston: Addison-Wesley.Lamport, L. (2012). How to Write a 21st Century Proof.

*Journal of Fixed Point Theory and Applications*11: 43–63.Leitsch, A. (1997).

*The Resolution Calculus*. Texts in Theoretical Computer Science. An EATCS Series. Berlin: Springer.Leroy, X. (2009). Formal Verification of a Realistic Compiler.

*Communications of the ACM*52(7): 107–115.Leroy, X. (2018). Trust in Compilers, Code Generators, and Software Verification Tools. https://xavierleroy.org/talks/ERTS2018.pdf

MacKenzie, D. (2001).

*Mechanizing Proof: Computing, Risk, and Trust*. Cambridge: MIT Press.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.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.McCarthy, J. (1995). The Mutilated Checkerboard in Set Theory. http://www-formal.stanford.edu/jmc/checkerboard.html

Mccune, W. (1997). Solution of the Robbins Problem.

*Journal of Automated Reasoning*19: 263–276.Mendelson, E. (2009).

*Introduction to Mathematical Logic*, 5th edn. London: Chapman & Hall/CRC.Milner, R. (1972). Logic for Computable Functions: Description of a Machine Implementation. Technical Report, Stanford University, Stanford.

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.

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.Norell, U. (2009).

*Dependently Typed Programming in Agda*, 230–266. Berlin: Springer.Paulson, L.C. (1990).

*Logic and Computation: Interactive Proof with Cambridge LCF*. Cambridge Tracts in Theoretical Computer Science, vol. 2. Cambridge: Cambridge University Press.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.Picard, C., and R. Matthes. (2011). Coinductive Graph Representation: The Problem of Embedded Lists.

*Electronic Communications of the EASST*, 39.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.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.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.Saucez, D., L. Iannone, and O. Bonaventure (2019). Evaluating the Artifacts of Sigcomm Papers.

*SIGCOMM Computer Communication Review*49(2): 44–47.Sieg, W., and J. Byrnes (1998). Normal Natural Deduction Proofs (in Classical Logic).

*Studia Logica*, 60(1): 67–106.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.Solow, D. (2013).

*How to Read and Do Proofs: An Introduction to Mathematical Thought Processes*, 6th edn. Hoboken: Wiley.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.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.Turner, R. (2018).

*Computational Artifacts - Towards a Philosophy of Computer Science*. Berlin: Springer.Tymoczko, T. (1979). The Four-Color Problem and its Philosophical Significance.

*The Journal of Philosophy*76(2): 57–83.Velleman, D.J. (2006).

*How to Prove it: A Structured Approach*. Cambridge: Cambridge University Press.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.

von Plato, J. (2014).

*Elements of Logical Reasoning*. Cambridge: Cambridge University Press.Wenzel, M. (2002).

*Isabelle, Isar - A Versatile Environment for Human Readable Formal Proof Documents*. Ph.D. Thesis, Technical University Munich.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.Wiedijk, F. (2012). A Synthesis of the Procedural and Declarative Styles of Interactive Theorem Proving.

*Logical Methods Computer Science*8(1): 1–26.

## 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

### Corresponding author

## 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

## Copyright information

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

## About this paper

### 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

DOI: https://doi.org/10.1007/978-3-030-75267-5_3

Published:

Publisher Name: Springer, Cham

Print ISBN: 978-3-030-75266-8

Online ISBN: 978-3-030-75267-5

eBook Packages: Religion and PhilosophyPhilosophy and Religion (R0)