Vertex relabeling and the handshake identity for pseudocores #
Three ingredients, all generic in the vertex count:
Pseudocore.relabel— transport of a pseudocore along a vertex permutation, with well-formedness, connectedness, valence, and edge-count preservation;Pseudocore.sum_valence_eq— the handshake identityΣ valence = 2 · edgeCountfor well-formed pseudocores, which pins an arbitrary valid pseudocore's valence vector to a partition-of-six degree sequence;Pseudocore.exists_monotone_relabel— every pseudocore admits a relabeling with monotone valences (Tuple.sort), which is what reduces the classifier to one generated tree per sorted degree sequence.
def
Utilities.Certificate.GenusFourPseudocore.Pseudocore.relabel
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
:
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)
:
@[simp]
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.relabel_multiplicity
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
(v w : Fin n)
:
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.valence_relabel
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
(v : Fin n)
:
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.matrixWellFormed_relabel
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
(hWellFormed : core.MatrixWellFormed)
:
(core.relabel σ).MatrixWellFormed
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.connected_relabel
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
(hConnected : core.Connected)
:
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.double_nonloopEdgeCount
{n : ℕ}
(core : Pseudocore n)
(hWellFormed : core.MatrixWellFormed)
:
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)
:
The handshake identity. A well-formed pseudocore's total valence is twice its edge count.
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.loopCount_relabel
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
:
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.nonloopEdgeCount_relabel
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
(hWellFormed : core.MatrixWellFormed)
:
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.edgeCount_relabel
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
(hWellFormed : core.MatrixWellFormed)
:
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.stable_relabel
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
(hStable : core.Stable)
:
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.validAt_relabel
{n : ℕ}
(core : Pseudocore n)
(σ : Equiv.Perm (Fin n))
{g : ℕ}
(hValid : core.ValidAt g)
:
theorem
Utilities.Certificate.GenusFourPseudocore.Pseudocore.exists_monotone_relabel
{n : ℕ}
(core : Pseudocore n)
:
∃ (σ : Equiv.Perm (Fin n)), Monotone (core.relabel σ).valence
Every pseudocore admits a relabeling with monotone valences.