A verified proof checker for higher-order logic
We present a computer program for checking proofs in higher-order logic (HOL) that is verified to accept only valid proofs. The proof checker is defined as functions in HOL and synthesized to CakeML code, and uses the Candle theorem prover kernel to check logical inferences. The checker reads proofs...
Saved in:
Published in | Journal of logical and algebraic methods in programming Vol. 112; p. 100530 |
---|---|
Main Author | |
Format | Journal Article |
Language | English |
Published |
Elsevier Inc
01.04.2020
|
Subjects | |
Online Access | Get full text |
ISSN | 2352-2208 2352-2216 |
DOI | 10.1016/j.jlamp.2020.100530 |
Cover
Loading…
Abstract | We present a computer program for checking proofs in higher-order logic (HOL) that is verified to accept only valid proofs. The proof checker is defined as functions in HOL and synthesized to CakeML code, and uses the Candle theorem prover kernel to check logical inferences. The checker reads proofs in the OpenTheory article format, which means proofs produced by various HOL proof assistants are supported. The proof checker is implemented and verified using the HOL4 theorem prover, and comes with a proof of soundness. |
---|---|
AbstractList | We present a computer program for checking proofs in higher-order logic (HOL) that is verified to accept only valid proofs. The proof checker is defined as functions in HOL and synthesized to CakeML code, and uses the Candle theorem prover kernel to check logical inferences. The checker reads proofs in the OpenTheory article format, which means proofs produced by various HOL proof assistants are supported. The proof checker is implemented and verified using the HOL4 theorem prover, and comes with a proof of soundness. (C) 2020 Elsevier Inc. All rights reserved. We present a computer program for checking proofs in higher-order logic (HOL) that is verified to accept only valid proofs. The proof checker is defined as functions in HOL and synthesized to CakeML code, and uses the Candle theorem prover kernel to check logical inferences. The checker reads proofs in the OpenTheory article format, which means proofs produced by various HOL proof assistants are supported. The proof checker is implemented and verified using the HOL4 theorem prover, and comes with a proof of soundness. |
ArticleNumber | 100530 |
Author | Abrahamsson, Oskar |
Author_xml | – sequence: 1 givenname: Oskar surname: Abrahamsson fullname: Abrahamsson, Oskar email: aboskar@chalmers.se organization: Chalmers University of Technology, Department of Computer Science and Engineering, SE-412 96 Göteborg, Sweden |
BackLink | https://research.chalmers.se/publication/517007$$DView record from Swedish Publication Index |
BookMark | eNqFkL1OwzAURj0UiVJ4Apa8QIr_EjsDQ4X4k5AYgPnKdq4bl7Su7FDE25NSxMAA05U-3XOGc0Imm7hBQs4ZnTPK6ovVfNWb9XbOKd8vtBJ0QqZcVLzknOpjcpbzitLxVSst2JRcLIodpuADtsU2xegL16F7xVT4mIouLDtMZUztOPRxGdwpOfKmz3j2fWfk5eb6-equfHi8vb9aPJROqGYouTZcCae1rqpGGlMrJ4xkyBxXssbK1pRaaSV3NdaWW41CGukbVdmq5Y0UM_J08OZ33L5Z2KawNukDogmQMKNJrgPXmX6NKUNG0AyxbpUGZTwF2aAF03oFDdNN662rjWCjVRysLsWcE_ofL6OwDwgr-AoI-4BwCDhSzS_KhcEMIW6GZEL_D3t5YHGMtQuYILuAG4dtSOgGaGP4k_8EyhKQIA |
CitedBy_id | crossref_primary_10_1007_s10009_022_00690_y crossref_primary_10_1007_s10817_022_09648_w |
Cites_doi | 10.1007/s10817-015-9357-x 10.1017/S0956796818000229 10.1109/32.588534 10.1007/s10817-015-9324-6 |
ContentType | Journal Article |
Copyright | 2020 Elsevier Inc. |
Copyright_xml | – notice: 2020 Elsevier Inc. |
DBID | AAYXX CITATION ADTPV AOWAS F1S |
DOI | 10.1016/j.jlamp.2020.100530 |
DatabaseName | CrossRef SwePub SwePub Articles SWEPUB Chalmers tekniska högskola |
DatabaseTitle | CrossRef |
DatabaseTitleList | |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
ExternalDocumentID | oai_research_chalmers_se_81ee6d78_7af0_49eb_adf7_9189dfbc6a31 10_1016_j_jlamp_2020_100530 S2352220820300158 |
GrantInformation_xml | – fundername: Swedish Foundation for Strategic Research funderid: https://doi.org/10.13039/501100001729 |
GroupedDBID | --M 0R~ 4.4 457 4G. 7-5 8P~ AACTN AAEDT AAEDW AAIAV AAIKJ AAKOC AALRI AAOAW AAXUO AAYFN ABBOA ABMAC ABVKL ABXDB ABYKQ ACDAQ ACGFS ACRLP ADBBV ADEZE AEBSH AEKER AENEX AFKWA AFTJW AGHFR AGUBO AIALX AIEXJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD AXJTR BKOJK BLXMC EBS EFJIC EFLBG EJD FDB FIRID FYGXN GBLVA GBOLZ HZ~ KOM M41 NCXOZ O9- OAUVE RIG ROL SPC SPCBC SSV SSZ T5K ~G- AATTM AAXKI AAYWO AAYXX ABJNI ACVFH ADCNI ADVLN AEIPS AEUPX AFJKZ AFPUW AFXIZ AGCQF AGRNS AIGII AIIUN AKBMS AKRWK AKYEP ANKPU BNPGV CITATION SSH ADTPV AOWAS EFKBS F1S |
ID | FETCH-LOGICAL-c379t-28a273c8885594aa67c3a41e1c2746e5b600b4b42c6e6b2b8e34a4f975b5d2943 |
IEDL.DBID | AIKHN |
ISSN | 2352-2208 2352-2216 |
IngestDate | Thu Aug 21 06:55:48 EDT 2025 Thu Apr 24 23:02:39 EDT 2025 Tue Jul 01 00:37:50 EDT 2025 Fri Feb 23 02:48:47 EST 2024 |
IsPeerReviewed | true |
IsScholarly | true |
Keywords | Soundness Proof checker Higher-order logic Mechanized proof |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c379t-28a273c8885594aa67c3a41e1c2746e5b600b4b42c6e6b2b8e34a4f975b5d2943 |
ParticipantIDs | swepub_primary_oai_research_chalmers_se_81ee6d78_7af0_49eb_adf7_9189dfbc6a31 crossref_primary_10_1016_j_jlamp_2020_100530 crossref_citationtrail_10_1016_j_jlamp_2020_100530 elsevier_sciencedirect_doi_10_1016_j_jlamp_2020_100530 |
ProviderPackageCode | CITATION AAYXX |
PublicationCentury | 2000 |
PublicationDate | 2020-04-01 |
PublicationDateYYYYMMDD | 2020-04-01 |
PublicationDate_xml | – month: 04 year: 2020 text: 2020-04-01 day: 01 |
PublicationDecade | 2020 |
PublicationTitle | Journal of logical and algebraic methods in programming |
PublicationYear | 2020 |
Publisher | Elsevier Inc |
Publisher_xml | – name: Elsevier Inc |
References | Hurd (br0010) 2011 Fox, Myreen, Tan, Kumar (br0140) 2017 Davis, Myreen (br0250) 2015; 55 Wadler (br0080) 1995 Nipkow, Paulson, Wenzel (br0240) 2002; vol. 2283 Fox (br0150) 2012 Hurd (br0160) 2018 Hurd (br0120) 2014 The Poly/ML compiler [online]. (Accessed 26 October 2019). Kumar, Arthan, Myreen, Owens (br0020) 2016; 56 Harrison (br0060) 2009 Adams (br0210) 2010 Harrison (br0090) 2006 Tan, Myreen, Kumar, Fox, Owens, Norrish (br0050) 2019; 29 Leroy, Doligez, Frisch, Garrigue, Rémy, Vouillon (br0110) 2018 The Moscow ML compiler [online]. (Accessed 26 October 2019). Ho, Abrahamsson, Kumar, Myreen, Tan, Norrish (br0040) 2018 Slind, Norrish (br0030) 2008 Milner, Tofte, Harper (br0100) 1997 Guéneau, Myreen, Kumar, Norrish (br0130) 2017 Kumar, Myreen, Norrish, Owens (br0200) 2014 The MLton compiler [online]. (Accessed 26 October 2019). Ridge, Margetson (br0220) 2005 Arthan (br0070) 2017 Kaufmann, Moore (br0230) 1997; 23 Milner (10.1016/j.jlamp.2020.100530_br0100) 1997 10.1016/j.jlamp.2020.100530_br0190 10.1016/j.jlamp.2020.100530_br0170 Nipkow (10.1016/j.jlamp.2020.100530_br0240) 2002; vol. 2283 Kumar (10.1016/j.jlamp.2020.100530_br0020) 2016; 56 Harrison (10.1016/j.jlamp.2020.100530_br0090) 2006 Harrison (10.1016/j.jlamp.2020.100530_br0060) 2009 Arthan (10.1016/j.jlamp.2020.100530_br0070) 2017 Kumar (10.1016/j.jlamp.2020.100530_br0200) 2014 Davis (10.1016/j.jlamp.2020.100530_br0250) 2015; 55 Tan (10.1016/j.jlamp.2020.100530_br0050) 2019; 29 Kaufmann (10.1016/j.jlamp.2020.100530_br0230) 1997; 23 Ridge (10.1016/j.jlamp.2020.100530_br0220) 2005 10.1016/j.jlamp.2020.100530_br0180 Ho (10.1016/j.jlamp.2020.100530_br0040) 2018 Guéneau (10.1016/j.jlamp.2020.100530_br0130) 2017 Hurd (10.1016/j.jlamp.2020.100530_br0010) 2011 Adams (10.1016/j.jlamp.2020.100530_br0210) 2010 Leroy (10.1016/j.jlamp.2020.100530_br0110) 2018 Slind (10.1016/j.jlamp.2020.100530_br0030) 2008 Fox (10.1016/j.jlamp.2020.100530_br0140) 2017 Hurd (10.1016/j.jlamp.2020.100530_br0160) 2018 Wadler (10.1016/j.jlamp.2020.100530_br0080) 1995 Hurd (10.1016/j.jlamp.2020.100530_br0120) 2014 Fox (10.1016/j.jlamp.2020.100530_br0150) 2012 |
References_xml | – volume: vol. 2283 year: 2002 ident: br0240 article-title: Isabelle/HOL - a Proof Assistant for Higher-Order Logic publication-title: Lecture Notes in Computer Science – year: 2018 ident: br0160 article-title: The OpenTheory tool [online] – start-page: 584 year: 2017 end-page: 610 ident: br0130 article-title: Verified characteristic formulae for CakeML publication-title: ESOP – year: 2014 ident: br0120 article-title: The OpenTheory article file format [online] – start-page: 646 year: 2018 end-page: 662 ident: br0040 article-title: Proof-producing synthesis of CakeML with I/O and local state from monadic HOL functions publication-title: IJCAR – volume: 23 start-page: 203 year: 1997 end-page: 213 ident: br0230 article-title: An industrial strength theorem prover for a logic based on common lisp publication-title: IEEE Trans. Softw. Eng. – start-page: 294 year: 2005 end-page: 309 ident: br0220 article-title: A mechanically verified, sound and complete theorem prover for first order logic publication-title: TPHOLs – year: 2017 ident: br0070 article-title: The ProofPower web pages [online] – year: 1997 ident: br0100 article-title: Definition of Standard ML – year: 2018 ident: br0110 article-title: The OCaml system documentation and user's manual [online] – start-page: 177 year: 2006 end-page: 191 ident: br0090 article-title: Towards self-verification of HOL Light publication-title: IJCAR – volume: 56 start-page: 221 year: 2016 end-page: 259 ident: br0020 article-title: Self-formalisation of higher-order logic - semantics, soundness, and a verified implementation publication-title: J. Autom. Reason. – start-page: 142 year: 2010 end-page: 143 ident: br0210 article-title: Introducing HOL Zero - (extended abstract) publication-title: ICMS – reference: The Poly/ML compiler [online]. (Accessed 26 October 2019). – volume: 29 start-page: e2 year: 2019 ident: br0050 article-title: The verified CakeML compiler backend publication-title: J. Funct. Program. – reference: The MLton compiler [online]. (Accessed 26 October 2019). – reference: The Moscow ML compiler [online]. (Accessed 26 October 2019). – year: 1995 ident: br0080 article-title: Monads for functional programming publication-title: Advanced Functional Programming, Tutorial Text – volume: 55 start-page: 117 year: 2015 end-page: 183 ident: br0250 article-title: The reflective Milawa theorem prover is sound (down to the machine code that runs it) publication-title: J. Autom. Reason. – start-page: 338 year: 2012 end-page: 344 ident: br0150 article-title: Directions in ISA specification publication-title: ITP – start-page: 60 year: 2009 end-page: 66 ident: br0060 article-title: HOL Light: an overview publication-title: TPHOLs – start-page: 177 year: 2011 end-page: 191 ident: br0010 article-title: The OpenTheory standard theory library publication-title: NFM – start-page: 179 year: 2014 end-page: 192 ident: br0200 article-title: CakeML: a verified implementation of ML publication-title: POPL – start-page: 125 year: 2017 end-page: 137 ident: br0140 article-title: Verified compilation of CakeML to multiple machine-code targets publication-title: CPP – start-page: 28 year: 2008 end-page: 32 ident: br0030 article-title: A brief overview of HOL4 publication-title: TPHOLs – ident: 10.1016/j.jlamp.2020.100530_br0170 – start-page: 28 year: 2008 ident: 10.1016/j.jlamp.2020.100530_br0030 article-title: A brief overview of HOL4 – volume: 56 start-page: 221 issue: 3 year: 2016 ident: 10.1016/j.jlamp.2020.100530_br0020 article-title: Self-formalisation of higher-order logic - semantics, soundness, and a verified implementation publication-title: J. Autom. Reason. doi: 10.1007/s10817-015-9357-x – volume: 29 start-page: e2 year: 2019 ident: 10.1016/j.jlamp.2020.100530_br0050 article-title: The verified CakeML compiler backend publication-title: J. Funct. Program. doi: 10.1017/S0956796818000229 – year: 2014 ident: 10.1016/j.jlamp.2020.100530_br0120 – year: 1997 ident: 10.1016/j.jlamp.2020.100530_br0100 – ident: 10.1016/j.jlamp.2020.100530_br0180 – start-page: 177 year: 2011 ident: 10.1016/j.jlamp.2020.100530_br0010 article-title: The OpenTheory standard theory library – volume: 23 start-page: 203 issue: 4 year: 1997 ident: 10.1016/j.jlamp.2020.100530_br0230 article-title: An industrial strength theorem prover for a logic based on common lisp publication-title: IEEE Trans. Softw. Eng. doi: 10.1109/32.588534 – start-page: 125 year: 2017 ident: 10.1016/j.jlamp.2020.100530_br0140 article-title: Verified compilation of CakeML to multiple machine-code targets – volume: 55 start-page: 117 issue: 2 year: 2015 ident: 10.1016/j.jlamp.2020.100530_br0250 article-title: The reflective Milawa theorem prover is sound (down to the machine code that runs it) publication-title: J. Autom. Reason. doi: 10.1007/s10817-015-9324-6 – year: 2018 ident: 10.1016/j.jlamp.2020.100530_br0110 – start-page: 646 year: 2018 ident: 10.1016/j.jlamp.2020.100530_br0040 article-title: Proof-producing synthesis of CakeML with I/O and local state from monadic HOL functions – start-page: 179 year: 2014 ident: 10.1016/j.jlamp.2020.100530_br0200 article-title: CakeML: a verified implementation of ML – year: 1995 ident: 10.1016/j.jlamp.2020.100530_br0080 article-title: Monads for functional programming – start-page: 177 year: 2006 ident: 10.1016/j.jlamp.2020.100530_br0090 article-title: Towards self-verification of HOL Light – ident: 10.1016/j.jlamp.2020.100530_br0190 – start-page: 294 year: 2005 ident: 10.1016/j.jlamp.2020.100530_br0220 article-title: A mechanically verified, sound and complete theorem prover for first order logic – year: 2017 ident: 10.1016/j.jlamp.2020.100530_br0070 – start-page: 338 year: 2012 ident: 10.1016/j.jlamp.2020.100530_br0150 article-title: Directions in ISA specification – volume: vol. 2283 year: 2002 ident: 10.1016/j.jlamp.2020.100530_br0240 article-title: Isabelle/HOL - a Proof Assistant for Higher-Order Logic – start-page: 60 year: 2009 ident: 10.1016/j.jlamp.2020.100530_br0060 article-title: HOL Light: an overview – start-page: 142 year: 2010 ident: 10.1016/j.jlamp.2020.100530_br0210 article-title: Introducing HOL Zero - (extended abstract) – year: 2018 ident: 10.1016/j.jlamp.2020.100530_br0160 – start-page: 584 year: 2017 ident: 10.1016/j.jlamp.2020.100530_br0130 article-title: Verified characteristic formulae for CakeML |
SSID | ssj0001687831 ssib023362453 |
Score | 2.1866028 |
Snippet | We present a computer program for checking proofs in higher-order logic (HOL) that is verified to accept only valid proofs. The proof checker is defined as... |
SourceID | swepub crossref elsevier |
SourceType | Open Access Repository Enrichment Source Index Database Publisher |
StartPage | 100530 |
SubjectTerms | Higher-order logic Mechanized proof Proof checker Soundness |
Title | A verified proof checker for higher-order logic |
URI | https://dx.doi.org/10.1016/j.jlamp.2020.100530 https://research.chalmers.se/publication/517007 |
Volume | 112 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV07T8MwELYKLCy8EW95YCQqfsSPsUJU5dUFkLpZtuOoRahUUP4_Z8cpMNCBMVFOse6cu--iz98hdO4JYZZyVdSCyYJbwHAuHtSlsuSxoFWOxwPOD0MxeOa3o3LUQVftWZhIq8y5v8npKVvnO93sze5sMuk-0ogdaCxhLFZ-tYLWKNMCtvZa7-ZuMPz-1SKUVGkyYTQpok2rP5SYXi_g-yhdSRNnoIyE6D9q1E8x0VSA-ltoIyNH3GsWt406YbqDNtupDDh_pLuo28OwPSc1YEsM6fGtxhCXSJ7AgE_xOPE6iqS4iVPe20PP_eunq0GRxyIUnkk9L6iygDk8tK7QDXBrhfTMchKIhw5ThNIBhnHccepFEI46FRi3vNaydGVFNWf7aHX6Ng0HCDNbEgsRcXUgPFDtKikc4cQ5rkpo3A4RbR1hfNYMj6MrXk1LDnsxyXsmes803jtEFwujWSOZsfxx0XrY_Iq8gaS-3PC-icfiLVEqO2skjY0fpwE0H-YjGEVCEJVURtr60nAdnLFVLY0mSle188IycvTfdRyj9XjV0HlO0Or8_TOcAlKZu7O8E78AQcDjqw |
linkProvider | Elsevier |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1NT9wwEB3BcigXPkqrAqX40CPR4m_nuEJFu2XZS0HiZtmOo12EFlSW_4_HcbbtAQ69JhnFmnFm3kTPbwC-B0q5Y8JUreK6Ei5hOI8HdZmWAgta4wUecL6eqfGt-Hkn7zbgoj8Lg7TKkvu7nJ6zdbkyLN4cPi0Ww18MsQPDEsax8ptN2EJ1KjmArdHkajz786tFGW3yZEI0qdCm1x_KTK_75HuUrmSZMyCREP1GjfpbTDQXoMs92CnIkYy6xe3DRlx-hN1-KgMpH-kBDEckbc9Fm7AlSenxsSUpLkieIAmfknnmdVRZcZPkvPcJbi9_3FyMqzIWoQpc16uKGZcwR0ita-oGhHNKB-4EjTSkDlNF6ROG8cILFlRUnnkTuXCirbX0smG14J9hsHxcxi9AuJPUpYj4NlIRWe0brTwV1HthZGrcDoH1jrChaIbj6IoH25PD7m32nkXv2c57h3C2NnrqJDPef1z1Hrb_RN6mpP6-4bSLx_otKJVdNJLmNszzAJpn-xytoTGqRhurXXtuRR29dU2rbU1N3bQ-KMfp0f-u4xQ-jG-up3Y6mV0dwzbe6ag9X2Gw-v0STxJqWflvZVe-AgQg5pE |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+verified+proof+checker+for+higher-order+logic&rft.jtitle=Journal+of+logical+and+algebraic+methods+in+programming&rft.au=Abrahamsson%2C+Oskar&rft.date=2020-04-01&rft.issn=2352-2208&rft.volume=112&rft_id=info:doi/10.1016%2Fj.jlamp.2020.100530&rft.externalDocID=oai_research_chalmers_se_81ee6d78_7af0_49eb_adf7_9189dfbc6a31 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2352-2208&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2352-2208&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2352-2208&client=summon |