Pointer Program Derivation Using Coq: Graphs and Schorr-Waite Algorithm
- Cite this paper as:
- Dufourd JF. (2014) Pointer Program Derivation Using Coq: Graphs and Schorr-Waite Algorithm. In: Merz S., Pang J. (eds) Formal Methods and Software Engineering. ICFEM 2014. Lecture Notes in Computer Science, vol 8829. Springer, Cham
We present a specification, a derivation and total correctness proofs of operations for bi-functional graphs implemented with pointers, including the Schorr-Waite algorithm. This one marks such a graph with an economical depth-first strategy. Our approach is purely algebraic and functional, from a simple graph specification to the simulation of a tail-recursive imperative program, then to a true C pointer program by elementary classical transformations. We stay in the unique higher-order formalism of the Calculus of Inductive Constructions for specifications, programs and proofs. All the development is supported by Coq.
Unable to display preview. Download preview PDF.