On the bottom here I have some code built on top of AlgebraicJulia. We construct the big triangle in three steps. We declare the building blocks, we declare how those building blocks are related to each other, and then we compose the building blocks according to the relation. On the right I show what we call an undirected wiring diagram - this is what is created in line 6. We are going to stick triangles into T1, T2, T3, and we will stick an isolated vertex of the appropriate color in b
, r
, and y
. The lines in the diagram say that b
must be related to T1
and T3
in some way. It turns out there is only one way this can be done, by mapping the blue vertex to the blue vertex of the T1
(and of T3
). So there is no further information needed to disambiguate what composing these building blocks means.