The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Synthesis of ML programs in the system Coq
Journal of Symbolic Computation - Special issue on automatic programming
Cayenne—a language with dependent types
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Machine-Checked Implementation of Buchberger's Algorithm
Journal of Automated Reasoning
Journal of Automated Reasoning
Formalizing Stålmarck's Algorithm in Coq
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
Formalizing Convex Hull Algorithms
TPHOLs '01 Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics
A Generic Library for Floating-Point Numbers and Its Application to Exact Computing
TPHOLs '01 Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics
Formalizing a JVML Verifier for Initialization in a Theorem Prover
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Filters on coinductive streams, an application to eratosthenes' sieve
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Hi-index | 0.00 |
One approach to Prof. Hoare's challenge is to view the development of verified software from the perspective of interactive theorem provers. This idea is not new and many medium-scale software systems have been developed and verified in this manner. Developments based on HOL, ACL2, or PVS have already been described and advocated and our position stands on the same line: most powerful (higher-order) theorem proving systems already contain a programming language, programs can be developed and the correctness of these programs can be specified and verified, they can then be compiled into traditional executable code. In this sense, we already have a small scale example of a verification aware programming language.