Documentation

LeanPool.BrillNoetherGraphs.Utilities.Pseudocore.PseudocoreRelabeling

Vertex relabeling and the handshake identity for pseudocores #

Three ingredients, all generic in the vertex count:

Transport of a pseudocore along a vertex permutation: vertex v of the relabeled pseudocore carries the data of vertex σ v.

Equations
Instances For
    @[simp]
    theorem Utilities.Certificate.GenusFourPseudocore.Pseudocore.relabel_loops {n : ℕ} (core : Pseudocore n) (σ : Equiv.Perm (Fin n)) (v : Fin n) :
    (core.relabel σ).loops v = core.loops (σ v)
    @[simp]
    theorem Utilities.Certificate.GenusFourPseudocore.Pseudocore.double_nonloopEdgeCount {n : ℕ} (core : Pseudocore n) (hWellFormed : core.MatrixWellFormed) :
    2 * core.nonloopEdgeCount = ∑ v : Fin n, ∑ w : Fin n, core.multiplicity v w

    The doubling identity behind the handshake: the full matrix sum of a well-formed pseudocore is twice its strict-upper-triangle sum.

    theorem Utilities.Certificate.GenusFourPseudocore.Pseudocore.sum_valence_eq {n : ℕ} (core : Pseudocore n) (hWellFormed : core.MatrixWellFormed) :
    ∑ v : Fin n, core.valence v = 2 * core.edgeCount

    The handshake identity. A well-formed pseudocore's total valence is twice its edge count.

    Every pseudocore admits a relabeling with monotone valences.