Documentation

LeanPool.HajnalSzemeredi.Final

Ported to Lean Pool from jtraverso/hajnal-szemeredi, commit ba34061e3cf12dfc8297610d5d7b3f0afac7ec54; import paths adapted.

Teorema de Hajnal–Szemerédi #

La forma general se reduce a la exacta agregando un K_p disjunto (p < r + 1) para que el número de vértices sea divisible por r + 1; cada clase contiene a lo más un vértice agregado.

theorem HajnalSzemeredi.degLe_univ {V : Type u_1} [Fintype V] (G : SimpleGraph V) [DecidableRel G.Adj] {r : ℕ} (h : ∀ (v : V), G.degree v ≤ r) :

Pasar del grado de Mathlib a DegLe sobre univ.

theorem HajnalSzemeredi.hajnalSzemeredi_exact {V : Type u_1} [Fintype V] (G : SimpleGraph V) [DecidableRel G.Adj] (r s : ℕ) (hcard : Fintype.card V = s * (r + 1)) (h : ∀ (v : V), G.degree v ≤ r) :
∃ (C : G.Coloring (Fin (r + 1))), ∀ (i : Fin (r + 1)), {v : V | C v = i}.card = s

Forma exacta.

def HajnalSzemeredi.padAdj {V : Type u_1} (G : SimpleGraph V) (p : ℕ) :
V ⊕ Fin p → V ⊕ Fin p → Prop

Adyacencia del grafo con un K_p disjunto agregado.

Equations
Instances For
    def HajnalSzemeredi.pad {V : Type u_1} (G : SimpleGraph V) (p : ℕ) :

    G ⊔ K_p (unión disjunta).

    Equations
    Instances For
      theorem HajnalSzemeredi.card_classes_split {V : Type u_1} [Fintype V] {W : Type u_2} [DecidableEq W] {p : ℕ} (f : V ⊕ Fin p → W) (i : W) :
      {w : V ⊕ Fin p | f w = i}.card = {v : V | f (Sum.inl v) = i}.card + {j : Fin p | f (Sum.inr j) = i}.card
      theorem HajnalSzemeredi.hajnalSzemeredi {V : Type u_1} [Fintype V] (G : SimpleGraph V) [DecidableRel G.Adj] (r : ℕ) (h : ∀ (v : V), G.degree v ≤ r) :
      ∃ (C : G.Coloring (Fin (r + 1))), ∀ (i j : Fin (r + 1)), {v : V | C v = i}.card ≤ {v : V | C v = j}.card + 1

      Teorema de Hajnal–Szemerédi.