$\newcommand\over{\vert}\newcommand\rot[1]{\mathopen<#1\mathclose>}$By its definition, an algebraic tangle, and by extension, its closure (knot or link) can be written as a string (of concatenated operations). For example, let $\over$ denote an overcrossing, $\rot x$ (bracketing) the rotation of $x$ by $90°$ (for simplicity I assume all mutants are equal) and $xy$ (concatenation) addition (this forms a complete set of operations to generate all algebraic tangles). Then, say, $\over\rot{\over\over\over\rot{\rot{\rot\over}}}$ is a valid tangle, and it can be simplified since $\forall_{xyz}$ $y\rot{\rot x}z=yxz$, $x\over\rot\over y=xy$ and $y\over\rot{\over x}z=y\rot{\rot x\rot\over}z$ (a longer string, but fewer crossings!). Since the operations are local, the rules are context-free.
The question is obvious: Is there a string rewriting system which can decide algorithmically if two tangles are equal, preferably in $O(L)$ ($L$ string length) time? (You can use other fundamental operations — in particular, it would be nice to have a binary string which can be easily decoded.)
Note: I experimented a bit and only needed two more complicated rules (which are still easy applications of Reidemeister moves) to get at least all tangles with $6$ crossings enumerated correctly (in this system the tangle corresponding to the Borromean rings can only be expressed with $7$ crossings instead of $5$, so I don't count these). But $6$ is far too small...
<>
behave as brackets rather than as relations, using\mathopen<
and\mathclose>
instead (compare $a<x>b$a<x>b
to $a\mathopen<x\mathclose>b$a\mathopen<x\mathclose>b
), but still repeated rotations look a bit unfortunate. Are you opposed to $\langle x\rangle$\langle x\rangle
, which nests better (compare $\mathopen<\mathopen<x\mathclose>\mathclose>$\mathopen<\mathopen<x\mathclose>\mathclose>
to $\langle\langle x\rangle\rangle$\langle\langle x\rangle\rangle
)? $\endgroup$