Abstract
The only way to verify the correctness of a distributed algorithm with a high degree of confidence is to construct a correctness proof that is so formal and rigorous as to be checkable by a machine. The chief aim of this paper is to show, via a simple but typical example, how such proofs can be constructed and checked using HOL—a mechanical theorem-proving system for higher-order logic. The secondary aim is to demonstrate a method for reasoning about distributed algorithms based on the notions of events and causality. The goal is to perform as much reasoning as possible in the events-and-causality view and then translate the results back to the processors-and-messages view, since the former is more abstract and easier to reason about than the latter. The example we use to illustrate our ideas is the verification of a simple distributed summation algorithm for trees. A companion paper [6] describes the formal graph theory needed for this task.
Preview
Unable to display preview. Download preview PDF.
References
Flemming Andersen, Kim Dam Petersen, and Jimmi S. Pettersson, “Program Verification Using HOL-UNITY”, in [14].
G.v. Bochmann and D.K. Probst (ed.), Computer-Aided Verification, 4th International Workshop, LNCS 663, Springer-Verlag, 1992.
K. Mani Chandy and Jayadev Misra, Parallel Program Design: A Foundation, Addison-Wesley, 1988.
Ching-Tsun Chou, “A Sequent Formulation of a Logic of Predicates in HOL”, pp. 71–80 of L.J.M. Claesen and M.J.C. Gordon (ed.), Higher Order Logic Theorem Proving and Its Applications, 5th International Workshop, IFIP Transactions A-20, North-Holland, 1992.
Ching-Tsun Chou, “Predicates, Temporal Logic, and Simulations”, in [14].
Ching-Tsun Chou, “A Formal Theory of Undirected Graphs in Higher-Order Logic”, in this Proceedings.
Ching-Tsun Chou, “Practical Use of the Notions of Events and Causality in Reasoning about Distributed Algorithms”, work in progress.
Ching-Tsun Chou and Eli Gafni, “Understanding and Verifying Distributed Algorithms Using Stratified Decomposition”, Proc. of the 7th ACM Symp. on Principles of Distributed Computing, pp. 44–65, Aug. 1988.
Urban Engberg, Peter Grønning, and Leslie Lamport, “Mechanical Verification of Concurrent Systems with TLA”, pp. 44–55 of [2].
R.G. Gallager, P.A. Humblet, and P.M. Spira, “A Distributed Algorithm for Minimum-Weight Spanning Trees”, ACM Trans. on Programming Languages and Systems, Vol. 5, No. 1, pp. 66–77, Jan. 1983.
David M. Goldschlag, “Mechanically Verifying Concutrent Programs with the Boyer-Moore Prover”, IEEE Trans. on Software Engineering, Vol. 16, No. 9, pp. 1005–1023, Sep. 1990.
Michael J.C. Gordon, “HOL: A Proof Generating System for Higher-Order Logic”, pp. 73–128 of G. Birtwistle and P.A. Subrahmanyam (ed.), VLSI Specification, Verification and Synthesis, Kluwer Academic Publishers, 1988.
Michael J.C. Gordon and Thomas F. Melham (ed.), Introduction to HOL: A Theorem-Proving Environment for Higher-Order Logic, Cambridge University Press, 1993.
J.J. Joyce and C.-J.H. Seger (ed.), Higher Order Logic Theorem Proving and Its Applications, 6th International Workshop, LNCS 780, Springer-Verlag, 1993.
Leslie Lamport, “The Temporal Logic of Actions”, DEC SRC technical report #79, Dec. 1991. (To appear in ACM Trans. on Programming Languages and Systems.)
Kenneth L. McMillan, Symbolic Model Checking, Kluwer Academic Publishers, 1993.
Thomas F. Melham, “Automating Recursive Type Definitions in Higher-Order Logic”, pp. 341–386 of G. Birtwistle and P.A. Subrahmanyam (ed.), Current Trends in Hardware Verification and Automated Theorem Proving, Springer-Verlag, 1989.
Adrian Segall, “Distributed Network Protocols”, IEEE Trans. on Information Theory, Vol. 29, No. 1, pp. 23–35, Jan. 1983.
Joakim von Wright, “Mechanising the Temporal Logic of Actions in HOL”, pp. 155–159 of M. Archer et al. (ed.), Proc. of 1991 Workshop on the HOL Theorem Proving System and Its Applications, IEEE Computer Society Press, 1992.
Joakim von Wright and Thomas Långbacka, “Using a Theorem Prover for Reasoning about Concurrent Algorithms”, pp. 56–68 of [2].
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chou, CT. (1994). Mechanical verification of distributed algorithms in higher-order logic. In: Melham, T.F., Camilleri, J. (eds) Higher Order Logic Theorem Proving and Its Applications. HUG 1994. Lecture Notes in Computer Science, vol 859. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58450-1_41
Download citation
DOI: https://doi.org/10.1007/3-540-58450-1_41
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58450-6
Online ISBN: 978-3-540-48803-3
eBook Packages: Springer Book Archive