Incremental Proof Development in Dafny with Module-Based Induction

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Ho, Son, Pit-Claudel, Clément
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866911766797090816
author Ho, Son
Pit-Claudel, Clément
author_facet Ho, Son
Pit-Claudel, Clément
contents Highly automated theorem provers like Dafny allow users to prove simple properties with little effort, making it easy to quickly sketch proofs. The drawback is that such provers leave users with little control about the proof search, meaning that the small changes inherent to the iterative process of writing a proof often lead to unpredictable variations in verification time, and eventually hard-to-diagnose proof failures. This sometimes turns the boon of high automation into a curse, as instead of breaking early and showing unsolved goals to the user like in Coq, proofs tend to gradually become unstable until their verification time explodes. At this point, the absence of a proof context to investigate often leaves the user to a painful debugging session. In this paper, we show how to use Dafny modules to encode Coq-like induction principles to dramatically improve the stability and maintainability of proofs about inductive data structures.
format Preprint
id arxiv_https___arxiv_org_abs_2401_16233
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Incremental Proof Development in Dafny with Module-Based Induction
Ho, Son
Pit-Claudel, Clément
Programming Languages
Highly automated theorem provers like Dafny allow users to prove simple properties with little effort, making it easy to quickly sketch proofs. The drawback is that such provers leave users with little control about the proof search, meaning that the small changes inherent to the iterative process of writing a proof often lead to unpredictable variations in verification time, and eventually hard-to-diagnose proof failures. This sometimes turns the boon of high automation into a curse, as instead of breaking early and showing unsolved goals to the user like in Coq, proofs tend to gradually become unstable until their verification time explodes. At this point, the absence of a proof context to investigate often leaves the user to a painful debugging session. In this paper, we show how to use Dafny modules to encode Coq-like induction principles to dramatically improve the stability and maintainability of proofs about inductive data structures.
title Incremental Proof Development in Dafny with Module-Based Induction
topic Programming Languages
url https://arxiv.org/abs/2401.16233