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.
Planar-diagram codes and knot-table enumeration
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
- Compactness
- Compactness in Metric Spaces
- Completeness, Completion, and Uniform Continuity
- Connectedness
- 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
- Countability and Uncountability
- Countability Axioms and Cardinal Functions
- Crossing signs, writhe, and linking number
- Determinants of Matrices over a Commutative Ring
- 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
- Fubini and Change of Variables
- 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
- Handle Decompositions Duality and Rearrangement
- Hausdorff via the Diagonal
- Hereditary and Productive Behaviour of the Separation Axioms
- Homotopy and Homotopy Equivalence
- 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
- Monotone Functions, Discontinuities, and Continuity Sets
- Monotone Sequences, Bolzano-Weierstrass, and Cauchy Completeness
- Order, Zorn's Lemma, and the Axiom of Choice
- Oriented Links, Braid Closures, and Markov Equivalence
- Partitions of Unity and Paracompactness
- Picard-Lindelöf and First-Order Ordinary Differential Equations
- 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
- 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
- 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
- Tensor Fields Exterior Algebra and Differential Forms
- 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
2 · Logical flowchart
3 · Definitions, theorems and proofs
Euler formula for connected plane multigraphs
Statement
Let be a finite nonempty connected plane multigraph drawn in : vertices are distinct points; each edge is a polygonal arc joining its endpoints; edge interiors are pairwise disjoint and avoid every vertex; and loops and parallel edges are allowed. A loop is an edge whose two endpoints are the same vertex, with its interior otherwise embedded. A face is a connected component of the complement of the drawing. If are the numbers of vertices, edges, and faces, respectively, then
Statement references
Plane embeddings of finite simple graphs, their faces, facial boundary walks and lengths (counting a bridge twice), and planar graphs — finite simple plane graphs and their face convention.
Euler's formula for every connected plane graph — Euler's formula for connected simple plane graphs.
Diestel, Graph Theory, Theorem 4.2.9 — connected plane graph Euler formula.
Facts & Assumptions
Given: A finite connected polygonal plane multigraph , allowing loops and parallel edges, with faces the components of the complement of its point-set drawing.
A plane graph in the library's simple-graph convention is a finite simple graph drawn with polygonal edges whose interiors are pairwise disjoint and avoid vertices; its faces are the complementary regions (Plane embeddings of finite simple graphs, their faces, facial boundary walks and lengths (counting a bridge twice), and planar graphs).
For a connected plane graph with vertex, edge, and face counts , one has (Euler's formula for every connected plane graph).
Proof
For each edge choose two distinct interior points at one-third and two-thirds of its polygonal parametrization, using the finitely many edge parametrizations in the code. Subdivide at those points into three edges and declare the two points new vertices. If is a loop at , its replacement is the path with three distinct vertices along the loop; it has no loop edge. New vertices are unique to their original edge, so replacement edges from different original edges cannot be parallel, and the three edges replacing one original edge have different endpoint pairs. Thus the subdivided graph is simple. Subdivision preserves connectedness and leaves the point-set drawing unchanged, so its faces are exactly those of . With original edges, and , hence . If , nonempty connectedness forces , and the same construction leaves the one-vertex simple plane graph unchanged. By [F1], is a connected plane graph in the library's simple-graph convention in either case.
Apply [F2] to . Since and by step 1.1, the equality gives .
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes
Definition
Let be the projection plane in an oriented -sphere and let be the unit viewing normal pointing toward the viewer. Orient so that is a positive basis exactly when is a positive ambient basis. A crossing code has a finite set of crossing labels and a finite set of darts, where a dart is one directed half-edge incident to a crossing. A fixed-point-free involution pairs the two ends of each edge: and . A vertex map records the crossing incident to each dart. A rotation system is the permutation whose cycles give the clockwise order of darts at each crossing. Each crossing has four darts; the two over-strand darts and the two under-strand darts are opposite in that cyclic order. An arrow on each dart records whether its edge is directed into or out of its incident crossing. The pairing must join one incoming end to one outgoing end. At a crossing, each opposite pair has one incoming and one outgoing dart, so following an edge and then the opposite dart defines the oriented link components. A code is connected when the graph with vertices and edges the -pairs is connected.
The sign of an oriented crossing is or according as is positive or negative, where the two tangent vectors follow the oriented over- and under-strands. This item fixes the local cyclic-order convention as follows. Starting with the outgoing over-dart and reading counterclockwise, a positive crossing has order ; a negative crossing has order . The stored crossing sign and cyclic order must agree. This is the page's explicit sign convention. It agrees with the current KT-03 supplier: reversing its positive counterclockwise order from outgoing over gives the clockwise record .
For a nonempty connected crossing graph, let , , and let
be the number of cycles of the face permutation .
A spherical code is a code satisfying . A spherical code becomes a
plane code by distinguishing one face as the outer face and deleting a
point in that face from the sphere. The crossingless one-component code is a separate case: its Gauss data are one empty component word, its DT pairing and crossing-sign vector are empty at , and its PD data are the single loop Loop[1]; every format also carries an orientation marker, ccw or cw, for the unit circle in the oriented plane, and the outer-face marker is outside. Thus the crossingless code records which direction orients its circle. It has no crossing graph or face-permutation test. Disconnected crossing graphs and disconnected crossingless links are outside this code class.
A normalized planar-diagram code with has crossing labels and four dart positions at each crossing, in clockwise order beginning with the outgoing over-dart. The opposite pair is over and is under. For sign , the clockwise record is ; for sign it is . Edge labels are assigned by scanning crossings in increasing order and their four dart positions in order, giving the next positive integer to the pair containing the first not-yet-labelled dart. The outer face is recorded by its least dart in its face cycle. These rules remove arbitrary edge-name and face-name choices; different crossing labelings may still represent the same diagram. At a normalized code is the crossingless record with one of the two orientation markers above.
A Gauss code for an oriented diagram records, in traversal order on each oriented component, a signed crossing label: means the component passes over at crossing , and means it passes under. For a knot there is one cyclic word; for a link there is one cyclic word per component. Each crossing label must occur exactly twice in total, once positively and once negatively. When , every listed component word is nonempty; a separate crossingless component is not part of this code class. The zero-crossing case is only the one-component code specified above. The code also carries a separate algebraic crossing-sign vector , one entry for each label. Choosing a basepoint turns the knot's cyclic word into a based word; changing the basepoint cyclically shifts the word, and relabeling crossings changes only their names. The visit order, over/under signs, and crossing-sign vector determine the crossing rotation system; it is realizable in the sphere only when the resulting code is spherical. A plane Gauss code also carries an identifier of one cycle of its face permutation to designate the outer face.
A signed Dowker–Thistlethwaite code, in this page's convention, encodes a based oriented knot with crossings by numbering its visits in traversal order. For each odd visit , record the even visit paired with it as when the odd visit is over and when it is under; also record the algebraic crossing sign for crossing label , the pair containing odd visit . Its parity conditions are that are exactly the even numbers , each once, and each paired crossing has one over-visit and one under-visit. The separate records the crossing sign; signed DT conventions elsewhere may encode signs differently. The associated cyclic traversal and crossing signs determine a rotation system, which must pass the same spherical realizability test. A plane DT code also carries an identifier of one cycle of its face permutation to designate the outer face.
An oriented planar-diagram code labels each edge segment by an integer and lists its two incident darts at crossing records. Each crossing record lists its four directed edge ends in clockwise order, beginning with the outgoing over-dart, and records which opposite pair is over, the orientation of each strand, and the crossing sign. Every edge label occurs exactly twice, once as an incoming end and once as an outgoing end. The code must satisfy the local crossing-order rule above; its crossing graph must be connected when nonempty; and its rotation system must satisfy . The record also carries an identifier of one cycle of its face permutation as the outer face. Thus an arbitrary word in labels, even when each label occurs twice, is not declared realizable until all incidence, orientation, crossing, connectedness, and face-count tests pass.
Definition references
Oriented crossing signs, diagram writhe, and blackboard framing — determinant convention in the oriented projection plane, calibrated so a positive Artin half twist has sign .
Regular oriented link diagrams — regular diagrams have finite transverse double points, four-valent crossing vertices, oriented strands, and over/under data.
Hass–Lagarias–Pippenger, §§1, 3 — finite diagram representation and four-valent crossing data.
Erickson, “Planar Graphs” — dart, rotation-system, face-cycle, and outer-face conventions.
Knot Atlas, Gauss Codes — signed-visit convention and trefoil code.
Knot Atlas, Planar Diagrams — PD edge and crossing records.
Knot Atlas, DT Codes — odd/even DT pairing and signed-code examples.
Realizability and face validation for planar-diagram codes
Statement
For a code with a nonempty connected crossing graph, let be its finite crossing set, its darts, its fixed-point-free edge-pairing involution, its clockwise crossing rotation, and its face permutation. A spherical realization means a polygonal embedding on the oriented sphere whose vertex rotations and edge pairings are exactly and ; its faces are the cycles of . If every crossing has four darts with the prescribed opposite over/under pairs, arrows, and sign-consistent cyclic order, then such a realization exists if and only if , where , , and is the number of cycles of . Choosing one face as the outer face and deleting a point in it gives the corresponding plane realization. The crossingless one-component code is the single circle and is handled separately.
Statement references
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes — dart, edge-pairing, crossing-rotation, face-cycle, and outer-face conventions.
Euler formula for connected plane multigraphs — Euler counting for the loops and parallel edges allowed here.
Finite polygonal disk parametrizations and boundary surgery — polygonal regular neighborhoods, face disks, and PL disk parametrizations used in the edge insertion.
Regular oriented link diagrams — regular projection and decorated crossing requirements.
Hass–Lagarias–Pippenger, §3 — finite link-diagram graph data and crossing conditions.
Erickson, “Planar Graphs” — rotation-system face cycles and outer-face convention.
Facts & Assumptions
Given: A finite connected oriented crossing code with nonempty crossing set, edge-pairing involution, clockwise crossing rotations, over/under pairs, strand arrows, crossing signs, and face permutation as defined above.
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes: darts are paired by a fixed-point-free involution; crossing rotations are clockwise four-cycles; faces are the cycles of ; over/under strands are opposite pairs, each directed through the crossing.
Euler formula for connected plane multigraphs: every finite connected polygonal plane multigraph, including loops and parallel edges, satisfies .
Regular oriented link diagrams: a regular oriented link diagram is a projection image with the over/under datum at each double point and orientations of the strands; its double points are finite and transverse, with no triple points.
Finite polygonal disk parametrizations and boundary surgery: a finite connected plane graph has a compact disk-and-band neighbourhood; filling its bounded complementary boundary circles produces a closed disk. Its polygonal-disk argument gives a piecewise-linear parametrization by a convex polygon.
Proof
Necessity. In a spherical realization, choose a point in one face and a piecewise-linear chart of the standard PL sphere minus onto . Because the finite polygonal graph is compact and avoids , it meets only finitely many chart triangles; after subdivision the chart sends its edges to polygonal arcs and preserves incidences and complementary components. This gives a connected polygonal plane multigraph with the same crossing vertices, edge pairs, and faces. Tracing a face with its boundary on the same side applies the clockwise successor and then the edge reversal ; hence its face cycles are exactly those of , so its face count is . Applying [F2] gives .
A spanning-tree realization. Assume . Scan the finite edge list, retaining an edge exactly when it joins two distinct current components. Connectedness makes the retained edges a spanning tree : each retained edge reduces the component count by one and cannot create a cycle, and the scan ends with one component. Root at the least crossing label. Embed that root in a small polygonal disk on the sphere. Visit the other vertices by increasing tree distance from the root, breaking ties by crossing label. For each new vertex, add its tree edge to its already embedded parent, placing the new dart in the prescribed clockwise gap among the parent darts already placed and choosing the new vertex disk in that face. The new vertex has no previously placed tree darts, so its remaining cyclic order can be completed without constraint. Each addition is a leaf edge and creates no crossing. The resulting connected polygonal tree has one face by [F2], because it has vertices and edges.
Face-cycle change. There are edges outside . Add them in a fixed finite order by attaching an untwisted rectangular band at the two prescribed dart intervals of the vertex disks. The boundary components of the disk-and-band neighborhood are exactly the cycles of the current face permutation. If a band attaches to one boundary component, it cuts that component into two; if it attaches to two different components, it joins them. This follows by following the two long sides of the rectangle after the two end intervals are glued. Therefore each edge addition changes the face-cycle count by or . The initial count is one and the final count is , so the sum of the changes is . Each change is at most , hence every change is and the two attachment intervals lie on one current face.
Place the remaining edges. Maintain the invariant that each complementary cap of the regular neighbourhood is a polygonal disk with a piecewise-linear parametrization by a convex polygon, preserving its boundary port order; [F4] supplies these disk parametrizations. For the next edge, step 2.1 places both attachment intervals on one current cap. In its convex polygon model choose distinct points in the two intervals and an interior point not on the line through . Convexity puts the two segments and inside the polygon except at their boundary endpoints; because is off the line , their union is a simple polygonal crosscut. It cuts the convex polygon into the two regions bounded by this crosscut and the two respective boundary arcs. Each boundary is a simple polygon, so [F4] makes each closure a polygonal disk. Pull the crosscut and the two subdisks back through the stored parametrization; the two sides of the inserted edge band follow the two boundary copies of the crosscut, so the resulting face cycles are exactly the two cycles from step 2.1. Restricting the old parametrization to the two polygonal regions supplies the next face-cap parametrizations. Thus the invariant and prescribed rotations persist at each finite insertion, producing the required spherical embedding.
Decorate, smooth, and lift. Replace each crossing disk by the standard smooth transverse crossing with the prescribed opposite over/under pairs, orientations, and sign. Choose the edge-band centerlines polygonal, and choose the ports and their collars so each centerline joins its crossing strand tangentially. Away from the crossing disks the edge centerlines have only finitely many bends. Choose pairwise disjoint small neighborhoods of these bends, disjoint from the crossing disks and meeting no other edge portion; finiteness and embeddedness of the edge interiors permit these choices. Round each bend inside its neighborhood by a smooth regular arc matching the adjacent segments near the boundary. This changes no crossing or cyclic order. The resulting projection is a smooth immersion whose only multiple points are the declared transverse double points, with no triple points. By [F3] it is a regular oriented link diagram once lifted. At each crossing choose a smooth height on each strand that is constant near the crossing point, equal to on the over-strand and on the under-strand. On every edge interval choose a smooth height function constant near its endpoints and interpolating between the endpoint values prescribed by its incident crossing strands. Such functions exist on each of the finitely many intervals, including loop edges. The heights therefore fit to smooth functions on the closed oriented components. The projection is injective away from the declared crossing pairs, and the two preimages at each crossing have different heights; hence the lifted components form a smooth embedded link in .
Plane model and empty boundary case. Choose a point in the distinguished face and remove it before stereographic projection; that face is then the unbounded face and all other cyclic data remain fixed. If the crossing set is empty, the admitted one-component code is realized by a round circle oriented according to its cw or ccw marker, with outside as its plane face selector and no dart permutation or Euler test.
Planar-code validation and diagram reconstruction
Definition
Input: A finite tagged Gauss code, signed Dowker–Thistlethwaite code, or oriented planar-diagram code in the conventions of this page. The crossing count is a nonnegative integer. When , the code includes the finite crossing labels, edge-end incidences, strand arrows, over/under data, crossing signs, and a distinguished outer face. When , the only admissible input for this procedure is the one-component crossingless code specified in the code definition.
Output: Either Invalid(reason, witness), where reason is the first
failed check below and witness identifies the offending field, label, or
crossing, or Valid(diagram, components, faces, outerFace). Here diagram is
a finite gluing record consisting of one crossing disk per vertex, one
rectangular edge band for each pair of darts under , and one cap disk
per cycle of the face permutation. Each band is attached at its recorded dart ports, and each
crossing disk records its clockwise order, strand orientations, over/under
pair, and sign. components lists the oriented link cycles, faces lists the
face-permutation cycles, and outerFace is the selected cycle. The gluing
record represents a polygonal spherical diagram; deleting a point in its
selected face gives the plane model. The procedure tests realizability of
this code only; it does not compare the represented link with another code.
Instructions:
-
Read the tag and crossing count. If the tag is unknown or is not a nonnegative integer, return
invalid-headerwith that field. -
If , accept only one empty Gauss component word, the empty signed-DT code, or the single
Loop[1]PD record, each with exactly one orientation marker,ccworcw. Returninvalid-crossingless-codeotherwise. If the outer-face marker is not exactlyoutside, returninvalid-outer-facewith that marker. For an accepted input return the standard circle with the marked orientation, one component, its two sphere faces, and theoutsideface selector. Do not run crossing-graph tests. -
For a Gauss code with , if a component word is empty, return
invalid-empty-component-wordwith the first such component index. Check that every label lies in , occurs exactly twice in total, and occurs once with each over/under sign. Check that its separate crossing-sign vector has length and entries in . Returninvalid-crossing-labelfor the first out-of-range label,invalid-crossing-visit-countwith the label and its over/under counts for any visit failure, orinvalid-crossing-sign-vectorwith the first bad position. Turn successive visits on each component word into directed edge labels, including each cyclic last-to-first edge, numbering these segments in the listed component order and then in traversal order, and form the crossing records from the over/under visits and the stored crossing signs. -
For a signed DT code, check that its pairing list and sign vector each have length , each pairing value has absolute value in , every such absolute value occurs once, and every sign is or . Return
invalid-dt-pairingwith the first bad index for a pairing failure, orinvalid-crossing-sign-vectorwith the first bad position for a sign failure. The odd visit is crossing ; if it is the over-visit and if it is the under-visit. At the even visit paired with , use crossing label and the opposite over/under sign. Decode visits in order into the corresponding signed Gauss word and continue with step 3. -
For a PD code, check that there are exactly crossing records and four dart occurrences at each record. Return
invalid-crossing-recordwith the first bad record otherwise. Use the edge labels and arrows in the records to form the paired-dart involution, crossing rotations, over/under pairs, and crossing signs. -
In every nonempty encoding, check that each edge label has exactly two occurrences, one incoming and one outgoing; each crossing has exactly four incident darts; the opposite pairs are exactly one over-strand and one under-strand; each strand has one incoming and one outgoing end; and the cyclic order matches the stored crossing sign. Return, in that order,
invalid-edge-incidence,invalid-crossing-valence,invalid-over-under-pair,invalid-strand-orientation, orinvalid-crossing-sign-order, with the first offending label or crossing. -
Starting at each as-yet unvisited outgoing dart, cross its edge by to the incoming dart at the other endpoint and continue through the opposite dart of that same strand. Stop only when the starting outgoing dart is reached. If an end is missing, a dart repeats before that return, or any dart remains uncovered after all cycles are traced, return
invalid-component-closurewith the first such dart. Then test the crossing graph for connectedness; if it is disconnected, returndisconnected-crossing-graph. -
Compute on all darts by finite table lookup and list its cycles. Put , , and the number of cycles. If , return
non-spherical-face-countwith . If the supplied outer-face identifier is not one of these cycles, returninvalid-outer-facewith that identifier. -
For a passing code, choose the lexicographically first spanning tree in the finite edge ordering. Root it at the least crossing label and attach its tree bands in increasing distance from that root, using the recorded cyclic gaps. Then attach the remaining edge bands in increasing edge-label order. Use the distinguished face for the plane projection, replace each crossing disk by its prescribed transverse crossing, attach one cap disk along each face cycle, and lift the over-strand above the under-strand. Return this finite gluing record, the directed components, the face cycles, and the outer-face identifier.
Definition references
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes — exact accepted input formats, signs, and face permutation.
Realizability and face validation for planar-diagram codes — the spherical realization criterion used at steps 8–9.
Hass–Lagarias–Pippenger, §§1, 3 — finite link-diagram graph input and crossing data.
Erickson, “Planar Graphs” — permutation-based face computation and outer-face convention.
Enumerate diagrams up to a crossing bound
Definition
Input: A nonnegative integer crossing bound .
Output: A finite ordered list of reconstructed knot-diagram candidates. A
candidate is a Valid output of the planar-code validation procedure whose
code is a normalized planar-diagram code with one oriented component and at
most crossings. Repeated candidates up to crossing relabeling or planar
isotopy are allowed; the list is not a list of knot types.
Instructions:
- If is not a nonnegative integer, return
invalid-bound. - Initialize the output list empty. Pass the two normalized crossingless
one-component codes, with
ccwandcworientation markers in that order, through the validator and append both outputs first. - For each in increasing order, use crossing labels and the four normalized dart positions at each crossing. Enumerate every crossing-sign vector in lexicographic order, with . The sign determines the incoming and outgoing positions at each crossing by the normalized-code convention.
- For each sign vector, enumerate every bijection from the set of its outgoing darts to its incoming darts in lexicographic order. Pair each outgoing dart with its image to obtain the edge involution, and assign edge labels by the normalized-code rule.
- Compute the cycles of for each pairing. For each cycle, in increasing order of its least dart, select that cycle in turn as the outer face and form the corresponding normalized PD code.
- Pass each code through the planar-code validation procedure. Append its
reconstructed output if and only if the validator returns
Validand the directed component tracing has exactly one cycle. Return the list after the finite loops end.
This procedure enumerates normalized finite codes and reconstructed diagrams; it neither identifies equivalent codes nor decides whether two candidates represent isotopic knots.
Definition references
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes — normalized PD codes, local sign arrows, edge labels, and face selectors.
Planar-code validation and diagram reconstruction — validation and reconstruction of each candidate code.
Hass–Lagarias–Pippenger, §§1, 7 — finite diagram inputs and reconstruction context.
Erickson, “Planar Graphs” — rotation systems and face selection.
Planar-code validation and reconstruction procedure properties
Statement
For every finite input in the three code formats, the validation and reconstruction procedure terminates. It returns an invalid-code reason exactly when the first failed syntax, incidence, orientation, component, connectedness, face-count, or outer-face condition in its stated order occurs; otherwise it returns the crossing-disk/edge-band model of the represented oriented diagram, its oriented components, its face cycles, and its selected outer face.
Statement references
Planar-code validation and diagram reconstruction — the ordered finite procedure and its output record.
Realizability and face validation for planar-diagram codes — Euler face-count criterion for spherical realization.
Hass–Lagarias–Pippenger, §3 — finite graph encoding of regular link diagrams.
Erickson, “Planar Graphs” — finite dart, rotation, face, and outer-face data.
Facts & Assumptions
Given: A finite tagged Gauss, signed DT, or oriented PD input with its declared crossing count and, when nonempty, its crossing data and outer-face field.
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes: Gauss labels occur as one over-visit and one under-visit at each crossing; signed DT codes pair each odd visit with a distinct even visit and carry a separate crossing-sign vector; PD codes give the edge incidences, oriented strands, opposite over/under pairs, crossing signs, and face selector.
Planar-code validation and diagram reconstruction: the procedure checks the header, code-specific visit or record conditions, incidences, valence, over/under pairs, strand orientations, crossing-sign order, component cycles, crossing-graph connectedness, face cycles, Euler count, and outer-face identifier in the listed order. For , it accepts only a prescribed crossingless record with one allowed orientation marker and then requires outer-face marker outside.
Realizability and face validation for planar-diagram codes: a nonempty connected code satisfying the local crossing and orientation conditions has a spherical realization exactly when ; choosing one face gives its plane model. The crossingless one-component code is realized by the standard circle.
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes: at , the Gauss word and DT data are empty, the PD data are Loop[1], an orientation marker is either ccw or cw, and the outer-face marker is outside.
Proof
The input records are finite. Each label count, vector check, incidence count, and crossing check scans a finite list. Each component traversal marks at least one previously unvisited outgoing dart until it closes or reports a repeated/missing dart; since there are finitely many darts, it makes at most such visits. The crossing-connectivity scan uses the finite vertex and edge lists, and the face computation iterates a permutation of finite , so it lists at most face cycles. The spanning-tree selection and disk/band construction use finite edge lists. If , the separate branch ends after a finite comparison with its six allowed format-and-orientation combinations. Thus every input reaches a return after finitely many operations.
Every Invalid return is made immediately after its named predicate fails, and the procedure reaches predicates in the displayed order. Hence the returned reason and witness identify the first failed check. Conversely, if a finite input fails one of the stated checks, the finite scan reaches the first such failure and returns the corresponding invalid record before any later check.
Suppose a nonempty input passes the code-format, incidence, valence, strand, over/under, crossing-sign, component, and connectedness checks. Its finite tables then define the fixed-point-free edge involution , the clockwise crossing rotation , and the face permutation . The procedure's face scan lists exactly the cycles of this permutation by finite orbit tracing. It accepts the face stage precisely when their count satisfies and the supplied outer-face identifier names one of those cycles. By [F3], these conditions are necessary and sufficient for the spherical model, and deleting a point in the selected face gives the plane diagram returned in the output record.
In the crossingless branch, the accepted forms are exactly the six format-and-orientation combinations in [F4], with outer-face marker outside, representing its two normalized one-component codes. The local realization in [F3] realizes each marked orientation by a circle with two sphere faces; every other zero-crossing input, including one with a different outer-face marker, is rejected by the preceding branch checks. The nonempty and crossingless branches exhaust the possible nonnegative values of , so the procedure terminates and has exactly the stated rejection and acceptance behavior.
Enumeration up to a crossing bound procedure properties
Statement
For every nonnegative integer , the bounded enumeration procedure terminates and returns exactly the reconstructed candidates represented by normalized connected one-component planar-diagram codes with at most crossings. Each returned candidate has a valid spherical face structure and a selected outer face. The procedure does not identify candidates that represent the same knot type.
Statement references
Enumerate diagrams up to a crossing bound — finite sign, pairing, and face-selection loops.
Planar-code validation and reconstruction procedure properties — exact validation and reconstruction of each candidate.
Hass–Lagarias–Pippenger, §§1, 7 — finite code input and reconstructed diagram candidates.
Erickson, “Planar Graphs” — rotation systems and outer-face choices.
Facts & Assumptions
Given: A nonnegative integer and the finite enumeration procedure on normalized planar-diagram codes.
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes: a normalized code with has crossing set , four ordered darts at each crossing, sign-determined incoming/outgoing positions, a canonical edge labeling, and one selected face.
Enumerate diagrams up to a crossing bound: for each , the procedure enumerates every sign vector, every bijection from outgoing to incoming darts, and every face cycle as outer face, then retains exactly valid codes with one component.
Planar-code validation and reconstruction procedure properties: the validator terminates and returns a diagram exactly for codes satisfying the prescribed format, incidence, crossing, component, connectedness, Euler face-count, and outer-face conditions.
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes: the normalized crossingless code has one of two orientation markers, ccw or cw, for its one component.
Proof
Fix . There are crossing-sign vectors. Each vector has exactly outgoing and incoming darts by [F1], so it has bijections between them. Every resulting edge involution has darts, hence at most face cycles because its cycles are nonempty and disjoint. The number of candidate records considered at this is therefore at most . At the two orientation markers in [F4] give exactly two crossingless codes. Summing these finite bounds over proves that all loops and validator calls are finite; each validator call terminates by [F3].
Every appended record is produced from a normalized code in the finite loops. It is appended only when the validator returns Valid and its component tracing has exactly one cycle. By [F3] this code is connected, has the required face count and outer face, and reconstructs the corresponding decorated diagram. Conversely, consider any normalized connected one-component code with . Its signs occur in the enumerated sign-vector list. Its edge involution pairs each outgoing dart with one incoming dart, so it is one of the enumerated bijections; its selected outer face is one of the enumerated face cycles. Canonical edge labels in [F1] then give exactly that normalized code. The validator returns Valid by [F3], and its one component passes the final filter, so the candidate is appended. At , each of the two orientation markers in [F4] is among the initial candidates.
The procedure's only equivalence-related operation is the fixed label normalization in [F1]. It performs no test between two returned diagrams and removes no candidates on the basis of planar isotopy or ambient isotopy in . Thus the exact output is the finite list of reconstructed code candidates, with possible repeated knot types, not a classification of knot types.
Valid codes reconstruct the declared link diagram
Statement
Assume the Axiom of Countable Choice. For every valid connected one-component oriented code with a selected outer face, the reconstruction procedure produces a regular oriented diagram representing that code. Any two such diagrams with the same code differ only by crossing and edge relabeling and are planar isotopic. The normalized planar-diagram code of a diagram with crossings appears among the candidates enumerated at bound . This statement concerns diagrams and their finite codes; it does not identify distinct codes that may represent the same knot type. The finite realization and enumeration claims are choice-free; is assumed only for the smooth ambient-isotopy uniqueness clause.
Statement references
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes — code formats, normalization, and crossing data.
Realizability and face validation for planar-diagram codes — finite spherical realization from the face count.
Planar-code validation and reconstruction procedure properties — correctness of the reconstruction procedure.
Enumerate diagrams up to a crossing bound — bounded normalized-code enumeration.
Enumeration up to a crossing bound procedure properties — exact enumeration of accepted one-component codes.
Smooth Jordan disks and extension of prescribed boundary collars — smooth disk extension with prescribed boundary collars and an interior diffeomorphism germ.
Planar isotopy of link diagrams — smooth orientation-preserving ambient isotopy of the plane.
Erickson, “Planar Graphs” — rotation systems encode plane embeddings up to orientation-preserving homeomorphism; lines 49–61 also identify equivalence with a continuous family of embeddings.
Hass–Lagarias–Pippenger, §3 — finite crossing-graph data for regular link diagrams.
Facts & Assumptions
Given: The Axiom of Countable Choice and a valid connected one-component oriented code with crossings and a selected outer face.
The Axiom of Countable Choice (): Countable Choice is the axiom that every countable family of nonempty sets has a choice function.
Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes: the code specifies a finite crossing set, paired darts, crossing rotations, oriented opposite strands, over/under data, signs, and a face selector; its normalized PD form fixes crossing labels, edge labels, and the face identifier, while the crossingless form carries one of two orientation markers.
Realizability and face validation for planar-diagram codes: for a nonempty connected code with the prescribed local crossing data, the Euler face condition gives a spherical realization, and a selected face gives the plane model.
Planar-code validation and reconstruction procedure properties: the validator terminates and reconstructs a diagram exactly for codes satisfying the stated syntax, incidence, crossing, component, connectedness, face, and outer-face conditions.
Enumeration up to a crossing bound procedure properties: at every nonnegative crossing bound, the enumerator returns every normalized connected one-component code of at most that size that passes validation.
Planar isotopy of link diagrams: planar isotopy is a jointly smooth orientation-preserving ambient isotopy of carrying the diagram image, strand orientations, and over/under data.
Choice-free smooth inverse function theorem in Euclidean space: independent differentials give smooth local coordinates.
The fundamental theorem on flows: a smooth vector field has a unique smooth local flow on an open time-state domain.
Smooth Jordan disks and extension of prescribed boundary collars: under Countable Choice, a smooth embedded circle bounds a smooth disk, and an orientation-preserving boundary diffeomorphism extends across such disks with any prescribed matching boundary collars and any prescribed positive interior diffeomorphism germ.
Proof
By validity, the code passes every finite check in [F3]. If , [F1] gives the one-component crossingless code and its cw or ccw orientation; [F2] realizes that oriented code as the standard circle with the outside face selector. If , its one component satisfies the knot-code condition, and the face-count hypothesis in [F2] yields a spherical crossing graph with the prescribed rotations and edge pairings; deleting a point in the selected face gives its plane model. Replace each crossing disk by the prescribed smooth transverse crossing, choosing the ports and collars so the edge-band centerlines join their crossing strands tangentially. Away from the crossing disks, round the finitely many polygonal bends in pairwise disjoint neighborhoods that meet no other edge portion. On each over-strand set the height to and on each under-strand set it to near every crossing; along each edge interval interpolate smoothly between its prescribed endpoint heights, constant near those endpoints. The resulting projection is a smooth immersion with exactly the prescribed finite transverse double points and no triple points. Its only repeated projected points are crossing pairs, and those pairs have distinct heights, so the lift is a smooth embedded link in . Thus the procedure's plane model is a regular oriented diagram by [F3] representing the input code.
Suppose . At each double point the two branches are smooth and transverse. Smooth local defining functions for them have independent differentials, so together form coordinates in which the branches are the coordinate axes. Corresponding oriented branch germs and cyclic orders give orientation-preserving matching crossing charts. Take disjoint small crossing disks in these charts. Each edge left after truncation is a compact embedded interval; a strip coordinate along it can be chosen to agree with the crossing coordinates near both ends. Explicitly extend the end longitudinal parameters increasingly along the interval, and extend their transverse coordinate vector fields by finitely many convex combinations of fields pointing to the same side; these combinations stay transverse. Short flows give the strip, and compactness supplies a common width. Shrink the finitely many widths to avoid all other truncated edges and crossing disks except their assigned end collars. This construction treats different endpoint germs separately, so it applies to loops and parallel edges as well. Using the same abstract disk-and-band model in the two drawings gives a smooth diffeomorphism of their graph neighborhoods carrying vertices, edges, strand orientations, and crossing decorations as prescribed. Round corresponding boundary corners in the same model; the map is then smooth across all joins and carries their smooth boundary circles to the matching circles. These circles correspond to the same face cycles, even when a facial walk repeats a cut vertex.
Relabel the finite crossing set in increasing order and assign edge labels by the canonical scan in [F1]. The selected face is represented by the least dart of its face cycle. These are exactly the normalization rules used by the bounded enumerator. The resulting code has crossings, so it occurs in the enumerator's finite loops at bound ; [F4] then guarantees that its reconstruction is returned.
Regard the drawings and neighborhoods as subsets of the oriented sphere. Every complementary component of a connected neighborhood is a smooth disk. Indeed [L1] gives its bounded disk in a stereographic chart; choosing a second stereographic chart with its removed point inside that disk presents the other side as a bounded smooth Jordan region, also a disk by [L1]. The connected set lies on its collar side, so the other disk misses ; it contains no other boundary component, since that component's neighborhood collar would put on the other side. Thus it is a whole complementary component, and all components arise this way. Extend the neighborhood diffeomorphism over each pair of matching disks by [L1], using collars induced by its smooth extension across their boundary germs. Such a germ extension exists in the local smooth boundary charts, and has positive normal derivative; finitely many charts and a smaller collar retain smoothness and invertibility. Hence the extended maps agree on actual collars, and the finite gluing is a smooth orientation-preserving sphere diffeomorphism. The selected outer face matches the disks containing infinity. When extending this pair, also prescribe the identity germ at infinity using the interior clause of [L1]. To apply that lemma, view each complementary disk in a stereographic chart whose removed point lies in its own neighborhood ; for the outer pair, the prescribed coordinate germ is the expression of the sphere's identity near infinity in these two charts. The resulting sphere diffeomorphism fixes a neighborhood of infinity. Its plane restriction is therefore an orientation-preserving smooth diffeomorphism carrying the two decorated diagrams.
If , the two diagrams are smooth embedded circles with the same cw or ccw orientation marker. Choose an orientation-preserving diffeomorphism of their bounded disks using [L1]; its boundary map carries the circle orientations because these markers agree. Extend across the exterior disks on the sphere by [L1], matching the induced boundary collars and prescribing the identity germ at infinity as in step 2.2. This again produces an orientation-preserving plane diffeomorphism carrying the oriented diagram and its selected exterior face.
Finally every orientation-preserving smooth plane diffeomorphism is joined to the identity by a jointly smooth path of plane diffeomorphisms. Write and , and set for , . The identity proves joint smoothness at . For the map is a composition of diffeomorphisms, and is the invertible positive linear map . Join the identity to by polar decomposition: the positive definite factor is joined linearly to the identity, and the rotation factor by interpolating its angle. Follow that path by from to , then by translations from to . Smooth time reparametrizations constant near all joins give a jointly smooth ambient isotopy starting at the identity and ending at . By steps 2.2 and 3.1 its terminal map transports the strand orientations and over/under data, so it is a planar isotopy in [F5]. Together with reconstruction and enumeration in steps 1.1 and 2.1 this proves every clause. Countable Choice is used only through [L1] for the smooth uniqueness construction; finite realization and enumeration retain their choice-free proofs.
4 · Examples, counterexamples and false statements
None yet.
Sources
- R. Diestel, Graph Theory, 6th ed., Theorem 4.2.9
- Joel Hass, Jeffrey C. Lagarias, and Nicholas Pippenger, The Computational Complexity of Knot and Link Problems, Journal of the ACM 46 (1999)
- Jeff Erickson, Planar Graphs, Computational Topology lecture notes (2023)
- Knot Atlas, Gauss Codes manual
- Knot Atlas, Planar Diagrams manual
- Knot Atlas, DT (Dowker–Thistlethwaite) Codes manual
- Jeff Erickson, Simple Polygons, Computational Topology, Chapter 1 (2013)
- Joel Hass, Jeffrey C. Lagarias, and Nicholas Pippenger, The Computational Complexity of Knot and Link Problems, Journal of the ACM 46 (1999), sections 1 and 7