b}{\Sigma_a}$ is a vertex with a loop.

The unification graph is used to define *diagrams*, which are graphs obtained by composing occurrences of stars in a constellation along dual rays. They represent actual connexions between the stars of a constellation, following the connexions allowed by the unification graph.

\[def:diagram\] Let $\mathcal{A}$ be a set of colours $\mathcal{A}\subseteq\mathcal{C}$. An $\mathcal{A}$-diagram $\delta$ over a constellation $\Sigma$ is a finite connected graph[^3] $D_{\delta}$ and a graph homomorphism $\delta : D_{\delta} \rightarrow \ugraph{\mathcal{A}}{\Sigma}$ which is *ray injective*, i.e. for all $v\in V^{D_\delta}$ the function $\{ e\in E^{D_\delta}\mid v\in s^{D_\delta}(e)\}\rightarrow \abs{\delta(v)}; \{(\delta(v),r),(s',r')\}\mapsto r$ is injective. If $D_{\delta}$ is a tree, we say $\delta$ is *tree-like*.

Given an $\mathcal{A}$-diagram $\delta$, we define its set of *paired rays* as the set $\mathtt{paired}(\delta)=\{ (v,r) \mid \exists e\in E^{D_{\delta}}, v\in s^{D_{\delta}}(e), (\delta(v),r)\in\rays{\Sigma}\}$ and its set of free rays as $\mathtt{free}(\delta)=\{ (v,r) \mid v\in V^{D_{\delta}}, (\delta(v),r)\in\rays{\Sigma}, (v,r)\not\in \mathtt{paired}(\delta) \}$.

\[ex:diagrams\] If we take the constellations from example \[ex:constellation\] together with their unfication graph in example \[ex:ugraph\], any subchain of $\ugraph{nat}{\Sigma_\nat}$ and $\ugraph{b, c, d, e}{\Sigma_{ex}}$ can give rise to a diagram. As for, $\ugraph{a, b}{\Sigma_a}$, we can make a diagram be connecting as many occurrences of the star $\gstar{-a(x), +a(x), 