{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,16]],"date-time":"2026-04-16T09:58:01Z","timestamp":1776333481462,"version":"3.51.2"},"publisher-location":"Cham","reference-count":33,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031572456","type":"print"},{"value":"9783031572463","type":"electronic"}],"license":[{"start":{"date-parts":[[2024,1,1]],"date-time":"2024-01-01T00:00:00Z","timestamp":1704067200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2024,4,4]],"date-time":"2024-04-04T00:00:00Z","timestamp":1712188800000},"content-version":"vor","delay-in-days":94,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2024]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Satisfiability modulo theories (SMT) solvers are widely used to ensure the correctness of safety- and security-critical applications. Therefore, being able to trust a solver\u2019s results is crucial. One way to increase trust is to generate independently checkable proof certificates, which record the reasoning steps done by the solver. A key challenge with this approach is that it is difficult to efficiently and accurately produce proofs for reasoning steps involving term rewriting rules. Previous work showed how a domain-specific language, <jats:sc>Rare<\/jats:sc>, can be used to capture rewriting rules for the purposes of proof production. However, in that work, the <jats:sc>Rare<\/jats:sc> rules had to be trusted, as the correctness of the rules themselves was not checked by the proof checker. In this paper, we present <jats:sc>I<\/jats:sc>sa<jats:sc>Rare<\/jats:sc>, a tool that can automatically translate <jats:sc>Rare<\/jats:sc> rules into Isabelle\/HOL lemmas. The soundness of the rules can then be verified by proving the lemmas. Because an incorrect rule can put the entire soundness of a proof system in jeopardy, our solution closes an important gap in the trustworthiness of SMT proof certificates. The same tool also provides a necessary component for enabling full proof reconstruction of SMT proof certificates in Isabelle\/HOL. We evaluate our approach by verifying an extensive set of rewrite rules used by the <jats:sc>cvc5<\/jats:sc> SMT solver.<\/jats:p>","DOI":"10.1007\/978-3-031-57246-3_17","type":"book-chapter","created":{"date-parts":[[2024,4,3]],"date-time":"2024-04-03T14:03:43Z","timestamp":1712153023000},"page":"311-330","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["IsaRare: Automatic Verification of SMT Rewrites in Isabelle\/HOL"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3355-7828","authenticated-orcid":false,"given":"Hanna","family":"Lachnitt","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1705-3083","authenticated-orcid":false,"given":"Mathias","family":"Fleury","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6033-9140","authenticated-orcid":false,"given":"Leni","family":"Aniva","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3529-8682","authenticated-orcid":false,"given":"Andrew","family":"Reynolds","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0188-2300","authenticated-orcid":false,"given":"Haniel","family":"Barbosa","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8669-0011","authenticated-orcid":false,"given":"Andres","family":"N\u00f6tzli","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9522-3084","authenticated-orcid":false,"given":"Clark","family":"Barrett","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6726-775X","authenticated-orcid":false,"given":"Cesare","family":"Tinelli","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2024,4,4]]},"reference":[{"key":"17_CR1","doi-asserted-by":"crossref","unstructured":"Backes, J., Bolignano, P., Cook, B., Dodge, C., Gacek, A., Luckow, K., Rungta, N., Tkachuk, O., Varming, C.: Semantic-based automated reasoning for AWS access policies using SMT. In: 2018 Formal Methods in Computer Aided Design (FMCAD). pp.\u00a01\u20139. IEEE (2018)","DOI":"10.23919\/FMCAD.2018.8602994"},{"key":"17_CR2","doi-asserted-by":"crossref","unstructured":"Barbosa, H., Barrett, C., Brain, M., Kremer, G., Lachnitt, H., et\u00a0al.: cvc5: a versatile and industrial-strength smt solver. In: International Conference on Tools and Algorithms for the Construction and Analysis of Systems. pp. 415\u2013442. Springer (2022)","DOI":"10.1007\/978-3-030-99524-9_24"},{"key":"17_CR3","doi-asserted-by":"crossref","unstructured":"Barbosa, H., Blanchette, J.C., Fleury, M., Fontaine, P.: Scalable fine-grained proofs for formula processing. Journal of Automated Reasoning 64(3), 485\u2013510 (2020)","DOI":"10.1007\/s10817-018-09502-y"},{"key":"17_CR4","doi-asserted-by":"crossref","unstructured":"Barbosa, H., Reynolds, A., Kremer, G., Lachnitt, H., Niemetz, A., N\u00f6tzli, A., Ozdemir, A., Preiner, M., Viswanathan, A., Viteri, S., Zohar, Y., Tinelli, C., Barrett, C.: Flexible proof production in an industrial-strength SMT solver. In: Blanchette, J., Kov\u00e1cs, L., Pattinson, D. (eds.) Automated Reasoning. pp. 15\u201335. Springer International Publishing, Cham (2022)","DOI":"10.1007\/978-3-031-10769-6_3"},{"key":"17_CR5","unstructured":"Barrett, C., Fontaine, P., Tinelli, C.: The SMT-LIB Standard: Version 2.6. Tech. rep., Department of Computer Science, The University of Iowa (2017), available at www.SMT-LIB.org"},{"key":"17_CR6","unstructured":"Barrett, C., Fontaine, P., Tinelli, C.: SMT-LIB Version 3.0 - Preliminary Proposal (2021), https:\/\/smtlib.cs.uiowa.edu\/version3.shtml"},{"key":"17_CR7","unstructured":"Barrett, C., de\u00a0Moura, L., Fontaine, P.: Proofs in satisfiability modulo theories. In: Delahaye, D., Woltzenlogel\u00a0Paleo, B. (eds.) All about Proofs, Proofs for All, Mathematical Logic and Foundations, vol.\u00a055, pp. 23\u201344. College Publications, London, UK (Jan 2015)"},{"key":"17_CR8","doi-asserted-by":"crossref","unstructured":"Barrett, C.W., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability - Second Edition, Frontiers in Artificial Intelligence and Applications, vol.\u00a0336, pp. 1267\u20131329. IOS Press (2021)","DOI":"10.3233\/FAIA201017"},{"key":"17_CR9","doi-asserted-by":"crossref","unstructured":"Blanchette, J.C., B\u00f6hme, S., Paulson, L.C.: Extending Sledgehammer with SMT solvers. In: Bj\u00f8rner, N., Sofronie-Stokkermans, V. (eds.) Automated Deduction \u2013 CADE-23. pp. 116\u2013130. Springer Berlin Heidelberg (2011)","DOI":"10.1007\/978-3-642-22438-6_11"},{"key":"17_CR10","doi-asserted-by":"crossref","unstructured":"Blanchette, J.C., Nipkow, T.: Nitpick: A counterexample generator for higher-order logic based on a relational model finder. In: Kaufmann, M., Paulson, L.C. (eds.) Interactive Theorem Proving. pp. 131\u2013146. Springer Berlin Heidelberg (2010)","DOI":"10.1007\/978-3-642-14052-5_11"},{"key":"17_CR11","doi-asserted-by":"crossref","unstructured":"B\u00f6hme, S., Fox, A.C., Sewell, T., Weber, T.: Reconstruction of Z3\u2019s bit-vector proofs in HOL4 and Isabelle\/HOL. In: International Conference on Certified Programs and Proofs. pp. 183\u2013198. Springer (2011)","DOI":"10.1007\/978-3-642-25379-9_15"},{"key":"17_CR12","doi-asserted-by":"crossref","unstructured":"B\u00f6hme, S., Weber, T.: Fast LCF-style proof reconstruction for Z3. In: Kaufmann, M., Paulson, L.C. (eds.) Interactive Theorem Proving. pp. 179\u2013194. Springer, Berlin, Heidelberg (2010)","DOI":"10.1007\/978-3-642-14052-5_14"},{"key":"17_CR13","doi-asserted-by":"crossref","unstructured":"Bouton, T., Caminha B.\u00a0de Oliveira, D., D\u00e9harbe, D., Fontaine, P.: veriT: an open, trustable and efficient SMT-solver. In: Schmidt, R.A. (ed.) Automated Deduction \u2013 CADE-22. pp. 151\u2013156. Springer (2009)","DOI":"10.1007\/978-3-642-02959-2_12"},{"key":"17_CR14","doi-asserted-by":"crossref","unstructured":"Christ, J., Hoenicke, J., Nutz, A.: SMTInterpol: An interpolating SMT solver. In: Donaldson, A., Parker, D. (eds.) Model Checking Software. pp. 248\u2013254. Springer (2012)","DOI":"10.1007\/978-3-642-31759-0_19"},{"key":"17_CR15","doi-asserted-by":"crossref","unstructured":"Cook, B.: Formal reasoning about the security of Amazon web services. In: Chockler, H., Weissenbacher, G. (eds.) Computer Aided Verification. pp. 38\u201347. Springer (2018)","DOI":"10.1007\/978-3-319-96145-3_3"},{"key":"17_CR16","doi-asserted-by":"crossref","unstructured":"Enderton, H.B.: A mathematical introduction to logic. Elsevier (2001)","DOI":"10.1016\/B978-0-08-049646-7.50005-9"},{"key":"17_CR17","doi-asserted-by":"crossref","unstructured":"Fleury, M.: Optimizing a verified SAT solver. In: Badger, J.M., Rozier, K.Y. (eds.) NASA Formal Methods. Lecture Notes in Computer Science, vol. 11460, pp. 148\u2013165. Springer (2019)","DOI":"10.1007\/978-3-030-20652-9_10"},{"key":"17_CR18","doi-asserted-by":"crossref","unstructured":"Fleury, M., Schurr, H.J.: Reconstructing veriT proofs in isabelle\/HOL. Electronic Proceedings in Theoretical Computer Science 301, 36\u201350 (2019)","DOI":"10.4204\/EPTCS.301.6"},{"key":"17_CR19","unstructured":"Hoenicke, J., Schindler, T.: A simple proof format for SMT. In: D\u00e9harbe, D., Hyv\u00e4rinen, A.E.J. (eds.) International Workshop on Satisfiability Modulo Theories (SMT). CEUR Workshop Proceedings, vol.\u00a03185, pp. 54\u201370. CEUR-WS.org (2022)"},{"key":"17_CR20","unstructured":"Jaskelioff, M., Merz, S.: Proving the correctness of disk paxos. Archive of Formal Proofs (June 2005), https:\/\/isa-afp.org\/entries\/DiskPaxos.html, Formal proof development"},{"key":"17_CR21","doi-asserted-by":"crossref","unstructured":"Kan, S., Lin, A.W., R\u00fcmmer, P., Schrader, M.: Certistr: a certified string solver. In: Proceedings of the 11th ACM SIGPLAN International Conference on Certified Produms and Proofs. pp. 210\u2013224. Association for Computing Machinery (2022)","DOI":"10.1145\/3497775.3503691"},{"key":"17_CR22","doi-asserted-by":"crossref","unstructured":"Katz, G., Barrett, C., Tinelli, C., Reynolds, A., Hadarean, L.: Lazy proofs for DPLL (T)-based SMT solvers. In: Piskac, R., Talupur, M. (eds.) 2016 Formal Methods in Computer-Aided Design (FMCAD). pp. 93\u2013100. IEEE (2016)","DOI":"10.1109\/FMCAD.2016.7886666"},{"key":"17_CR23","doi-asserted-by":"crossref","unstructured":"Klein, G., Elphinstone, K., Heiser, G., Andronick, J., Cock, D., Derrin, P., Elkaduwe, D., Engelhardt, K., Kolanski, R., Norrish, M., et\u00a0al.: seL4: Formal verification of an OSa kernel. In: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. pp. 207\u2013220. Association for Computing Machinery (2009)","DOI":"10.1145\/1629575.1629596"},{"key":"17_CR24","unstructured":"Lachnitt, H., Fleury, M., Aniva, L., Reynolds, A., Barbosa, H., Noetzli, A., Barrett, C., Tinelli, C.: IsaRare: Automatic Verification of SMT Rewrites in Isabelle\/HOL (Oct 2023), https:\/\/doi.org\/10.5281\/zenodo.10048664"},{"key":"17_CR25","unstructured":"de\u00a0Moura, L., Bj\u00f8rner, N.: Proofs and refutations, and Z3. In: Rudnicki, P., Sutcliffe, G., Konev, B., Schmidt, R.A., Schulz, S. (eds.) Logic for Programming, Artificial Intelligence, and Reasoning (LPAR) Workshops. CEUR Workshop Proceedings, vol.\u00a0418. CEUR-WS.org (2008)"},{"key":"17_CR26","doi-asserted-by":"crossref","unstructured":"de\u00a0Moura, L., Bj\u00f8rner, N.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) International conference on Tools and Algorithms for the Construction and Analysis of Systems. pp. 337\u2013340. Springer (2008)","DOI":"10.1007\/978-3-540-78800-3_24"},{"key":"17_CR27","doi-asserted-by":"crossref","unstructured":"Nipkow, T., Wenzel, M., Paulson, L.C.: Isabelle\/HOL: a proof assistant for higher-order logic. Springer (2002)","DOI":"10.1007\/3-540-45949-9"},{"key":"17_CR28","unstructured":"N\u00f6tzli, A., Barbosa, H., Niemetz, A., Preiner, M., Reynolds, A., Barrett, C., Tinelli, C.: Reconstructing fine-grained proofs of rewrites using a domain-specific language. In: Griggio, A., Rungta, N. (eds.) 2022 Formal Methods in Computer-Aided Design (FMCAD). p.\u00a065 (2022)"},{"key":"17_CR29","doi-asserted-by":"crossref","unstructured":"Otoni, R., Blicha, M., Eugster, P., Hyv\u00e4rinen, A.E.J., Sharygina, N.: Theory-specific proof steps witnessing correctness of SMT executions. In: 2021 58th ACM\/IEEE Design Automation Conference (DAC). pp. 541\u2013546. IEEE (2021)","DOI":"10.1109\/DAC18074.2021.9586272"},{"key":"17_CR30","doi-asserted-by":"crossref","unstructured":"Paulson, L.C., Nipkow, T., Wenzel, M.: From LCF to Isabelle\/HOL. Formal Aspects of Computing 31(6), 675\u2013698 (2019)","DOI":"10.1007\/s00165-019-00492-1"},{"key":"17_CR31","doi-asserted-by":"crossref","unstructured":"Schurr, H., Fleury, M., Desharnais, M.: Reliable reconstruction of fine-grained proofs in a proof assistant. In: Platzer, A., Sutcliffe, G. (eds.) Proc. Conference on Automated Deduction (CADE). Lecture Notes in Computer Science, vol. 12699, pp. 450\u2013467. Springer (2021)","DOI":"10.1007\/978-3-030-79876-5_26"},{"key":"17_CR32","doi-asserted-by":"crossref","unstructured":"Schurr, H.J., Fleury, M., Barbosa, H., Fontaine, P.: Alethe: Towards a generic SMT proof format (extended abstract). Electronic Proceedings in Theoretical Computer Science 336, 49\u201354 (2021)","DOI":"10.4204\/EPTCS.336.6"},{"key":"17_CR33","unstructured":"Siek, J.G., Taha, W.: Gradual typing for functional languages. In: ACM (ed.) Proceedings of Scheme and Functional Programming Workshop (2006)"}],"container-title":["Lecture Notes in Computer Science","Tools and Algorithms for the Construction and Analysis of Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-57246-3_17","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,4,3]],"date-time":"2024-04-03T14:08:16Z","timestamp":1712153296000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-57246-3_17"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024]]},"ISBN":["9783031572456","9783031572463"],"references-count":33,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-57246-3_17","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024]]},"assertion":[{"value":"4 April 2024","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TACAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Tools and Algorithms for the Construction and Analysis of Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Luxembourg City","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Luxembourg","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2024","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 April 2024","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 April 2024","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tacas2024","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/etaps.org\/2024\/conferences\/tacas\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"159","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"53","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"16","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"33% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"10","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}