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.