Proof of completeness for cyclic graphs

Proposition (Completeness). If [[f]]  [[g]] then f = g.

Proof. Let R be the bisimulation between [[f]] and [[g]]. We can regard this as a graph G:

By expressivity, let h be the term such that [[h]]  G. Find normal forms for f, g and h:
Let E1...Em be the outgoing edges of [[f1]] which form the cycles in [[f]], and F1...Fn be the outgoing edges of [[h1]] which form the cycles in [[h]]. Construct a shuffle s with:

We can then show that:
and since we have completeness for acyclic graphs, this means:
=
Then since trace is uniform wrt shuffles:
=
and so f = h. We can show g = h similarly.

Back