XXIIVV

A computer harnessing the natural behavior of knots to solve equations.

This is a collection of interesting aspects of knots that are relevant to computation. I'm more interested in using knots as a kind of abacus, than a mere recording device for static values. Pulling ropes should, in a way, compute a result.

Primitives

Given two ropes, there are four primitives that the documentation below will use as building blocks for more complex operations:

Encoding Numbers

By twisting one way or the other, numbers can be encoded in knots:

The addition of two numbers is the concatenation of their twists:

The subtraction of two numbers is the result of positive or negative twists after the cancellation of increments by decrements:

Encoding Fractions

By twisting one way or the other, and rotating the lines that are twisted, fractions can be encoded in knots:

Here are the transformations to encode the fraction 3/5, by the steps t^3, R, t^2 and R.

Unlike concatenating whole numbers for addition and subtraction arithmetic, fractions do not concatenate to recover a result. For example, 1/2 + 1/2, does not equal 1. The tangles represent a single rational number, and not the information needed to connect them to a larger network.

Antiloops

A different way to count is by creating loops, and antiloops. An antiloop is a loop twisted counter-clockwise so that when it collides with a clockwise loop, they cancel each other.

Arithmetic with antiloops is a matter of colliding position with negative numbers and counting what remains. This apparently shares a connection to the lambda calculus. If you consider the rope to be the flow of information and a crossing as an operation. A line rope A, with a loop reflects the operation f(A). So the Church encoded numerals would all look like little loops, like f(f(f(x))) for 3.

Logic

If we consider binary logic operations as two ropes running in parallel, the input as knots between them, the evaluation as the tightening of the ropes and the result whether the ropes are released or tangled. We can encode a 1 with k+, a 0 with k-, and if the result is a knotted rope, the result is true, otherwise false.

The truth table reveals that the default interaction between two ropes is XNOR due to every twist being an increment and reversible. For example, k+ can be undone with a k-, and vice versa.

An AND gate can be created by using a third rope or a peg, when both ropes have to run through(k+, k+) the third rope, the C loop is snagged and the result is true, otherwise the loop is released.

It's possible to hang a picture on the wall from a string using two nails in such a way that removing either of the two nails will make both the string and picture fall down. This can also be understood as a kind of AND gate.

Reidemeister Moves

The rules for deforming knots without cutting them are called Reidemeister moves. Reidemeister's Theorem states that two knot diagrams represent the same knot if and only if they can be transformed into each other using a finite sequence of these three moves:

Alexander's theorem states that every knot or link can be represented as a closed braid.

incoming: soies andes paradichlorisse