Sadhana

, Volume 34, Issue 1, pp 3–25 | Cite as

Proof assistants: History, ideas and future

Article

Abstract

In this paper I will discuss the fundamental ideas behind proof assistants: What are they and what is a proof anyway? I give a short history of the main ideas, emphasizing the way they ensure the correctness of the mathematics formalized. I will also briefly discuss the places where proof assistants are used and how we envision their extended use in the future. While being an introduction into the world of proof assistants and the main issues behind them, this paper is also a position paper that pushes the further use of proof assistants. We believe that these systems will become the future of mathematics, where definitions, statements, computations and proofs are all available in a computerized form. An important application is and will be in computer supported modelling and verification of systems. But there is still a long road ahead and I will indicate what we believe is needed for the further proliferation of proof assistants.

Keywords

Proof assistant verification logic software correctness formalized mathematics 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ACL2: A Computational Logic/Applicative Common Lisp. http://www.cs.utexas.edu/moore/acl2/Agda: An interactive proof editor. http://agda.sf.net
  2. Aigner, Ziegler M G 2004 Proofs from THE BOOK, 3rd ed., SpringerGoogle Scholar
  3. Alur R, Dang T, Ivancic F 2006 Predicate abstraction for reachability analysis of hybrid systems. In: ACM Transactions on Embedded Computing Systems (TECS) 5(1): 152–199CrossRefGoogle Scholar
  4. Asperti A, Geuvers H, Loeb I, Mamane L, Sacerdoti Coen C 2006 An Interactive Algebra Course with Formalised Proofs and Definitions. In: Proceedings of the Fourth Conference Mathematical Knowledge Management, MKM 2005 LNAI 3863, Springer 315–329Google Scholar
  5. Asperti A, Guidi F, Sacerdoti Coen C, Tassi E, Zacchiroli S 2006 A content based mathematical search engine: Whelp. In: Types for Proofs and Programs International Workshop 2004, J-C Filliatre, C Paulin-Mohring, B Werner, (eds), LNCS 3839, Springer 17–32Google Scholar
  6. Avigad J, Donnelly K, Gray D, Raff P 2007 A formally verified proof of the prime number theorem. ACM Transactions on Computational Logic 9(1:2)CrossRefMathSciNetGoogle Scholar
  7. Aydemir B, Bohannon A, Fairbairn M, Foster J, Pierce B, Sewell P, Vytiniotis D, Washburn G, Weirich S, Zdancewic S 2005 Mechanized Metatheory for the Masses: The PoplMark Challenge. In Theorem Proving in Higher Order Logics, LNCS 3603, Springer 50–65. Also on (POPLmark)Google Scholar
  8. Barendregt H 2003 Towards an Interactive Mathematical Proof Language. In: Thirty Five Years of Automath, Ed. F Kamareddine, (Dordrecht, Boston: Kluwer Academic Publishers) 25–36Google Scholar
  9. Barendregt H, Geuvers H 2001 Proof Assistants using Dependent Type Systems. In: A Robinson, A Voronkov, (eds) Handbook of Automated Reasoning (Vol. 2), Elsevier 1149–1238 (chapter 18)Google Scholar
  10. Barras B 1999 Auto-validation d’un vérificateur de preuves avec familles inductives. Ph.D. thesis, Université Paris 7Google Scholar
  11. Blazy S, Dargaye Z, Leroy X 2006 Formal verification of a C compiler front-end. In: FM 2006: Int. Symp. on Formal Methods, LNCS 4085, Springer 460–475Google Scholar
  12. Boyer R S, Moore J S 1998 A Computational Logic Handbook. Second Edition, Academic PressGoogle Scholar
  13. Constable R L, Allen S F, Bromley H M, Cleaveland W R, Cremer J F, Harper R W, Howe D J, Knoblock T B, Mendler N P, Panangaden P, Sasaki J T, Smith S F 1986 Implementing Mathematics with the Nuprl Development System. (NJ: Prentice-Hall)Google Scholar
  14. Corbineau P, Kaliszyk C 2007 Cooperative Repositories for Formal Proofs. In Towards Mechanized Mathematical Assistants, M Kauers et al (eds), LNCS 4573, Springer 221–234Google Scholar
  15. Corbineau P 2007 A declarative proof language for the Coq proof assistant. In Types for Proofs and Programs, LNCS 4941Google Scholar
  16. The Coq proof assistant, http://coq.inria.fr/
  17. Cruz-Filipe L, Geuvers H, Wiedijk F 2004 C-CoRN, the Constructive Coq Repository at Nijmegen. In: A Asperti, G Bancerek, A Trybulec, (eds) Mathematical Knowledge Management, Proceedings of MKM 2004, LNCS 3119, Springer 88–103Google Scholar
  18. De Bruijn N 1983 Automath, a language for mathematics, Department of Mathematics, Eindhoven University of Technology, TH-report 68-WSK-05, 1968. Reprinted in revised form, with two pages commentary. In: Automation and Reasoning, vol. 2, Classical papers on computational logic 1967–1970, Springer Verlag 159–200Google Scholar
  19. Fitch F B 1952 Symbolic Logic, An Introduction, The Ronald Press CompanyGoogle Scholar
  20. Geuvers H, Mamane L 2006 A Document-Oriented Coq Plugin for TeXmacs. In: Libbrecht P, editor, Proceedings of the MathUI workshop at the MKM 2006 conference, Wokingham, UK, http://www.activemath.org/paul/MathUI06/
  21. Gonthier G 2004 A computer-checked proof of the Four Colour Theorem, http://research.microsoft.com/gonthier/4colproof.pdf
  22. Gordon M J C 2006 From LCF to HOL: a short history. Proof, language, and interaction: essays in honour of Robin Milner (Cambridge, MA, USA: MIT Press) 169–185, 2000Google Scholar
  23. Gordon M J C, Melham T F 1993 Introduction to HOL: A theorem proving environment for higher order logic. Cambridge University PressGoogle Scholar
  24. Gordon M J C, Milner R, Wadsworth C P 1979 Edinburgh LCF: A Mechanised Logic of Computation, volume 78 of Lecture Notes in Computer Science. Springer-VerlagGoogle Scholar
  25. Hales Th 2007 A proof of the Kepler conjecture. In: Annals of Mathematics 162: 1065–1185CrossRefMathSciNetGoogle Scholar
  26. Hales Th 2007 Jordan’s Proof of the Jordan Curve Theorem. In From Insight to Proof Festschrift in Honour of Andrzej Trybulec (eds) R Matuszewski, A Zalewska, Studies in Logic, Grammar and Rhetoric 10(23)Google Scholar
  27. Halmos P 1985 I want to be a Mathematician: An Automathography, Springer 410Google Scholar
  28. Harper R, Honsell F, Plotkin G 1993 A framework for defining logics. Journal of the ACM 40: 194–204CrossRefMathSciNetGoogle Scholar
  29. Harrison J 1996 A Mizar Mode for HOL, Proceedings, of Theorem Proving in Higher Order Logics, TPHOLs’96, Turku, Finland, Lecture Notes in Computer Science 1125, Springer 203–220Google Scholar
  30. Harrison J 2000 Formal verification of IA-64 division algorithms, in: M Aagaard, J Harrison, (eds), Theorem Proving in Higher Order Logics, TPHOLs 2000 LNCS 1869, Springer 234–251Google Scholar
  31. Harrison J 2006 Towards self-verification of HOL Light, U Furbach, N Shankar (eds), Proceedings of the Third International Joint Conference IJCAR 2006, Seattle, WA, LNCS 4130, 177–191Google Scholar
  32. Howard W A 1980 The formulae-as-types notion of construction, in J Seldin, R Hindley (eds), to H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, Boston, MA, Academic Press, 479–490, (original manuscript from 1969)Google Scholar
  33. Jaśkowski S 1967 On the rules of suppositional formal logic. In Storrs McCall, editor, Polish Logic 1920–1939 232–258. (Oxford: Clarendon Press)Google Scholar
  34. Kaliszyk C 2007 Web Interfaces for Proof Assistants, Electr. Notes Theor. Comput. Sci. 174(2): 49–61CrossRefGoogle Scholar
  35. Kaufmann M, Manolios P, Moore J S 2000 Computer-Aided Reasoning: An Approach Kluwer Academic PublishersGoogle Scholar
  36. Knuth D 1992 Literate Programming, Center for the Study of Language and Information, 1992, xvi+368pp. CSLI Lecture Notes, no. 27, Stanford, CaliforniaGoogle Scholar
  37. Kohlhase M 2000 OMDoc: Towards an Internet Standard for the Administration, Distribution and Teaching of mathematical Knowledge, in Proceedings of Artificial Intelligence and Symbolic Computation, Springer LNAIGoogle Scholar
  38. Korniłowicz A 2005 Jordan curve theorem. Formalized Mathematics 13(4): 481–491Google Scholar
  39. Letouzey P 2003 A new extraction for Coq. Proceedings of the TYPES Conference 2002, LNCS 2626, Springer-Verlag 200–219Google Scholar
  40. Lyaletski A, Paskevich A, Verchinin K 2004 Theorem Proving and Proof Verification in the System SAD. In: Mathematical Knowledge Management, Third International Conference, Białowieza, Poland, Proceedings, LNCS 3119, 236–250Google Scholar
  41. Luo Z, Pollack R 1992 LEGO Proof Development System: User’s Manual, LFCS Technical Report ECS-LFCS-92-211Google Scholar
  42. Magnusson L, Nordström B 1994 The ALF proof editor and its proof engine, In Types for Proofs and Programs, H Barendregt, T Nipkow (eds), LNCS, 806: 213–237Google Scholar
  43. Martin-Löf P 1984 Intuitionistic type theory, Napoli, BibliopolisGoogle Scholar
  44. Matuszewski R, Rudnicki P 2005 Mizar: the first 30 years, Mechanized mathematics and its applications 4(1): 3–24Google Scholar
  45. McCarthy J 1962 Computer programs for checking mathematical proofs, In Recursive Function Theory, Proceedings of Symposia in Pure Mathematics, volume 5. Americal Mathematical SocietyGoogle Scholar
  46. Mizar Home Page, http://www.mizar.org/
  47. Muñoz C, Dowek G 2005 Hybrid Verification of an Air Traffic Operational Concept, in: Proceedings of IEEE ISoLA Workshop on Leveraging Applications of Formal Methods, Verification, and Validation, Columbia, MarylandGoogle Scholar
  48. Necula G, Lee P 1996 Proof-Carrying Code, Technical Report CMU-CS-96-165, November 1996. (62 pages) http://www.cs.berkeley.edu/necula/Papers/tr96-165.ps.gz
  49. Nederpelt R P, Geuvers H, de Vrijer R C 1994 (editors), Selected Papers on Automath, Volume 133 in Studies in Logic and the Foundations of Mathematics, North-Holland, Amsterdam, pp 1024Google Scholar
  50. Nordström B, Petersson K, Smith J 1990 Programming in Martin-Löf’s Type Theory Oxford University PressGoogle Scholar
  51. The OpenMath Society, http://www.openmath.org/
  52. OMDoc, A Standard for Open Mathematical Documents, http://www.mathweb.org/omdoc/
  53. Paulin-Mohring Ch 1989 Extracting ’s programs from proofs in the Calulus of Constructions, Sixteenth Annual ACM Symposium on Principles of Programming Languages, ACM, AustinGoogle Scholar
  54. PVS Specification and Verification System http://pvs.csl.sri.com/
  55. The QED Manifesto, in: Automated Deduction — CADE 12, LNAI 814, Springer, 1994, 238–251Google Scholar
  56. Scott D 1993 A type-theoretical alternative to ISWIM, CUCH, OWHY. TCS, 121: 411–440, 1993. (Annotated version of a 1969 manuscript)MATHCrossRefGoogle Scholar
  57. Scott D 1970 Constructive validity. Symposium on Automatic Demonstration (Versailles, 1968), Lecture Notes in Mathematics, Vol. 125, Springer, Berlin 237–275CrossRefGoogle Scholar
  58. The Twelf Project, http://twelf.plparty.org/
  59. Verchinine K, Lyaletski A, Paskevich A, Anisimov A 2008 On correctness of mathematical texts from a logical and practical point of view. In: Intelligent Computer Mathematics, AISC/Calculemus/MKM 2008, Birmingham, UK, LNCS 5144, Springer 583–598Google Scholar
  60. Wagner M, Dietrich D, Schulz E 2008 Authoring Verified Documents by Interactive Proof Construction and Verification in Text-Editors, In Intelligent Computer Mathematics, AISC/Calculemus/MKM 2008, Birmingham, UK, LNCS 5144, SpringerGoogle Scholar
  61. Wenzel M, Paulson LC, Nipkow T 2008 The Isabelle Framework. In:O Ait-Mohamed, editor, Theorem Proving in Higher Order Logics, TPHOLs 2008, invited paper, LNCS 5170 SpringerGoogle Scholar
  62. Wenzel M 2006 Isabelle/Isar — a generic framework for human-readable proof documents. In R Matuszewski and A Zalewska, (eds) From Insight to Proof — Festschrift in Honour of Andrzej Trybulec, Studies in Logic, Grammar, and Rhetoric 10(23), University of BiałystokGoogle Scholar
  63. Wiedijk F 2004 Formal Proof Sketches, In Types for Proofs and Programs: Third International Workshop, TYPES 2003. In: S Berardi, M Coppo, F Damiani, (eds), Springer, LNCS 3085 378–393Google Scholar
  64. Wiedijk F 2005 Estimating the Cost of a Standard Library for a Mathematical Proof Checker, http://www.cs.ru.nl/freek/notes/index.html
  65. Wiedijk F 2006 (ed.) The Seventeen Provers of the World, Springer LNAI 3600Google Scholar
  66. Wiedijk F 2008 Formalizing the ‘top 100’ of mathematical theorems http://www.cs.ru.nl/freek/100/index.html

Copyright information

© Indian Academy of Sciences 2009

Authors and Affiliations

  1. 1.Institute for Computing and Information Science, Faculty of ScienceRadboud University NijmegenNijmegenThe Netherlands
  2. 2.Faculty of Mathematics and Computer ScienceTechnical University EindhovenEindhovenNL

Personalised recommendations