# Completeness proof: symmetric monoidal categories

A two-coloured flow graph over two signatures V and C with the same sorts is a single-coloured flow graph over V except that:

- Each node is either labelled N : c or N : c.

- If N : E F, N : c and c : X Y, then E : X and F : Y.

A simulation between two-coloured flow graphs is the same as for single-coloured flow graphs except that:

- R is a function on nodes labelled by C (that is for any node N : c of G there is precisely one node N of G such that N R N).

For example, there is no bisimulation:

| R |

since if R is a function on central nodes, it must map the node labelled c to only one of the nodes on the right, and so R-1 is not a total function on central nodes. Similarly, there is no bisimulation:

| R |

since R does not map c to any node.

We can now replay the same proof of soundness and completeness as in the finite products case. In each case, the proof of the theorems is so similar to that in the finite products case that we elide it.

Let Graph(V,C) be the category of acyclic flow graphs over (V,C), viewed up to bisimulation.

- For graphs only containing val nodes, bisimulation in Graph(V,C) is the same as bisimulation in Graph(V).

- For graphs only containing central nodes, bisimulation in Graph(V,C) is the same as graph isomorphism.

Proposition (Bisimulation is a congruence). Bisimulation is a congruence wrt the graph operations.

Proposition (Flow graphs form a strict symmetric monoidal category).

- Graph(V,C) is a strict symmetric monoidal category over C.

- The inclusion Graph(V) Graph(V,C) is an identity on objects symmetric monoidal functor.

Define Term(V,C) as the free strict symmetric monoidal category over C which has Term(V) as a sub smc with the same objects.

f,g | ::= | f |
| | | f ; g |
| | | f g |
| | | c |

If terms can be proved equal using the axioms for an smc with a sub smc Term(V), we shall write f = g.

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

Proposition (Expressivity). For any graph G, there is a term f such that [[f]] G.

A term is in normal form (ranged over by n) iff it is of the form:

n | ::= |

Proposition (Normalization). For any f we can find normal g such that f = g.

Proposition (Cancellation of permutations). For any:

we can find h such that:
=

Proposition (Cancellation of val nodes). For any:

we can find h such that:
=

Proposition (Cancellation of central nodes). For any:

we can find h such that:
=

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

Proposition (Initiality). Graph(V,C) is the initial strict symmetric monoidal category over C with Graph(V) as a sub smc with the same objects.

Previous | Next