Soundness and completeness proofs by coinductive methods
Blanchette, Jasmin Christian, Popescu, Andrei and Traytel, Dmitriy (2017) Soundness and completeness proofs by coinductive methods. Journal of Automated Reasoning, 58 (1) . pp. 149-179. ISSN 0168-7433 [Article] (doi:10.1007/s10817-016-9391-3)
|
PDF
- Final accepted version (with author's formatting)
Download (265kB) | Preview |
Abstract
We show how codatatypes can be employed to produce compact, high-level proofs of key results in logic: the soundness and completeness of proof systems for variations of first-order logic. For the classical completeness result, we first establish an abstract property of possibly infinite derivation trees. The abstract proof can be instantiated for a wide range of Gentzen and tableau systems for various flavors of first-order logic. Soundness becomes interesting as soon as one allows infinite proofs of first-order formulas. This forms the subject of several cyclic proof systems for first-order logic augmented with inductive predicate definitions studied in the literature. All the discussed results are formalized using Isabelle/HOL’s recently introduced support for codatatypes and corecursion. The development illustrates some unique features of Isabelle/HOL’s new coinductive specification language such as nesting through non-free types and mixed recursion–corecursion.
Item Type: | Article |
---|---|
Research Areas: | A. > School of Science and Technology > Computer Science > Foundations of Computing group |
Item ID: | 22099 |
Notes on copyright: | This is a post-peer-review, pre-copyedit version of an article published in Journal of Automated Reasoning. The final authenticated version is available online via Springer at http://dx.doi.org/10.1007/s10817-016-9391-3 |
Useful Links: | |
Depositing User: | Andrei Popescu |
Date Deposited: | 19 Jun 2017 16:01 |
Last Modified: | 29 Nov 2022 21:18 |
URI: | https://eprints.mdx.ac.uk/id/eprint/22099 |
Actions (login required)
![]() |
View Item |
Statistics
Additional statistics are available via IRStats2.