Lesson 4.4 · Chapter 4: How bindings behave
Which knots remember a loop
Pass a bit around a ring and find out which contacts preserve its memory.
From John Cullen’s knotlab guide
Explore the idea
Does the ring remember a flip?
Four contacts pass hidden witness bits around a ring. Toggle the visible bit at each contact, then forget the witnesses by asking only whether a consistent assignment exists.
Visible contact bits
2 witness assignments for this pattern
After forgetting witnesses: 8 of 16 visible patterns remain allowed.
Rings of knots. A ring of knots is built from copies of one knot. Each copy has its own distinction x and two witnesses, one shared with the copy before it and one with the copy after it, and the last copy shares a witness with the first. Take parity copies, x ⊕ w_in ⊕ w_out = 0: a copy passes the incoming witness on unchanged when its x is 0, and flipped when its x is 1. Around the ring the witness has to come back to itself, so the number of flips is even. With the witnesses forgotten, the ring allows exactly the patterns of x's with an even number of 1s, which is one parity knot on all of them.
The intuition. Join copies of a knot into a ring, each passing a witness to the next and the last passing back to the first. Then forget the witnesses. Does the ring still remember that it is a loop? Only if going around can flip something, and only a contact that acts like a group element can flip without losing information.
Proved (Lean): RingKernel.lean, all under the forgetting reading.
- Transfers. For fixed values of a copy's other distinctions, the copy
passes its witness through a 2×2 table. Every such table of a knot is a
permutation (identity or swap), or misses at most one pair
(
transfer_cases). - A ring excludes exactly the odd loops. A ring rules out a pattern
exactly when every table along it is a permutation and an odd number of
them swap (
ring_excludes_iff). So a ring of knots composes into a knot or into nothing (ring_one_flip). - Only parity carries a loop at full strength. A knot whose tables are all
permutations is a parity relation (
all_permutations_iff_parity). A ring of parity knots keeps one full bit at every length. - Other knots fade. Their share of excluded patterns shrinks exponentially with the ring's length. A ring of not-all-equal knots forgets the loop completely.
PYTHONPATH=tools python3 -m knotlab rings