A Naive Prover for First-Order Logic: A Minimal Example of Analytic Completeness

Asta Halkjær From, Jørgen Villadsen

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

21 Downloads (Pure)

Abstract

The analytic technique for proving completeness gives a very operational perspective: build a countermodel to the unproved formula from a failed proof attempt in your calculus. We have to be careful, however, that the proof attempt did not fail because our strategy in finding it was flawed. Overcoming this concern requires designing a prover. We design and formalize in Isabelle/HOL a sequent calculus prover for first-order logic with functions. We formalize soundness and completeness theorems using an existing framework and extract executable code to Haskell. The crucial idea is to move complexity from the prover itself to a stream of instructions that it follows. The result serves as a minimal example of the analytic technique, a naive prover for first-order logic, and a case study in formal verification.
Original languageEnglish
Title of host publicationProceedings of the 32nd International Conference on Automated Reasoning with Analytic Tableaux and Related Methods, TABLEAUX 2023
Volume14278
PublisherSpringer
Publication date2023
Pages 468–480
ISBN (Print)978-3-031-43512-6
ISBN (Electronic)978-3-031-43513-3
DOIs
Publication statusPublished - 2023
Event32nd International Conference on Automated Reasoning with Analytic Tableaux and Related Methods - Prague, Czech Republic
Duration: 18 Sept 202321 Sept 2023

Conference

Conference32nd International Conference on Automated Reasoning with Analytic Tableaux and Related Methods
Country/TerritoryCzech Republic
CityPrague
Period18/09/202321/09/2023
SeriesLecture Notes in Computer Science
ISSN0302-9743

Keywords

  • First-Order Logic
  • Prover
  • Completeness
  • Isabelle/HOL

Fingerprint

Dive into the research topics of 'A Naive Prover for First-Order Logic: A Minimal Example of Analytic Completeness'. Together they form a unique fingerprint.

Cite this