Non-deterministic data types: models and implementations
Acta Informatica
Designing programs that check their work
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
LEDA: a platform for combinatorial and geometric computing
LEDA: a platform for combinatorial and geometric computing
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Verifiable Programming
Data Refinement: Model-Oriented Proof Methods and their Comparison
Data Refinement: Model-Oriented Proof Methods and their Comparison
A Framework for the Verification of Certifying Computations
Journal of Automated Reasoning
Hi-index | 0.00 |
We formally verify the result checker for priority queues that is implemented in LEDA. We have developed a method, based on the notion of implementation, which links abstract specifications to concrete implementations. The method allows non-determinism in the abstract specifications that the concrete implementations have to fill in. We have formally verified that, if the checker has not reported an error up to a certain moment, then the structure it checks has behaved like a priority queue up to that moment. For the verification, we have used the first-order theorem prover Saturate.