2002
DOI: 10.1007/3-540-45685-6_4
|View full text |Cite
|
Sign up to set email alerts
|

Efficient Reasoning about Executable Specifications in Coq

Abstract: Abstract. We describe a package to reason efficiently about executable specifications in Coq. The package provides a command for synthesizing a customized induction principle for a recursively defined function, and a tactic that combines the application of the customized induction principle with automatic rewriting. We further illustrate how the package leads to a drastic reduction (by a factor of 10 approximately) of the size of the proofs in a large-scale case study on reasoning about JavaCard.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
19
0

Year Published

2002
2002
2019
2019

Publication Types

Select...
6
2

Relationship

2
6

Authors

Journals

citations
Cited by 26 publications
(19 citation statements)
references
References 12 publications
0
19
0
Order By: Relevance
“…The recursive definition of F3 requires the use of the Function tool (Balaa and Bertot, 2000;Barthe and Courtieu, 2002;Barthe et al, 2006). Its termination can be proved using a well-founded ordering in terms of the anonymous function that follows the wf keyword, which compares the number of nodes of the two trees given as argument.…”
Section: Additional Certification Of the Synthesized Algorithmsmentioning
confidence: 99%
“…The recursive definition of F3 requires the use of the Function tool (Balaa and Bertot, 2000;Barthe and Courtieu, 2002;Barthe et al, 2006). Its termination can be proved using a well-founded ordering in terms of the anonymous function that follows the wf keyword, which compares the number of nodes of the two trees given as argument.…”
Section: Additional Certification Of the Synthesized Algorithmsmentioning
confidence: 99%
“…functional induction is a new Coq tactic that originates from work by Barthe and Courtieu [2]; it generates automatically induction principles which have proved very useful in reasoning about executable semantics [3], but its scope of application is limited to structurally recursive functions. In addition, the tactic builds the induction principle from the internal representation of the function instead of building it from the user definition of the function, which leads to unnecessarily verbose induction principles which in some circumstances are hard to use.…”
Section: Functional Inductionmentioning
confidence: 99%
“…While being built for the purpose of cross-validation and for Coq, these tactics are of general interest and their underlying principles are applicable to other proof assistants, see [4] for more details. In order to implement completely our methodology for another prover, it is necessary to have similar tactics/strategies.…”
Section: Reasoning Tacticsmentioning
confidence: 99%