This paper is both a position paper on a particular approach in program correctness, and also a contribution to this area. The approach entails the generation of programs (code) from the executable content of logical theories. This capability already exists within the main theorem provers like Coq, Isabelle and ACL2 and PVS. Here we will focus on issues portraying the use of this methodology, rather than the underlying theory. We illustrate the power of the approach within PVS via two case studies (on unification and compression) that lead to actual running code. We also demonstrate its flexibility by extending the program generation capabilities. This paper fits in a line of ongoing integration of programming and proving
In this paper we describe our protocol for the interaction between a theory and the programs extract...
An executable computational logic can provide the desired bridge between formal system properties an...
In the late 1990s, proof-carrying code was able to produce machine-checkable safety proofs for machi...
This paper is both a position paper on a particular approach in program correctness, and also a cont...
Existing verification technology, though theoretically adequate, is not directly applicable to the ...
Programs are like constructive proofs of their specifications. This analogy is a precise equivalenc...
Many transformation systems for program optimization, program synthesis, and program specialization ...
Abstract. The use of computer algebra is usually considered beneficial for mechanised reasoning in m...
this paper is to investigate the impact on the design of a programming language of tight integration...
Abstract. The goal of this lecture is to show how modern theorem provers—in this case, the Coq proof...
Contains fulltext : 18929.pdf (publisher's version ) (Open Access)This thesis desc...
This paper presents how to automatically prove that an "optimized " program is correct wit...
Abstract. We present a proof theoretical method for de-compiling lowlevel code to the typed lambda c...
In this thesis, we aim to formalize the effects of a computation. Indeed, most used programming lang...
We present a system for representing programs as proofs, which combines features of classical and co...
In this paper we describe our protocol for the interaction between a theory and the programs extract...
An executable computational logic can provide the desired bridge between formal system properties an...
In the late 1990s, proof-carrying code was able to produce machine-checkable safety proofs for machi...
This paper is both a position paper on a particular approach in program correctness, and also a cont...
Existing verification technology, though theoretically adequate, is not directly applicable to the ...
Programs are like constructive proofs of their specifications. This analogy is a precise equivalenc...
Many transformation systems for program optimization, program synthesis, and program specialization ...
Abstract. The use of computer algebra is usually considered beneficial for mechanised reasoning in m...
this paper is to investigate the impact on the design of a programming language of tight integration...
Abstract. The goal of this lecture is to show how modern theorem provers—in this case, the Coq proof...
Contains fulltext : 18929.pdf (publisher's version ) (Open Access)This thesis desc...
This paper presents how to automatically prove that an "optimized " program is correct wit...
Abstract. We present a proof theoretical method for de-compiling lowlevel code to the typed lambda c...
In this thesis, we aim to formalize the effects of a computation. Indeed, most used programming lang...
We present a system for representing programs as proofs, which combines features of classical and co...
In this paper we describe our protocol for the interaction between a theory and the programs extract...
An executable computational logic can provide the desired bridge between formal system properties an...
In the late 1990s, proof-carrying code was able to produce machine-checkable safety proofs for machi...