Parallel program design: a foundation
Parallel program design: a foundation
An introduction to assertional reasoning for concurrent systems
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Powerlist: a structure for parallel recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal Requirements Analysis of an Avionics Control System
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Verification of Reactive Systems Using DisCo and PVS
FME '97 Proceedings of the 4th International Symposium of Formal Methods Europe on Industrial Applications and Strengthened Foundations of Formal Methods
The Invariant Checker: Automated Deductive Verification of Reactive Systems
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Adaptive Bitonic Sorting: An Optimal Parallel Algorithm for Shared Memory Machines
Adaptive Bitonic Sorting: An Optimal Parallel Algorithm for Shared Memory Machines
Defthms About Zip and Tie: Reasoning about Powerlists in ACL2
Defthms About Zip and Tie: Reasoning about Powerlists in ACL2
Sorting networks and their applications
AFIPS '68 (Spring) Proceedings of the April 30--May 2, 1968, spring joint computer conference
Formalising bitonic sort in type theory
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
Hi-index | 0.00 |
In this paper, we present a proof that the bitonic sort is sound using PVS, a powerful specification and verification environment. First, we briefly introduce this well-known parallel sort. It is based on bitonic lists whose relevant properties can be proven with PVS. To achieve our goal of constructing the proof from scratch, we start by studying some examples of this sort. Then we try to prove properties of this algorithm. Failure in the proof of particular lemmas provides us with information which helps to correct these lemmas. To complete this proof, we start with general cases, continue by examining each of the exception cases, and finish when all cases have been considered. Then we can construct the specification of the bitonic sort which can easily be translated into a traditional imperative language.