Alphabeta Math
Pipeline-generated
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

2 · Logical flowchart

3 · Definitions, theorems and proofs

LemmaStatement: AI-adaptedProof: AI-generatedjudge pass (gpt-6-luna)verified 2026-10-22 (gpt-6.1-sol)Open item page →

Euler formula for connected plane multigraphs

Statement

Let G be a finite nonempty connected plane multigraph drawn in R2: 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 V,E,F are the numbers of vertices, edges, and faces, respectively, then

V−E+F=2.

Facts & Assumptions

Given: A finite connected polygonal plane multigraph G, allowing loops and parallel edges, with faces the components of the complement of its point-set drawing.

[F1]

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).

[F2]

For a connected plane graph with vertex, edge, and face counts V′,E′,F′, one has V′−E′+F′=2 (Euler's formula ∣V∣−∣E∣+∣F∣=2 for every connected plane graph).

Proof

1.1givenF1construct

For each edge e 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 e at those points into three edges and declare the two points new vertices. If e is a loop at v, its replacement is the path v−xe−ye−v 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 G′ is simple. Subdivision preserves connectedness and leaves the point-set drawing unchanged, so its faces are exactly those of G. With E original edges, V′=V+2E and E′=3E, hence V′−E′=V−E. If E=0, nonempty connectedness forces V=1, and the same construction leaves the one-vertex simple plane graph unchanged. By [F1], G′ is a connected plane graph in the library's simple-graph convention in either case.

2.1givenF2step 1.1algebra∎

Apply [F2] to G′. Since F′=F and V′−E′=V−E by step 1.1, the equality V′−E′+F′=2 gives V−E+F=2.

DefinitionDefinition: AI-adaptedProof: Not applicablejudge pass (gpt-6-luna)verified 2026-10-22 (gpt-6.1-sol)Open item page →

Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes

Definition

Let P be the projection plane in an oriented 3-sphere and let n be the unit viewing normal pointing toward the viewer. Orient P so that (u,v) is a positive basis exactly when (n,u,v) is a positive ambient basis. A crossing code has a finite set C of crossing labels and a finite set D of darts, where a dart is one directed half-edge incident to a crossing. A fixed-point-free involution α:D→D pairs the two ends of each edge: α2=id and α(d)≠d. A vertex map v:D→C 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 C and edges the α-pairs is connected.

The sign of an oriented crossing is +1 or −1 according as det⁡(vover,vunder) 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 (Oout,Uout,Oin,Uin); a negative crossing has order (Oout,Uin,Oin,Uout). 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 (Oout,Uin,Oin,Uout).

For a nonempty connected crossing graph, let V=∣C∣, E=∣D∣/2, and let F be the number of cycles of the face permutation ϕ=α∘σ. A spherical code is a code satisfying V−E+F=2. 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 c=0, and its PD data are the single loop Loop[1]; every format also carries an orientation marker, ccw or cw, for the unit circle S1={(x,y)∈R2:x2+y2=1} 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 c>0 has crossing labels C={1,…,c} and four dart positions 0,1,2,3 at each crossing, in clockwise order beginning with the outgoing over-dart. The opposite pair (0,2) is over and (1,3) is under. For sign +1, the clockwise record is (Oout,Uin,Oin,Uout); for sign −1 it is (Oout,Uout,Oin,Uin). 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 c=0 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: +j means the component passes over at crossing j, and −j 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 c>0, 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 εj∈{+1,−1}, 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 c crossings by numbering its 2c visits 1,…,2c in traversal order. For each odd visit 2j−1, record the even visit 2k paired with it as dj=+2k when the odd visit is over and dj=−2k when it is under; also record the algebraic crossing sign εj∈{+1,−1} for crossing label j, the pair containing odd visit 2j−1. Its parity conditions are that ∣d1∣,…,∣dc∣ are exactly the even numbers 2,4,…,2c, each once, and each paired crossing has one over-visit and one under-visit. The separate εj 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 V−E+F=2. 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 +1.

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.

LemmaStatement: AI-adaptedProof: AI-generatedjudge pass (gpt-6-luna)verified 2026-10-22 (gpt-6.1-sol)Open item page →

Realizability and face validation for planar-diagram codes

Statement

For a code with a nonempty connected crossing graph, let C be its finite crossing set, D 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 V−E+F=2, where V=∣C∣, E=∣D∣/2, and F 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.

[F1]

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.

[F2]

Euler formula for connected plane multigraphs: every finite connected polygonal plane multigraph, including loops and parallel edges, satisfies V−E+F=2.

[F3]

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.

[F4]

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

1.1givenF1F2construct

Necessity. In a spherical realization, choose a point p in one face and a piecewise-linear chart of the standard PL sphere minus p onto R2. Because the finite polygonal graph is compact and avoids p, 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 F. Applying [F2] gives V−E+F=2.

1.2givenF2construct

A spanning-tree realization. Assume V−E+F=2. Scan the finite edge list, retaining an edge exactly when it joins two distinct current components. Connectedness makes the retained edges a spanning tree T: each retained edge reduces the component count by one and cannot create a cycle, and the scan ends with one component. Root T 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 V vertices and V−1 edges.

2.1F1givenstep 1.2algebra

Face-cycle change. There are r=E−(V−1) edges outside T. 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 +1 or −1. The initial count is one and the final count is F=E−V+2=r+1, so the sum of the r changes is r. Each change is at most +1, hence every change is +1 and the two attachment intervals lie on one current face.

3.1F1F4step 2.1construct

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 p,q in the two intervals and an interior point r not on the line through p,q. Convexity puts the two segments [p,r] and [r,q] inside the polygon except at their boundary endpoints; because r is off the line pq, 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.

4.1F1F3step 3.1construct

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 +1 on the over-strand and −1 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 S3.

5.1givenF1step 4.1construct∎

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.

AlgorithmAlgorithm: AI-adaptedProof: Not applicablejudge pass (gpt-6-luna)verified 2026-10-22 (gpt-6.1-sol)Open item page →

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 c is a nonnegative integer. When c>0, the code includes the finite crossing labels, edge-end incidences, strand arrows, over/under data, crossing signs, and a distinguished outer face. When c=0, 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:

  1. Read the tag and crossing count. If the tag is unknown or c is not a nonnegative integer, return invalid-header with that field.

  2. If c=0, 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, ccw or cw. Return invalid-crossingless-code otherwise. If the outer-face marker is not exactly outside, return invalid-outer-face with that marker. For an accepted input return the standard circle with the marked orientation, one component, its two sphere faces, and the outside face selector. Do not run crossing-graph tests.

  3. For a Gauss code with c>0, if a component word is empty, return invalid-empty-component-word with the first such component index. Check that every label lies in {1,…,c}, occurs exactly twice in total, and occurs once with each over/under sign. Check that its separate crossing-sign vector has length c and entries in {+1,−1}. Return invalid-crossing-label for the first out-of-range label, invalid-crossing-visit-count with the label and its over/under counts for any visit failure, or invalid-crossing-sign-vector with 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.

  4. For a signed DT code, check that its pairing list and sign vector each have length c, each pairing value has absolute value in {2,4,…,2c}, every such absolute value occurs once, and every sign is +1 or −1. Return invalid-dt-pairing with the first bad index for a pairing failure, or invalid-crossing-sign-vector with the first bad position for a sign failure. The odd visit 2j−1 is crossing j; if dj>0 it is the over-visit and if dj<0 it is the under-visit. At the even visit paired with 2j−1, use crossing label j and the opposite over/under sign. Decode visits in order 1,…,2c into the corresponding signed Gauss word and continue with step 3.

  5. For a PD code, check that there are exactly c crossing records and four dart occurrences at each record. Return invalid-crossing-record with 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.

  6. 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, or invalid-crossing-sign-order, with the first offending label or crossing.

  7. 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-closure with the first such dart. Then test the crossing graph for connectedness; if it is disconnected, return disconnected-crossing-graph.

  8. Compute ϕ=α∘σ on all darts by finite table lookup and list its cycles. Put V=c, E=∣D∣/2, and F= the number of cycles. If V−E+F≠2, return non-spherical-face-count with (V,E,F). If the supplied outer-face identifier is not one of these cycles, return invalid-outer-face with that identifier.

  9. 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.

AlgorithmAlgorithm: AI-adaptedProof: Not applicablejudge pass (gpt-6-luna)verified 2026-10-22 (gpt-6.1-sol)Open item page →

Enumerate diagrams up to a crossing bound

Definition

Input: A nonnegative integer crossing bound N.

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 N crossings. Repeated candidates up to crossing relabeling or planar isotopy are allowed; the list is not a list of knot types.

Instructions:

  1. If N is not a nonnegative integer, return invalid-bound.
  2. Initialize the output list empty. Pass the two normalized crossingless one-component codes, with ccw and cw orientation markers in that order, through the validator and append both outputs first.
  3. For each c=1,…,N in increasing order, use crossing labels {1,…,c} and the four normalized dart positions at each crossing. Enumerate every crossing-sign vector in lexicographic order, with −1<+1. The sign determines the incoming and outgoing positions at each crossing by the normalized-code convention.
  4. For each sign vector, enumerate every bijection from the set of its 2c outgoing darts to its 2c 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.
  5. 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.
  6. Pass each code through the planar-code validation procedure. Append its reconstructed output if and only if the validator returns Valid and 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.

TheoremStatement: AI-adaptedProof: AI-generatedjudge pass (gpt-6-luna)verified 2026-10-22 (gpt-6.1-sol)Open item page →

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.

[F1]

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.

[F2]

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 c=0, it accepts only a prescribed crossingless record with one allowed orientation marker and then requires outer-face marker outside.

[F3]

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 V−E+F=2; choosing one face gives its plane model. The crossingless one-component code is realized by the standard circle.

[F4]

Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes: at c=0, 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

1.1givenF2construct

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 ∣D∣+1 such visits. The crossing-connectivity scan uses the finite vertex and edge lists, and the face computation iterates a permutation of finite D, so it lists at most ∣D∣ face cycles. The spanning-tree selection and disk/band construction use finite edge lists. If c=0, 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.

2.1givenF2step 1.1

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.

2.2givenF1F2F3step 1.1

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 V−E+F=2 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.

3.1givenF2F3F4step 2.1step 2.2∎

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 c, so the procedure terminates and has exactly the stated rejection and acceptance behavior.

TheoremStatement: AI-adaptedProof: AI-generatedjudge pass (gpt-6-luna)verified 2026-10-22 (gpt-6.1-sol)Open item page →

Enumeration up to a crossing bound procedure properties

Statement

For every nonnegative integer N, the bounded enumeration procedure terminates and returns exactly the reconstructed candidates represented by normalized connected one-component planar-diagram codes with at most N 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 N and the finite enumeration procedure on normalized planar-diagram codes.

[F1]

Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes: a normalized code with c>0 has crossing set {1,…,c}, four ordered darts at each crossing, sign-determined incoming/outgoing positions, a canonical edge labeling, and one selected face.

[F2]

Enumerate diagrams up to a crossing bound: for each c=1,…,N, 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.

[F3]

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.

[F4]

Planar-diagram, Gauss, and signed Dowker–Thistlethwaite codes: the c=0 normalized crossingless code has one of two orientation markers, ccw or cw, for its one component.

Proof

1.1givenF1F2F3F4algebra

Fix c≥1. There are 2c crossing-sign vectors. Each vector has exactly 2c outgoing and 2c incoming darts by [F1], so it has (2c)! bijections between them. Every resulting edge involution has 4c darts, hence at most 4c face cycles because its cycles are nonempty and disjoint. The number of candidate records considered at this c is therefore at most 2c(2c)!(4c). At c=0 the two orientation markers in [F4] give exactly two crossingless codes. Summing these finite bounds over 0≤c≤N proves that all loops and validator calls are finite; each validator call terminates by [F3].

2.1givenF1F2F3F4step 1.1

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 c≤N. 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 c=0, each of the two orientation markers in [F4] is among the initial candidates.

3.1givenF1F2step 2.1∎

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 S3. Thus the exact output is the finite list of reconstructed code candidates, with possible repeated knot types, not a classification of knot types.

4 · Examples, counterexamples and false statements

None yet.

Sources