Continuing from Zipper logic, let’s make the following notation for half zippers:
As you see, each half zipper has a leading strand, i.e. the 1->1″ for the (-n)Z and 1″->1′ for the (+n)Z.
The half zippers are just towers of nodes, therefore if we put a tower over another then we get a bigger tower, provided is made by the same nodes. We transform this into two moves.
We make, from two half zippers with opposed signs, a zipper and a half zipper (that is the CLICK move), then we ZIP the zipper (this corresponds to the graphic beta move). This is explained in the next figure, for a particular case
The CLICK move and the (full) zippers are not necessary, but they help to visualize in a more clear way what is happening. Moreover, you shall see that there are other zipper constructs, and the introduction of both full zippers and the CLICK move helps to structure future explanations.
In the zipper logic formalism, there are also used the fanout node, the termination node and the fanin node (so we are seeing the zippers as if we are in chemlambda).
The fanout and fanin nodes satisfy the FAN-IN move. The fanout satisfies CO-ASSOC and CO-COMM.
I mentioned in the previous post that half zippers are distributors. Indeed, they satisfy the following DIST moves when connected at the leading strand with a fanout:
The LOC PRUNING moves for half zippers are:
In the next post we shall see that zipper logic is universal.
As given here, some of the moves are not local, because there is no restriction on the length of the half zippers where the moves apply. But this is not a serious problem because, as we shall see, it’s enough to use half zippers and moves with bounded length (at least 3).