Continuing from Zipper logic and knot diagrams, here are the S,K,I combinators when expressed in this convention of the zipper logic:
Besides crossings (which satisfy at least the Reidemeister 2 move), there are also fanout nodes. There are associated DIST moves which self-reproduce the half-zippers as expressed with crossings.
Where do the DIST moves come from? Well, recall that there are at least two different ways to express crossings as macros in GLC or chemlambda: one with application and abstraction nodes, the other with fanout and dilation nodes.
This is in fact the point: I am interested to see if the emergent algebra sector of GLC, or the corresponding one in chemlambda, is universal, and when I am using crossings I am thinking secretly about dilations.
The DIST moves (which will be displayed in a future post) come from the DIST moves from the emergent algebra sector of chemlambda (read this post and links therein).
There is though a construct which is strange, namely the left-to-right arrow which has attached a stack of right-to-left arrows, and the associated CLICK move which connects these stacks of arrows.
Actually, these stacks look like half-zippers themselves and the CLICK move looks like (un)zipping a zipper.
So, are we back to square one?
No, because even if we replace those stacks by some other half-zippers and the CLICK move by unzipping, we still have the property that those constructs and moves, which are external to knot diagrams, are very localized.
Anyway, I can cheat by saying that I can do the CLICK move, if the crossings are expressed in the emergent algebra sector of chemlambda (therefore dilation nodes, fanout and fanin nodes), with the help of ELIM LOOPS and SWITCH.
But I am interested into simple, mindless ways to do this.