Documentation

TauCeti.KnotTheory.PDCode.Oriented.Reidemeister.Equivalence

Reidemeister equivalence of oriented PD-codes #

Two diagrams present isotopic oriented links exactly when they are related by a chain of planar isotopies and Reidemeister moves (Reidemeister's theorem; Lickorish, Chapter 1). On oriented PD-codes a planar isotopy that keeps the crossings is an isomorphism of codes, generated by relabelling half-edges and crossings (TauCeti.OrientedPDCode.relabel) and by reading a crossing from another slot (TauCeti.OrientedPDCode.rotateCrossing). The Reidemeister moves are the local moves on PD-codes:

TauCeti.OrientedPDCode.IsReidemeisterMove collects these generators as a relation between oriented PD-codes with any numbers of crossings, and TauCeti.OrientedPDCode.ReidemeisterEquiv is the equivalence relation they generate. The orientation of every new arc is inherited from the arcs and circles a move cuts, so each move comes in all of its oriented forms.

A clasp between two distinct arcs is a generator only when the arcs border a common face on the sides the clasp uses, or lie in different connected components of the underlying graph. The relation itself places no planarity hypothesis on the codes it relates, but for a planar input code these are exactly the clasps that can be drawn in the plane: in the first case TauCeti.PDCode.isPlanar_insertClasp_iff keeps planarity, and in the second a drawing can place the two components so that their two faces meet. Inserting the clasp across two different faces of one component is excluded: the result is never planar (TauCeti.PDCode.not_isPlanar_insertClasp_of_face_ne). A clasp between two parts of a single arc is not a generator, since clasp insertion cuts two distinct arcs; such a clasp can be made by first splitting the arc with a kink, inserting the clasp between the two arcs this creates, and removing the kink again. The third move needs the three crossings to bound a triangular face, with an acyclic height order on the three strands (TauCeti.PDCode.HasReidemeisterThreeTriangle). That condition fixes the slots at which the triangle meets each crossing; the rotations of crossings let it apply however the three crossings are read.

Each generator keeps the Jones polynomial, the writhe-normalized Kauffman bracket and the number of components, so these are invariants of Reidemeister equivalence. In particular the right-handed trefoil is not Reidemeister equivalent to the unknot, nor to its mirror image. Reidemeister's theorem itself, comparing this relation with ambient isotopy of the realized links, is not proved here.

Main definitions #

Main results #

References #

The generating moves of Reidemeister equivalence, between oriented PD-codes with any numbers of crossings: the isomorphisms of codes and the Reidemeister moves. A move that adds crossings is stated in the direction that adds them; TauCeti.OrientedPDCode.ReidemeisterEquiv symmetrizes.

Instances For

    Reidemeister equivalence of oriented PD-codes, possibly with different numbers of crossings: the equivalence relation generated by the isomorphisms of codes and the Reidemeister moves, TauCeti.OrientedPDCode.IsReidemeisterMove.

    Equations
    Instances For

      The defining equation for Reidemeister equivalence: the equivalence relation generated by TauCeti.OrientedPDCode.IsReidemeisterMove, between the codes paired with their numbers of crossings.

      Every code is Reidemeister equivalent to itself.

      Reidemeister equivalence is symmetric.

      Reidemeister equivalence is transitive.

      theorem TauCeti.OrientedPDCode.ReidemeisterEquiv.induction {n m : ℕ} {motive : (n : ℕ) × OrientedPDCode n → (n : ℕ) × OrientedPDCode n → Prop} (move : ∀ {x y : (n : ℕ) × OrientedPDCode n}, IsReidemeisterMove x y → motive x y) (refl : ∀ (x : (n : ℕ) × OrientedPDCode n), motive x x) (symm : ∀ {x y : (n : ℕ) × OrientedPDCode n}, x.snd.ReidemeisterEquiv y.snd → motive x y → motive y x) (trans : ∀ {x y z : (n : ℕ) × OrientedPDCode n}, x.snd.ReidemeisterEquiv y.snd → y.snd.ReidemeisterEquiv z.snd → motive x y → motive y z → motive x z) {D : OrientedPDCode n} {D' : OrientedPDCode m} (h : D.ReidemeisterEquiv D') :
      motive ⟨n, D⟩ ⟨m, D'⟩

      The induction principle for Reidemeister equivalence. A Prop-valued definition does not unfold outside the file that introduces it, so this, or rewriting with TauCeti.OrientedPDCode.reidemeisterEquiv_def, is how TauCeti.OrientedPDCode.ReidemeisterEquiv is eliminated: a property of every generating move that is closed under reflexivity, symmetry and transitivity holds of every Reidemeister equivalent pair.

      theorem TauCeti.OrientedPDCode.ReidemeisterEquiv.eq_of_isReidemeisterMove {n m : ℕ} {α : Sort u_1} (f : (n : ℕ) × OrientedPDCode n → α) (hf : ∀ (x y : (n : ℕ) × OrientedPDCode n), IsReidemeisterMove x y → f x = f y) {D : OrientedPDCode n} {D' : OrientedPDCode m} (h : D.ReidemeisterEquiv D') :
      f ⟨n, D⟩ = f ⟨m, D'⟩

      A function of oriented PD-codes that every generating move keeps is an invariant of Reidemeister equivalence.

      A single generating move relates Reidemeister equivalent codes.

      theorem TauCeti.OrientedPDCode.reidemeisterEquiv_relabel {n m : ℕ} (D : OrientedPDCode n) (half : Fin (4 * n) ≃ Fin (4 * m)) (cross : Fin n ≃ Fin m) :
      D.ReidemeisterEquiv (D.relabel half cross)

      Relabelling gives a Reidemeister equivalent code.

      Reading a crossing from another slot gives a Reidemeister equivalent code.

      The first Reidemeister move gives a Reidemeister equivalent code.

      The first Reidemeister move on a crossing-free circle gives a Reidemeister equivalent code.

      theorem TauCeti.OrientedPDCode.reidemeisterEquiv_insertClasp {n : ℕ} (D : OrientedPDCode n) (p q : Fin (4 * n)) (b : Bool) (hqp : q ≠ p) (hqe : q ≠ ↑D.edgePair p) (hpq : D.face (↑D.edgePair p) = D.face q ∨ q ∉ MulAction.orbit (↥D.toPermutationTriple.monodromyGroup) p) :
      D.ReidemeisterEquiv (D.insertClasp p q b hqp hqe)

      The second Reidemeister move between two distinct arcs, inside a face both border on the sides the clasp uses or between two connected components, gives a Reidemeister equivalent code.

      The second Reidemeister move between an arc and a crossing-free circle gives a Reidemeister equivalent code.

      The second Reidemeister move between two crossing-free circles gives a Reidemeister equivalent code.

      The third Reidemeister move gives a Reidemeister equivalent code.

      Every generating move keeps the Jones polynomial.

      Every generating move keeps the number of components.

      The Jones polynomial is an invariant of Reidemeister equivalence.

      The writhe-normalized Kauffman bracket is an invariant of Reidemeister equivalence, over every commutative ring: it is the Jones polynomial evaluated at t^(1/2) = A⁻².

      The number of components is an invariant of Reidemeister equivalence.

      The right-handed trefoil is knotted: no chain of Reidemeister moves turns its diagram into the crossing-free unknot, since its Jones polynomial t + t³ - t⁴ is not 1.

      The right-handed trefoil is chiral: no chain of Reidemeister moves turns its diagram into its mirror image, since mirroring substitutes t⁻¹ for t in its Jones polynomial t + t³ - t⁴.