Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA (Full Paper)

Modern separation logics allow one to prove rich properties of intricate code, e.g. functional correctness and linearizability of non-blocking concurrent code. However, this expressiveness leads to a complexity that makes these logics difficult to apply. Manual proofs or proofs in interactive theore...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org 2021-08
Hauptverfasser: Wolf, Felix A, Schwerhoff, Malte, Müller, Peter
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title arXiv.org
container_volume
creator Wolf, Felix A
Schwerhoff, Malte
Müller, Peter
description Modern separation logics allow one to prove rich properties of intricate code, e.g. functional correctness and linearizability of non-blocking concurrent code. However, this expressiveness leads to a complexity that makes these logics difficult to apply. Manual proofs or proofs in interactive theorem provers consist of a large number of steps, often with subtle side conditions. On the other hand, automation with dedicated verifiers typically requires sophisticated proof search algorithms that are specific to the given program logic, resulting in limited tool support that makes it difficult to experiment with program logics, e.g. when learning, improving, or comparing them. Proof outline checkers fill this gap. Their input is a program annotated with the most essential proof steps, just like the proof outlines typically presented in papers. The tool then checks automatically that this outline represents a valid proof in the program logic. In this paper, we systematically develop a proof outline checker for the TaDA logic, which reduces the checking to a simpler verification problem, for which automated tools exist. Our approach leads to proof outline checkers that provide substantially more automation than interactive provers, but are much simpler to develop than custom automatic verifiers.
format Article
fullrecord <record><control><sourceid>proquest</sourceid><recordid>TN_cdi_proquest_journals_2451458606</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2451458606</sourcerecordid><originalsourceid>FETCH-proquest_journals_24514586063</originalsourceid><addsrcrecordid>eNqNykELgjAYgOERBEn5Hz7oUgdBN2fSTVbSIUjIuwyZpS0_2xz084uoe6f38D4T4lHGoiCNKZ0R39ouDEOabCjnzCNngX3dWgUnN-q2VxYaNCBB4H3Q6glHvLT1FjIoDGLzUyCuqr4p88Gl3GWwyp3WUMhBmfWCTBuprfK_nZNlvi_FIRgMPpyyY9WhM_17VTTmUczTJEzYf-oFHzI9wg</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2451458606</pqid></control><display><type>article</type><title>Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA (Full Paper)</title><source>Free E- Journals</source><creator>Wolf, Felix A ; Schwerhoff, Malte ; Müller, Peter</creator><creatorcontrib>Wolf, Felix A ; Schwerhoff, Malte ; Müller, Peter</creatorcontrib><description>Modern separation logics allow one to prove rich properties of intricate code, e.g. functional correctness and linearizability of non-blocking concurrent code. However, this expressiveness leads to a complexity that makes these logics difficult to apply. Manual proofs or proofs in interactive theorem provers consist of a large number of steps, often with subtle side conditions. On the other hand, automation with dedicated verifiers typically requires sophisticated proof search algorithms that are specific to the given program logic, resulting in limited tool support that makes it difficult to experiment with program logics, e.g. when learning, improving, or comparing them. Proof outline checkers fill this gap. Their input is a program annotated with the most essential proof steps, just like the proof outlines typically presented in papers. The tool then checks automatically that this outline represents a valid proof in the program logic. In this paper, we systematically develop a proof outline checker for the TaDA logic, which reduces the checking to a simpler verification problem, for which automated tools exist. Our approach leads to proof outline checkers that provide substantially more automation than interactive provers, but are much simpler to develop than custom automatic verifiers.</description><identifier>EISSN: 2331-8422</identifier><language>eng</language><publisher>Ithaca: Cornell University Library, arXiv.org</publisher><subject>Automation ; Checkers ; Complexity ; Logic ; Search algorithms ; Theorem proving</subject><ispartof>arXiv.org, 2021-08</ispartof><rights>2021. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>776,780</link.rule.ids></links><search><creatorcontrib>Wolf, Felix A</creatorcontrib><creatorcontrib>Schwerhoff, Malte</creatorcontrib><creatorcontrib>Müller, Peter</creatorcontrib><title>Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA (Full Paper)</title><title>arXiv.org</title><description>Modern separation logics allow one to prove rich properties of intricate code, e.g. functional correctness and linearizability of non-blocking concurrent code. However, this expressiveness leads to a complexity that makes these logics difficult to apply. Manual proofs or proofs in interactive theorem provers consist of a large number of steps, often with subtle side conditions. On the other hand, automation with dedicated verifiers typically requires sophisticated proof search algorithms that are specific to the given program logic, resulting in limited tool support that makes it difficult to experiment with program logics, e.g. when learning, improving, or comparing them. Proof outline checkers fill this gap. Their input is a program annotated with the most essential proof steps, just like the proof outlines typically presented in papers. The tool then checks automatically that this outline represents a valid proof in the program logic. In this paper, we systematically develop a proof outline checker for the TaDA logic, which reduces the checking to a simpler verification problem, for which automated tools exist. Our approach leads to proof outline checkers that provide substantially more automation than interactive provers, but are much simpler to develop than custom automatic verifiers.</description><subject>Automation</subject><subject>Checkers</subject><subject>Complexity</subject><subject>Logic</subject><subject>Search algorithms</subject><subject>Theorem proving</subject><issn>2331-8422</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2021</creationdate><recordtype>article</recordtype><sourceid>BENPR</sourceid><recordid>eNqNykELgjAYgOERBEn5Hz7oUgdBN2fSTVbSIUjIuwyZpS0_2xz084uoe6f38D4T4lHGoiCNKZ0R39ouDEOabCjnzCNngX3dWgUnN-q2VxYaNCBB4H3Q6glHvLT1FjIoDGLzUyCuqr4p88Gl3GWwyp3WUMhBmfWCTBuprfK_nZNlvi_FIRgMPpyyY9WhM_17VTTmUczTJEzYf-oFHzI9wg</recordid><startdate>20210813</startdate><enddate>20210813</enddate><creator>Wolf, Felix A</creator><creator>Schwerhoff, Malte</creator><creator>Müller, Peter</creator><general>Cornell University Library, arXiv.org</general><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>HCIFZ</scope><scope>L6V</scope><scope>M7S</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope></search><sort><creationdate>20210813</creationdate><title>Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA (Full Paper)</title><author>Wolf, Felix A ; Schwerhoff, Malte ; Müller, Peter</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-proquest_journals_24514586063</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2021</creationdate><topic>Automation</topic><topic>Checkers</topic><topic>Complexity</topic><topic>Logic</topic><topic>Search algorithms</topic><topic>Theorem proving</topic><toplevel>online_resources</toplevel><creatorcontrib>Wolf, Felix A</creatorcontrib><creatorcontrib>Schwerhoff, Malte</creatorcontrib><creatorcontrib>Müller, Peter</creatorcontrib><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Publicly Available Content Database</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering Collection</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Wolf, Felix A</au><au>Schwerhoff, Malte</au><au>Müller, Peter</au><format>book</format><genre>document</genre><ristype>GEN</ristype><atitle>Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA (Full Paper)</atitle><jtitle>arXiv.org</jtitle><date>2021-08-13</date><risdate>2021</risdate><eissn>2331-8422</eissn><abstract>Modern separation logics allow one to prove rich properties of intricate code, e.g. functional correctness and linearizability of non-blocking concurrent code. However, this expressiveness leads to a complexity that makes these logics difficult to apply. Manual proofs or proofs in interactive theorem provers consist of a large number of steps, often with subtle side conditions. On the other hand, automation with dedicated verifiers typically requires sophisticated proof search algorithms that are specific to the given program logic, resulting in limited tool support that makes it difficult to experiment with program logics, e.g. when learning, improving, or comparing them. Proof outline checkers fill this gap. Their input is a program annotated with the most essential proof steps, just like the proof outlines typically presented in papers. The tool then checks automatically that this outline represents a valid proof in the program logic. In this paper, we systematically develop a proof outline checker for the TaDA logic, which reduces the checking to a simpler verification problem, for which automated tools exist. Our approach leads to proof outline checkers that provide substantially more automation than interactive provers, but are much simpler to develop than custom automatic verifiers.</abstract><cop>Ithaca</cop><pub>Cornell University Library, arXiv.org</pub><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier EISSN: 2331-8422
ispartof arXiv.org, 2021-08
issn 2331-8422
language eng
recordid cdi_proquest_journals_2451458606
source Free E- Journals
subjects Automation
Checkers
Complexity
Logic
Search algorithms
Theorem proving
title Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA (Full Paper)
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-27T08%3A42%3A38IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=document&rft.atitle=Concise%20Outlines%20for%20a%20Complex%20Logic:%20A%20Proof%20Outline%20Checker%20for%20TaDA%20(Full%20Paper)&rft.jtitle=arXiv.org&rft.au=Wolf,%20Felix%20A&rft.date=2021-08-13&rft.eissn=2331-8422&rft_id=info:doi/&rft_dat=%3Cproquest%3E2451458606%3C/proquest%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2451458606&rft_id=info:pmid/&rfr_iscdi=true