“Color-col monochromatic star of size k”: there is a center x and a set
S of k distinct neighbors of x such that every
edge s(x, y) with y ∈ S is present in G and colored
col. (No restriction on edges inside S.)
Equations
Instances For
“Color-col monochromatic triangle”: there exist a, b, c with all three edges
present in G and colored col. (Adjacency already forces distinctness.)
Equations
Instances For
Statement (n = 5 case of Pikhurko’s counterexample).
There exists a simple graph on 16 vertices with exactly 44 edges such that
for every 2‑coloring of unordered pairs, either color 0 contains a $K_{1,5}$
(a 5‑edge star) or color 1 contains a $K₃$ (a triangle).
This only states the claim (as a Prop). You can later prove it from the
explicit construction, or assume it as an axiom while you develop the rest.
Equations
- Pikhurko_n5_statement = ∃ (V : Type) (G : SimpleGraph V), G.edgeSet.ncard = 44 ∧ ∀ (color : Sym2 V → Fin 2), hasMonoStar G color 0 5 ∨ hasMonoTriangle G color 1
Instances For
Equations
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A1 a) (PikhurkoN5.V.A1 b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A1 i) (PikhurkoN5.V.B1 j) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A1 i) (PikhurkoN5.V.A2 i_1) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A1 i) (PikhurkoN5.V.B2 j) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A1 i) PikhurkoN5.V.apex = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B1 j) (PikhurkoN5.V.A1 i) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B1 a) (PikhurkoN5.V.B1 b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B1 j) (PikhurkoN5.V.A2 i) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B1 j) (PikhurkoN5.V.B2 j_1) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B1 j) PikhurkoN5.V.apex = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A2 i) (PikhurkoN5.V.A1 i_1) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A2 i) (PikhurkoN5.V.B1 j) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A2 a) (PikhurkoN5.V.A2 b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A2 i) (PikhurkoN5.V.B2 j) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.A2 i) PikhurkoN5.V.apex = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B2 j) (PikhurkoN5.V.A1 i) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B2 j) (PikhurkoN5.V.B1 j_1) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B2 j) (PikhurkoN5.V.A2 i) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B2 a) (PikhurkoN5.V.B2 b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq (PikhurkoN5.V.B2 j) PikhurkoN5.V.apex = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq PikhurkoN5.V.apex (PikhurkoN5.V.A1 i) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq PikhurkoN5.V.apex (PikhurkoN5.V.B1 j) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq PikhurkoN5.V.apex (PikhurkoN5.V.A2 i) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq PikhurkoN5.V.apex (PikhurkoN5.V.B2 j) = isFalse ⋯
- PikhurkoN5.instDecidableEqV.decEq PikhurkoN5.V.apex PikhurkoN5.V.apex = isTrue ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
- PikhurkoN5.instReprV.repr PikhurkoN5.V.apex prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "PikhurkoN5.V.apex")).group prec✝
Instances For
Equations
- PikhurkoN5.instReprV = { reprPrec := PikhurkoN5.instReprV.repr }
Adjacency relation for the Pikhurko n=5 counterexample.
Equations
- PikhurkoN5.GAdj PikhurkoN5.V.apex PikhurkoN5.V.apex = False
- PikhurkoN5.GAdj PikhurkoN5.V.apex x✝ = True
- PikhurkoN5.GAdj x✝ PikhurkoN5.V.apex = True
- PikhurkoN5.GAdj (PikhurkoN5.V.A1 i) (PikhurkoN5.V.A1 j) = (i ≠ j)
- PikhurkoN5.GAdj (PikhurkoN5.V.A2 i) (PikhurkoN5.V.A2 j) = (i ≠ j)
- PikhurkoN5.GAdj (PikhurkoN5.V.A1 i) (PikhurkoN5.V.B1 j) = True
- PikhurkoN5.GAdj (PikhurkoN5.V.B1 j) (PikhurkoN5.V.A1 i) = True
- PikhurkoN5.GAdj (PikhurkoN5.V.A2 i) (PikhurkoN5.V.B2 j) = True
- PikhurkoN5.GAdj (PikhurkoN5.V.B2 j) (PikhurkoN5.V.A2 i) = True
- PikhurkoN5.GAdj x✝¹ x✝ = False
Instances For
The graph G on 16 vertices used for the n=5 counterexample.
Equations
- PikhurkoN5.G = { Adj := PikhurkoN5.GAdj, symm := PikhurkoN5.G._proof_1, loopless := PikhurkoN5.G._proof_2 }
Instances For
Equations
- PikhurkoN5.instFintypeV = Fintype.ofEquiv (Fin 2 ⊕ Fin 5 ⊕ Fin 3 ⊕ Fin 5 ⊕ Unit) PikhurkoN5.V.proxyTypeEquiv
$|V| = 16$. Useful for quick cardinality arithmetic.
The set of blue neighbors of apex in color class 0.
Equations
- PikhurkoN5.blueNeighbors color = {v ∈ PikhurkoN5.G.neighborFinset PikhurkoN5.V.apex | color s(PikhurkoN5.V.apex, v) = 0}
Instances For
The set of red neighbors of apex in color class 1.
Equations
- PikhurkoN5.redNeighbors color = {v ∈ PikhurkoN5.G.neighborFinset PikhurkoN5.V.apex | color s(PikhurkoN5.V.apex, v) = 1}
Instances For
If there is no blue K_{1,5}, then the apex has at most 4 blue neighbors.
If there is no blue K_{1,5}, then at least 11 neighbors of apex are red.
Equations
- One or more equations did not get rendered due to their size.
Red neighbors of apex that lie in the first block A1/B1.
Equations
- PikhurkoN5.redBlock1 color = {v ∈ PikhurkoN5.redNeighbors color | PikhurkoN5.inBlock1 v}
Instances For
Red neighbors of apex that lie in the second block A2/B2.
We implement this as the complement of inBlock1 inside redNeighbors.
Since apex is not in redNeighbors, this is exactly the A2/B2 part.
Equations
- PikhurkoN5.redBlock2 color = {v ∈ PikhurkoN5.redNeighbors color | ¬PikhurkoN5.inBlock1 v}
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Further refine redBlock1 into its A1 and B1 parts.
Equations
- PikhurkoN5.redBlock1A1 color = {v ∈ PikhurkoN5.redNeighbors color | PikhurkoN5.isA1 v}
Instances For
Equations
- PikhurkoN5.redBlock1B1 color = {v ∈ PikhurkoN5.redNeighbors color | PikhurkoN5.isB1 v}
Instances For
Further refine redBlock2 into its A2 and B2 parts.
Equations
- PikhurkoN5.redBlock2A2 color = {v ∈ PikhurkoN5.redNeighbors color | PikhurkoN5.isA2 v}
Instances For
Equations
- PikhurkoN5.redBlock2B2 color = {v ∈ PikhurkoN5.redNeighbors color | PikhurkoN5.isB2 v}
Instances For
The two parts of redBlock1 are disjoint.
The two parts of redBlock2 are disjoint.
Cardinal decompositions of the blocks.
All B1-vertices as a finset (image of Fin 5).
Equations
- PikhurkoN5.B1Set = Finset.image (fun (j : Fin 5) => PikhurkoN5.V.B1 j) Finset.univ
Instances For
All B2-vertices as a finset (image of Fin 5).
Equations
- PikhurkoN5.B2Set = Finset.image (fun (j : Fin 5) => PikhurkoN5.V.B2 j) Finset.univ
Instances For
Corollary: under the “no blue star” hypothesis, there is a red neighbor of apex
in the appropriate clique A1 or A2.
If Block 1 has at least 6 red apex-neighbors, and one of them is A1 i with a red edge
from apex, then either we have a red triangle, or a blue K_{1,5} centered at A1 i.
Main step (n=5): If there is no blue K_{1,5}, then the red color class contains a triangle.