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

Full description

Saved in:
Bibliographic Details
Published inJournal of logical and algebraic methods in programming Vol. 112; p. 100530
Main Author Abrahamsson, Oskar
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.04.2020
Subjects
Online AccessGet full text
ISSN2352-2208
2352-2216
DOI10.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