How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
Terminating computations for classical knot invariants
1 · Prerequisites
- Absolute and Conditional Convergence; Rearrangement; Products
- Areas of Elementary Plane Figures
- Asymptotic Cones and the Sublinear Triangle Criterion
- Binary Operations, Monoids, Groups and Subgroups
- Categories, Functors and Natural Transformations
- Compactness
- Compactness in Metric Spaces
- Completeness, Completion, and Uniform Continuity
- Congruences, the Integers Modulo n and the Chinese Remainder Theorem
- Connectedness
- Constant Rank, Submersions, Immersions and Regular Level Sets
- Construction of the Natural Numbers
- Construction of the Real Numbers via Cauchy Sequences
- Construction of the Real Numbers via Dedekind Cuts
- Continuity, IVT, EVT, and Uniform Continuity
- Cosets, Index and Lagrange's Theorem
- Countability and Uncountability
- Countability Axioms and Cardinal Functions
- Crossing signs, writhe, and linking number
- Darboux, L'Hôpital, and Taylor's Theorem
- Determinants of Matrices over a Commutative Ring
- Divisibility, Euclidean Domains, Principal Ideal Domains and Unique Factorisation
- Divisibility, Greatest Common Divisors and Bézout's Identity
- Dual Spaces, Bilinear and Quadratic Forms, and Sylvester's Law of Inertia
- Euclidean Ordinary Differential Equations with Smooth Dependence
- Exterior Powers, Orientation and Hodge Duality
- Filters and Ultrafilters
- Finite Counting, Factorials and Binomial Coefficients
- Foundations of the Real Numbers for Analysis
- Fox colorings and quandle invariants
- Free Modules, Exact Sequences, Projective and Injective Modules
- Fubini and Change of Variables
- Gaussian Elimination, Elementary Matrices and Reduced Row Echelon Form
- Geodesics, the Exponential Map, Completeness, and Hopf–Rinow
- Geometric Braids and Artin Generators
- Graphs, Walks and Connectivity
- Group Actions, Orbits, Stabilisers and Cayley's Theorem
- Group Homomorphisms and the Isomorphism Theorems
- Handle Decompositions Duality and Rearrangement
- Hausdorff via the Diagonal
- Hereditary and Productive Behaviour of the Separation Axioms
- Homotopy and Homotopy Equivalence
- Ideals, Quotient Rings and the Isomorphism Theorems for Rings
- Inner Product Spaces, Gram-Schmidt, Projections and Adjoints
- Kauffman bracket state sum and the Jones polynomial
- Limits of Real Functions
- limsup, liminf, and Subsequential Limits
- Linear Independence, Bases and Dimension
- Linear Transformations, Rank-Nullity and Quotient Spaces
- Manifolds with Boundary Collars and Orientations
- Matrices, the Matrix of a Linear Map, and Change of Basis
- Metric Spaces
- Mixed Partials, Taylor Formulae, and Extrema
- Modules, Submodules, Quotient Modules and the Isomorphism Theorems
- Monoidal Categories and Monoidal Functors
- Monotone Functions, Discontinuities, and Continuity Sets
- Monotone Sequences, Bolzano-Weierstrass, and Cauchy Completeness
- Normal Subgroups and Quotient Groups
- Order, Zorn's Lemma, and the Axiom of Choice
- Oriented and Mod Two Intersection Numbers
- Oriented Links, Braid Closures, and Markov Equivalence
- Partitions of Unity and Paracompactness
- Picard-Lindelöf and First-Order Ordinary Differential Equations
- Planar-diagram codes and knot-table enumeration
- Plane Graphs, Euler's Formula and the Five Colour Theorem
- Polynomial Rings, the Division Algorithm and Roots
- Power Series and Real-Analytic Functions
- Properties of the Integral and the Working FTC
- Rank Theorems and Embedded Submanifolds
- Relations, Functions, and Quotients
- Riemannian Metrics Length Distance and Volume
- Rings, Subrings, Integral Domains and Fields
- Rⁿ as a Normed Space; Vector-Valued Functions
- Roots, Rational Powers, and Classical Inequalities
- Sard Theorem and Transversality
- Seifert surfaces and knot genus
- Separation Axioms: the Hierarchy
- Sequences and Limits
- Sequences and Series of Functions; Uniform Convergence
- Series: Convergence and the Nonnegative Tests
- Simple Field Extensions and the Construction of the Complex Numbers
- Smooth Manifolds and Smooth Maps
- Smooth Partitions of Unity and Exhaustions
- Smooth Surgery Traces and Handle Trading
- Smooth Vector Bundles and Sections
- Subspaces, Products, and Quotients
- Suprema and Infima
- Symmetric Groups, Cycle Decomposition and the Sign Homomorphism
- Tangent Cotangent and the Differential
- Temperley–Lieb Diagram Algebra and Catalan Basis
- Tensor Coherence and Algebraic Descent
- Tensor Fields Exterior Algebra and Differential Forms
- Tensor Products of Modules
- The Derivative and the Mean Value Theorems
- The Determinant of a Linear Operator, Cofactors and Cramer's Rule
- The Exponential Function
- The Fundamental Theorems of Calculus
- The Inverse and Implicit Function Theorems
- The Inverse Function Theorem Completed
- The Riemann Integral in Rᵐ and Jordan Content
- The Riemann Integral: Definition and Integrability
- The Topology of Euclidean Space
- The Total Derivative in ℝᵐ → ℝⁿ
- The ZFC Axioms and the Basic Set Constructions
- Topological Spaces and Continuity
- Topology of ℝ
- Trees, Forests and Spanning Trees
- Vector Fields Flows and Lie Derivatives
- Vector Spaces, Linear Subspaces, Span and Direct Sums
- Whitney Embedding Tubular Neighbourhoods and Approximation
2 · Logical flowchart
3 · Definitions, theorems and proofs
Encoded diagram size and exact output
Definition
Let be a nonempty finite regular oriented link diagram: a smooth immersion of a finite union of oriented circles into the plane with finitely many transverse double points, no triple points, and one overpassing branch specified at each double point. Let be its number of crossings and its number of components. An arc is a connected strand segment cut at each undercrossing; each component with no undercrossings contributes one closed arc. Write for the number of arcs. If components have no undercrossings, then and .
A supplied finite code for has code length , the total number of bits in that literal code, including its tags, signs, labels, and separators. The length depends on the chosen encoding. In particular, for one of the tagged Gauss, signed Dowker–Thistlethwaite, or oriented planar-diagram formats, is the bit length of the supplied valid code in that format. The procedures in this page take typed mathematical diagrams or valid codes as stated; no string parser or malformed-code behavior is included in any operation count.
For an integer , define its signed-magnitude bit length by and for . For a Laurent polynomial with finite support, define its coefficient-bit size as if , and otherwise as . Its absolute Laurent degree is , with value for . For a prime , elements of are represented exactly by residues , and their representation uses bits.
An exact output is the complete integer, finite list, or Laurent polynomial with its integer coefficients and exponents. A floating-point approximation is not an exact output. A field-operation count treats each addition, subtraction, multiplication, division by a nonzero element, and equality test in as one operation; this convention does not assert that these operations have constant bit cost as varies.
Definition references
Dihedral Fox coloring counts are preserved by Reidemeister moves
Statement
Let be an odd prime. A Fox -coloring of a finite regular oriented link diagram assigns an element of to each arc and satisfies at every crossing, where is the overarc color and are the two underarc colors. If is obtained from by planar isotopy or one oriented Reidemeister move of type R1, R2, or R3, restriction outside the move disk gives a bijection from the Fox -colorings of to those of . Consequently the number of Fox -colorings is unchanged along every finite sequence of such moves. The local bijections use no choice principle.
Statement references
Facts & Assumptions
Given: An odd prime and a finite regular oriented link diagram changed to by one planar isotopy or one oriented R1, R2, or R3 move.
Quandles and knot-diagram colorings: a quandle coloring assigns one element to each arc and at a crossing the target underarc color is the source underarc color acted on by the overarc color.
The dihedral operation is a quandle: on , the operation is ; each right translation is an involution, and .
Oriented Reidemeister moves: each local move is supported in a disk, all strand orientation/sign variants are included, and a planar isotopy transports the diagram and its decorations.
Proof
For fixed , define . Then , so . Also . Thus both the forward and reverse crossing rules use the same involution, and an arc's color is uniquely recoverable across one underpass.
In an R1 disk, the coloring relation on the kinked side is either or , where is the unchanged boundary color and is the color of the new interior underarc. In the first case by idempotency; in the second, has the unique solution because is bijective. Deleting the kink is the inverse restriction map. The two formulas cover both strand directions because the inverse operation equals the operation by step 1.1.
In an R2 disk, fix the color of the strand passing over the other strand and the incoming underarc color . The first crossing changes the underarc color to , and the second changes it by ; their composition is . Therefore every boundary coloring extends uniquely across the two-crossing side, and the reverse R2 move gives the inverse bijection. Other orientation variants replace one of these maps by its inverse, which is the same map by step 1.1.
For a braid-like R3 orientation, start with boundary colors . Propagating through the two sides gives respectively and . The last coordinates agree by right self-distributivity in [F2], so every boundary coloring on either side has a unique matching extension on the other. Reversing a crossing replaces a right translation by its inverse; step 1.1 makes that the same map, and relabeling the three strands gives every height-order and orientation variant in [F3].
If is empty, its unique empty coloring is carried to itself by planar isotopy, and no Reidemeister move is supported on the empty diagram. If is nonempty, planar isotopy carries every arc and local crossing relation bijectively to its image, while steps 2.1, 2.2, and 2.3 give explicit coloring bijections for every local move. Composing the finitely many bijections along any finite move sequence preserves the coloring count. These constructions act on finite arc labels and use no choice principle.
Exact bracket output bit-growth bound
Statement
Let be a nonempty unoriented regular link diagram with crossings and components, and let be its exact Kauffman bracket. Its Laurent exponents satisfy , and its signed-magnitude coefficient-bit size, as defined in the encoded diagram size definition, is at most . Consequently, a knot diagram () has Laurent degree and coefficient-bit size bounded linearly in .
The state-sum algorithm admits a naive exact implementation taking elementary bit steps in the following model. Its typed input gives and the number of crossingless components in self-delimiting binary: each number is encoded by ones, a zero, and its ordinary binary digits, with the number of those digits. These fields are followed by the edge-pairing table on the endpoints indexed by crossing and local port. Its entries are ordered by endpoint index and each uses bits. At each crossing the ports are northwest, northeast, southeast, southwest in the bracket's fixed local chart; the two smoothing pairings are therefore fixed pairs of port indices. The table is assumed to be the incidence data of the given diagram. Polynomial arithmetic uses dense arrays of signed binary integer coefficients, and one tape-cell read, write, or head move on a fixed finite number of binary work tapes costs one step. For knots this bound is . It is a bound for this explicit indexed implementation, not for arbitrary black-box polynomial operations. Constructing the indexed input from an arbitrary literal code of length , reading other labels or padding, and processing geometric coordinates are outside this bound.
Statement references
Facts & Assumptions
Given: A nonempty unoriented regular link diagram with crossings and components.
Encoded diagram size and exact output: is the crossing count, is the component count, and a Laurent coefficient has signed-magnitude bit length when .
Kauffman bracket state sum: the bracket term of a state is with ; , and is the number of circles after smoothing.
Kauffman bracket state-sum procedure properties: the state-sum procedure visits exactly the maps from the crossing set to and returns the displayed sum.
Proof
The state set has exactly elements by [F3]. A complete smoothing starts with circles. At each crossing the four local endpoints lie on one or two current circles, and either smoothing reconnects them into one or two circles. Thus the circle count increases by at most one at each of the smoothings. Every state has .
For a fixed state, put , so . The binomial theorem gives . These exponents are distinct, so its coefficient l1 norm is ; multiplication by the monomial only shifts the exponents.
Since , one has . The exponents in lie between and . Using , every exponent in every state term, and thus in the sum, has absolute value at most .
Put . Represent a crossing endpoint by an integer from to , grouped into four successive ports at each crossing, and write for the supplied edge-pairing involution. For a state, let pair the two left and two right ports for A, or the two top and two bottom ports for B. The multigraph on the endpoints with one -edge and one -edge at every vertex is two-regular, allowing parallel edges. Each connected component follows one smoothed circle, and the supplied crossingless components add further circles. Thus a traversal marking a vertex when first queued computes exactly. The same traversal, with the opposite ports paired instead of smoothing ports, computes the original component count ; perform it once initially and then compute for allocation. Use binary counters and linear scans for all table and mark lookups: there are endpoint visits, each using a bounded number of scans of records with index bits. Even with a work-tape queue or stack scanned linearly, each visit costs bit steps, so tracing costs . Computing and adding use counters of bits and fit this bound. Enumerate the states with a -bit binary counter, making exactly visits; the case is one empty mask with . Reading the stated input takes steps and is included.
Summing over all states, the l1 norm of the final coefficient sequence is at most the sum of the state-term l1 norms, hence at most . Every individual coefficient therefore has absolute value at most .
Let . By step 3.1, a nonzero coefficient satisfies , so and . The support lies in at most integer exponents by step 2.2, so storing the exact polynomial as a dense coefficient array takes bits. For a knot, , giving degree at most and coefficient-bit size at most , both linear in .
Use coefficient slots for every exponent from to , padded with zeros, and use bits per signed-magnitude slot, plus -bit position counters. These arrays have tape cells. Every partial accumulator, not just the final sum, has coefficient l1 norm at most : apply the triangle inequality in step 3.1 to the subset of states already processed. Hence its coefficients fit the chosen width, since . For one state compute and start with the array for . For , form a new array by the exact recurrence , reading absent coefficients as zero. This is multiplication by , so . All intermediate powers have degree at most and l1 norm at most , so they too fit the arrays and widths.
Here is a direct tape bound without unit-cost access or integer arithmetic. To retrieve or write a coefficient, scan an entire array of slots of bits, advancing a binary slot counter and comparing it with the desired index. The counter work is and the scanned data have bits, so one lookup or write costs bit steps. Addition or subtraction of two signed integers in these slots is performed by sign comparison, a linear magnitude comparison, and the usual binary carry or borrow scan, costing steps; the extra carry bit fits the reserved width. For each of the destination coefficients in the recurrence of step 4.2, make at most two source lookups, one such addition, and one destination write. A multiplication by therefore costs steps. There are repetitions, giving work. Shift this state polynomial by and add it to the accumulator coefficient by coefficient using the same linear scans; the state shift has magnitude at most , its support stays inside the slots by step 2.2, and this accumulation costs . Clearing arrays, moving the state counter, and loop-index bookkeeping are bounded by the same charges.
Summing the per-state bounds in steps 2.3, 4.2, and 5.1 over exactly visits gives bit steps. The initial component-count traversal costs by step 2.3; coefficient-array initialization and writing the dense exact output cost . These are absorbed because and . The loop tracing and arithmetic realize exactly the state terms in [F2], so [F3] identifies the result with the bracket. When , the single state computes with the same bound; when , gives . All choices and operations are finite. The bit-cost argument concerns only the specified indexed table and elementary binary operations, so it makes no claim about parsing arbitrary code strings of length or the cost of an unspecified arithmetic library.
Linking number and Fox coloring finite complexity
Statement
Assume the Axiom of Countable Choice. Let be a finite regular oriented link diagram with crossings, components, and arcs as defined in the encoded diagram size definition. For a two-component diagram, after one constant-size component-count check, the linking-number scan visits exactly the crossings, makes at most component/sign tests and integer additions, and returns the exact integer half-sum of mixed crossing signs; its absolute value is at most and it is invariant under ambient isotopy of the oriented link.
For any such diagram and any odd prime , the Fox coloring system has one row per crossing and one column per arc over . Matrix construction uses at most field additions to combine repeated arc coefficients and zero-entry writes. If row reduction uses pivots and has free variables, then , pivot search uses at most entry tests, and row reduction uses at most field arithmetic operations. The algorithm returns exactly Fox colorings. Listing the full solution set after reduction uses at most field arithmetic and output-write operations. If only the count is required, can instead be computed by repeated squaring using at most integer multiplications, with at most magnitude bits. The input convention gives , so these bounds depend only on crossings, components, and field size. The coloring count is invariant under ambient isotopy of the oriented link. Field operations count as unit-cost operations; no bit-time bound for those operations or polynomial-time evaluation claim is made.
Statement references
Encoded diagram size and exact output
Compute oriented linking number from a diagram
The diagram linking-number scan terminates and returns the stated integer
The mixed crossing sum is even and defines linking number
Compute dihedral Fox colorings by row reduction
The Fox-coloring algorithm terminates and returns all colorings
Dihedral Fox coloring counts are preserved by Reidemeister moves
Reidemeister's theorem for oriented diagrams
The Axiom of Countable Choice ()
Calegari, Introduction to Knot Theory (2025), §§3.3 and 4.1
Roberts, Knots Knotes (1999), §§3.2–3.4
Przytycki, 3-coloring and other elementary invariants of knots (1998), §§0–1
Facts & Assumptions
Given: The Axiom of Countable Choice, a finite regular oriented link diagram , and an odd prime .
The Axiom of Countable Choice (): is the axiom of countable choice.
Encoded diagram size and exact output: is the crossing count, the number of link components, and where counts components with no undercrossings; each finite-field operation is counted as one operation.
Compute oriented linking number from a diagram: for exactly two components, the procedure scans the finite crossing list once, adds the sign of each mixed crossing, ignores self-crossings, and returns half the sum.
The diagram linking-number scan terminates and returns the stated integer: the scan terminates after exactly one iteration per crossing and returns the integer linking number.
The mixed crossing sum is even and defines linking number: the mixed crossing-sign half-sum is an integer and is unchanged by every oriented Reidemeister move and planar isotopy; under ACω it is invariant for ambient-isotopic oriented links.
Compute dihedral Fox colorings by row reduction: for each crossing the matrix row is over ; row reduction uses at most pivots and the output is formed from free-variable assignments.
The Fox-coloring algorithm terminates and returns all colorings: if the reduced system has free variables, the algorithm terminates and returns exactly solutions, namely all Fox -colorings.
Dihedral Fox coloring counts are preserved by Reidemeister moves: each oriented Reidemeister move and planar isotopy preserves the Fox -coloring count by an explicit bijection.
Reidemeister's theorem for oriented diagrams: under , two ambient-isotopic oriented regular diagrams are connected by a finite sequence of planar isotopies and oriented Reidemeister moves.
Proof
The linking scan performs one visit per element of the finite crossing list by [F2]. On a two-component input each visit makes at most one component-membership test and, for a mixed crossing, one integer addition, so there are at most tests and additions after the constant-size component-count check. Each added term is or , hence the absolute value of the sum is at most and the returned half-sum has absolute value at most . The result is an integer and is the diagram's linking number by [F3] and [F4].
For each of the crossings, [F5] contributes three coefficients to a row. If arc labels repeat, combining at most three contributions requires at most two field additions for that row, so setup uses at most additions; initializing the dense matrix writes zeros. There are columns, and each pivot search checks at most rows, for at most entry tests.
Let be the number of pivots, so and . Normalizing each pivot row divides at most entries by its nonzero pivot, for at most divisions. Clearing a pivot column from each of at most other rows updates at most entries, with at most one multiplication and one addition per entry. The row-reduction arithmetic count is therefore at most . These loops are finite because there are at most columns and rows.
There are exactly assignments to the free variables by [F6]. For each assignment, each of the pivot variables is a linear combination of at most free variables; computing it uses at most multiplications and additions/subtractions, including the final negation. Writing the full solution uses output entries. Thus listing every coloring uses at most field arithmetic and output-write operations. The loop is finite, including , when there is one solution and only the entries are written.
For , the count is without multiplication. For , binary repeated squaring computes with at most integer multiplications. Since , the magnitude bit length is at most . This count-only postprocessing does not enumerate the solution set and does not change the full-list cost in step 3.1.
The diagram-by-diagram scan, matrix construction, row reduction, and finite solution enumeration above use no choice principle. By [F7], the Fox coloring count is preserved along every finite sequence of planar isotopies and oriented Reidemeister moves; by [A1] and [F8], ambient-isotopic oriented links admit such a sequence. By [F4], the linking-number half-sum has the same move invariance. Thus ACω is used only for the ambient-isotopy interpretations, not for any finite operation count.
Sources
Encoded diagram size and exact output
Compute oriented linking number from a diagram
The diagram linking-number scan terminates and returns the stated integer
The mixed crossing sum is even and defines linking number
Compute dihedral Fox colorings by row reduction
The Fox-coloring algorithm terminates and returns all colorings
Dihedral Fox coloring counts are preserved by Reidemeister moves
Bracket state-sum exponential bound
Statement
Let be a nonempty oriented link diagram with crossings and components. The state-sum portion of the normalized bracket computation visits exactly smoothing states; computing the writhe correction requires one pass over the crossing signs. Its exact normalized output has absolute Laurent degree at most and signed coefficient-bit size at most . For a knot diagram, these output bounds are linear in .
Using the indexed endpoint-pairing input and dense signed binary-array implementation of the exact bracket bit-growth theorem, together with the crossing signs supplied as bits, the normalized bracket can be computed in elementary bit steps. This is for knots. Input records are assumed to describe the given typed diagram; arbitrary literal-code reading and parsing, extra padding or labels, and geometric-coordinate processing are outside this implementation bound. The finite computations are choice-free. Under the Axiom of Countable Choice, is an invariant of the ambient-isotopy class of the oriented link. No polynomial-time Jones evaluation is asserted.
Statement references
Encoded diagram size and exact output
Kauffman bracket state-sum procedure properties
Exact bracket output bit-growth bound
The normalized bracket is an oriented link invariant
The Axiom of Countable Choice ()
Kauffman, Combinatorial Knot Theory and the Jones Polynomial (2022), §2
Facts & Assumptions
Given: A nonempty regular oriented link diagram with crossings, components, and an indeterminate.
The Axiom of Countable Choice (): is the axiom of countable choice.
Encoded diagram size and exact output: the crossing count is , the component count is , and Laurent coefficient-bit size uses the signed-magnitude convention.
Kauffman bracket state sum: every state contributes to the exact Laurent polynomial.
Kauffman bracket state-sum procedure properties: the state-sum procedure visits exactly the smoothing assignments and returns the displayed bracket.
Exact bracket output bit-growth bound: the raw bracket has absolute Laurent degree at most and signed coefficient-bit size at most . Its specified indexed endpoint-pairing and dense binary-array implementation takes elementary bit steps, excluding arbitrary literal-code parsing.
The normalized bracket is an oriented link invariant: with crossing signs and , the normalization is unchanged under oriented Reidemeister moves and is an ambient-link invariant under .
Proof
By [F3], the state-sum procedure visits every map from the -element crossing set to exactly once, so it makes exactly state visits. The writhe is the sum of one sign from each of the crossings by [F5], so a direct scan computes it in one pass. These finite operations use no choice principle.
Each crossing sign is or , so . Multiplication by shifts every Laurent exponent of the raw bracket by and multiplies coefficients only by a sign. Thus the absolute degree increases by at most , giving by [F4], while coefficient-bit size is unchanged and remains at most . For both bounds are linear in .
Put . By [F4], compute the raw bracket in bit steps in the specified representation. Summing the supplied sign bits uses an -bit signed counter and bit steps, rather than unit-cost unbounded arithmetic. The factor has sign and exponent . Allocate a dense output array with exponents from to and the same -bit signed coefficient slots as in [F4]. For each raw slot, copy its value to the position shifted by and toggle the sign when necessary. There are slots. Linear lookup or writing scans at most tape cells per slot, including binary index counters, so even this naive normalization costs bit steps. Step 1.2 ensures every shifted exponent and coefficient fits the array. This cost is absorbed in , and for it is . No arbitrary code parser or black-box arithmetic operation is assigned a false constant bit cost.
Under [A1], [F5] identifies the normalized output with an invariant of the ambient-isotopy class of the oriented link. The state count, writhe pass, degree shift, coefficient estimate, and specified bit implementation in steps 1.1, 1.2, and 2.1 remain choice-free. The running-time estimate is exponential in the crossing count, and makes no polynomial-time Jones evaluation claim.
Enumerate Reidemeister move neighbors from a knot code
Definition
Input: A valid normalized oriented planar-diagram code for a connected one-component knot diagram, with crossings. A positive-crossing-count code records its finite crossing labels, four darts at each crossing, edge pairings, clockwise rotations, strand orientations, over/under pairs, crossing signs, and one outer face. A crossingless code records one oriented circle and its outer face.
Output: A finite ordered list of pairs , where is a valid normalized one-component knot code and records either the finite crossing/edge relabeling identifying the unchanged planar-isotopy class or a local disk boundary, move type, and orientation/sign variant witnessing one oriented R1, R2, or R3 move from to . Different labelings of the same candidate may appear more than once.
Finite comparison rules: Two normalized codes represent the same code class when some bijection of their finite crossing labels and edge labels carries all dart incidences, crossing rotations, orientations, signs, component cycles, and outer-face data of one code to the other. For a move-site test use the finite spherical cellulation returned by reconstruction and mark a point at infinity in its distinguished outer face. For the crossingless circle, insert one auxiliary degree-two vertex and use its two complementary face disks; this vertex is suppressed in all comparisons.
For each of , enumerate every distribution of distinct cut points among diagram edges and every linear order of the points on each edge. Use one representative of each order (for example equally spaced interior points); their numerical positions are immaterial. In each face disk enumerate noncrossing pairings of all boundary occurrences of these cut points by interior arcs. In the distinguished face also record which complementary region contains the marked point at infinity. Glue the face arcs at the cut points and retain only choices forming a single simple closed curve. Cutting the finite cellulation along these arcs and flooding across incident cell pieces identifies the two sides; select the side not containing infinity. This is the candidate closed move disk. Its entire diagram intersection, including every vertex, edge segment and possible closed component inside it, must be isomorphic relative to its cyclically ordered boundary points to one side of a standard R1, R2 or R3 template with the chosen orientation/sign variant. In particular no additional diagram portion is permitted inside the disk. All tests are finite incidence and cyclic-order comparisons. The same construction is performed for the other code, requiring the opposite side of the same template and an isomorphism of the outside records fixing the ordered boundary points, all decorations and the infinity region. Store the cut orders, face pairings, selected regions, template variant and outside isomorphism as the certificate.
The local templates and their exact orientation/sign variants are those in the oriented Reidemeister-move definition.
Instructions:
- Validate with the planar-code validation procedure. If it is invalid, return its first invalid-code result.
- Set and run the bounded normalized-diagram enumerator with bound . It returns a finite list of reconstructed one-component knot-diagram candidates.
- For each candidate, form the finite set of normalized code representatives obtained by assigning crossing labels and edge labels in every permitted order and applying the code's normalization rule.
- For each representative , apply the finite comparison rules. Append with a relabeling certificate if it is the same code class as , or with the successful local-site certificate if a comparison certifies one R1, R2, or R3 move between them. Preserve the enumerator order and retain duplicates.
- Return the accumulated list.
The bound includes every one-move result because R1 changes crossing count by one, R2 by two, and R3 by zero. This procedure lists candidates one move away; it does not decide whether two arbitrary codes are related by any number of moves.
Breadth-first Reidemeister search
Definition
Input: Two valid normalized oriented planar-diagram codes for connected one-component knot diagrams.
Output: The algorithm returns Found(path) only if it has a finite sequence of code classes from to , with a finite local-move certificate for each adjacent pair. It has no negative-output branch. It may run forever if the target code class is never reached.
Instructions:
- Validate both input codes using the planar-code validation procedure. If either is invalid, return that first invalid-code result. For each valid code, form its canonical representative by checking all bijections of its finite crossing labels and edge labels, recomputing the prescribed edge normalization, and selecting the lexicographically least resulting code.
- Set the initial frontier to the singleton containing the canonical representative of . Initialize a discovered-code set with that representative and an empty predecessor record.
- At the beginning of each breadth layer, test every code in the current frontier against the canonical representative of . If one matches, follow its stored predecessor records back to , reverse the resulting finite list, and return the path with its move certificates.
- Otherwise, for each code in the current frontier, call the Reidemeister-neighbor algorithm. For each returned pair , canonicalize by the finite relabeling procedure in step 1. If its canonical representative has not been discovered, add it to the next frontier and store as its predecessor record.
- Replace the current frontier by the next frontier and repeat from step 3. If a layer is empty, continue with empty layers; do not return “inequivalent.”
Code equality in this procedure means equality of canonical representatives under the finite crossing/edge relabelings of the normalized code convention. Every loop in one layer is finite; the number of layers has no fixed bound.
Reidemeister enumeration is only a semidecision
Statement
Assume the Axiom of Countable Choice. Let be valid normalized oriented planar-diagram codes for connected one-component knot diagrams. The breadth-first Reidemeister search terminates with a finite move witness whenever the represented oriented knots are ambient-isotopic. If they are inequivalent, the search has no negative-output branch and does not halt with a negative answer; failure to find a path through any fixed finite depth says only that no path of length at most has yet been found. This is a semidecision result, not a decision or complexity-class result for knot equivalence.
Statement references
Breadth-first Reidemeister search
Enumerate Reidemeister move neighbors from a knot code
Enumerate diagrams up to a crossing bound
Enumeration up to a crossing bound procedure properties
Planar-code validation and reconstruction procedure properties
Valid codes reconstruct the declared link diagram
Reidemeister's theorem for oriented diagrams
The Axiom of Countable Choice ()
Facts & Assumptions
Given: The Axiom of Countable Choice and two valid normalized oriented planar-diagram codes for connected one-component knot diagrams.
The Axiom of Countable Choice (): is the axiom of countable choice.
Enumerate Reidemeister move neighbors from a knot code: on a code with crossings, the neighbor procedure enumerates all valid code candidates through crossing bound and retains exactly those with a finite local R1, R2, R3, or planar-isotopy certificate.
Enumerate diagrams up to a crossing bound: for a nonnegative bound , the procedure enumerates normalized connected one-component codes with at most crossings by finite sign-vector, dart-pairing, face-selector, and validation loops.
Enumeration up to a crossing bound procedure properties: the bounded enumerator terminates and includes every normalized connected one-component code through the supplied crossing bound; it does not identify knot types.
Planar-code validation and reconstruction procedure properties: validation of each finite code terminates and reconstructs its oriented diagram exactly when the listed code and face conditions hold.
Valid codes reconstruct the declared link diagram: under , a valid connected one-component code reconstructs its declared diagram, and code relabelings describe the same planar-isotopy class.
Breadth-first Reidemeister search: each layer is tested against the target, then expanded by the finite neighbor procedure; the algorithm stores predecessor certificates and has no negative-output branch.
Reidemeister's theorem for oriented diagrams: under , two ambient-isotopic oriented diagrams are related by a finite sequence of planar isotopies and oriented Reidemeister moves.
Proof
Fix a code with crossings. The neighbor procedure uses bound . By [F2] and [F3], this yields a finite candidate list containing every normalized connected one-component code with at most crossings. Each candidate has finitely many crossing labels, edge labels, and local edge intervals; the number of relabelings, subsets of at most three local crossings, boundary orders, and move variants is finite. Each candidate validation terminates by [F4]. Thus the neighbor list is finite and its local comparisons terminate.
If the neighbor procedure returns , its certificate records either a code relabeling or a local code replacement matching one of the oriented Reidemeister variants, so [F4] and [F5] identify the represented diagrams up to planar isotopy and that one local move. Conversely, any single R1, R2, or R3 move changes the crossing count by at most two. Its result therefore appears among the candidates bounded by by [F3]. The move disk has two, four, or six boundary endpoints and at most three local crossing records; these are among the finite sites and variants checked by [F1]. Relabeling its finite code data is also among the finite bijections tested. Hence every one-move neighbor is returned.
The initial breadth frontier is a singleton. If a frontier is finite, [F1] and step 1.1 give a finite neighbor list for each of its members; a finite union of finite lists is finite. By induction every layer is finite and is processed in finite time, including an empty layer, which the algorithm repeats without returning a negative answer.
If the search returns a path, every adjacent pair has a certificate from [F1]. By step 2.1 each such pair differs by planar isotopy or one oriented Reidemeister move; concatenating the finitely many certificates gives a finite move sequence between the input diagrams. The easy direction of [F7] therefore gives ambient isotopy.
If the represented oriented knots are ambient-isotopic, [A1] and [F7] give a finite sequence of planar isotopies and oriented Reidemeister moves. By [F5], each intermediate diagram has a valid normalized code class. By step 2.1, the code class after each move appears in the corresponding neighbor list. Induction on the finite path length therefore places the target code class in a finite breadth layer; by step 2.2 that layer finishes, and [F6] returns the path.
The algorithm has no negative-output branch by [F6]. If no finite move path exists, it never returns Found(path); any finite-depth run that has not found the target establishes only that no path of that bounded length was found. The finite enumeration proves no decision or complexity-class conclusion. Finite neighbor generation and breadth-layer processing are choice-free; is used only in [F5] and [F7] to interpret code and ambient-isotopy equivalence.
Sources
Breadth-first Reidemeister search
Enumerate Reidemeister move neighbors from a knot code
Enumerate diagrams up to a crossing bound
Enumeration up to a crossing bound procedure properties
Planar-code validation and reconstruction procedure properties
Valid codes reconstruct the declared link diagram
4 · Examples, counterexamples and false statements
None yet.
Sources
- Danny Calegari, Introduction to Knot Theory, University of Chicago course notes (2025), §§1.2–1.3 and 4.1
- Justin Roberts, Knots Knotes, Edinburgh course notes (1999), §§3.3–3.4 and 4.3
- Danny Calegari, Introduction to Knot Theory, University of Chicago course notes (2025), §4.1, pp. 30–32
- Justin Roberts, Knots Knotes, Edinburgh course notes (1999), §3.3, pp. 16–18
- Józef H. Przytycki, 3-coloring and other elementary invariants of knots, §1, arXiv:math/0608172
- Louis H. Kauffman, Combinatorial Knot Theory and the Jones Polynomial, arXiv:2204.12104v2, §2
- Justin Roberts, Knots Knotes, Edinburgh course notes (1999), §4.3, pp. 24–25
- Danny Calegari, Introduction to Knot Theory, University of Chicago course notes (2025), §5.1, pp. 38–40
- Danny Calegari, Introduction to Knot Theory, University of Chicago course notes (2025), §3.3, pp. 26–27 and §4.1, pp. 30–32
- Justin Roberts, Knots Knotes, Edinburgh course notes (1999), §§3.2–3.4, pp. 14–19
- Józef H. Przytycki, 3-coloring and other elementary invariants of knots, §§0–1, arXiv:math/0608172
- Danny Calegari, Introduction to Knot Theory, University of Chicago course notes (2025), §5.1, pp. 38–41
- Danny Calegari, Introduction to Knot Theory, University of Chicago course notes (2025), §1.2, pp. 5–7
- Jeff Erickson, Planar Graphs, Computational Topology lecture notes (2023)
- Danny Calegari, Introduction to Knot Theory, University of Chicago course notes (2025), §§1.2–1.3
- Justin Roberts, Knots Knotes, Edinburgh course notes (1999), §2.3, pp. 10–13