Skip to Main Content
In this paper, an approach is proposed to verify communication protocol using the type theoretical proof assistant Coq. Compared with existing methods of protocol verification, this approach is based directly on the simple notion of event trace. Without the burden of embedding external concurrent languages such as process algebra, finite state machine, temporal logic, etc., this approach leads to very efficient reasoning. The approach is deliberately designed to exploit the computational mechanism intrinsic to type theory so that many cases can be proved automatically by computation. Because of these advantages, even non-trivial protocols can be verified within reasonable cost. This paper shows that both safeness and liveness can be formalized and verified using only finite event traces. A simplified version of the sliding window protocol is used to illustrate the approach. All the results presented in this paper have been mechanically checked in Coq. The relevant Coq scripts are accessible through Internet.