
This artifact contains the Coq formalisations of the two operational semantics presented in the paper, and a proof that they are equivalent. While the overall semantics is not presented in the same way as in the paper, the queue pairs follow exactly the definitions given.
Download:
make command.
Organisation of the Coq development:
hahn contains a helper library for manipulating lists and
   binary relations. More information on this library can be found on
   https://github.com/vafeiadis/hahn.
RTC.v and ListBefore.v contain general
   auxiliary Coq definitions and tactics, respectively about the reflexive
   transitive closure of a relation and the relative ordering of elements in a
   list.
FullQP.v contains the definition of the concrete
   operational semantics (queue pairs with 6 buffers).
MergedQP.v contains the definition of the simplified
   operational semantics (queue pairs with 3 buffers).
EqFullMergedQP.v states and proves the equivalence of
   the two semantics.