“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 {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.instReprV = { reprPrec := PikhurkoN5.reprV✝ }
Adjacency relation for the Pikhurko n=5 counterexample.
- Inside
A1and insideA2: cliques. - Between
A1–B1andA2–B2: complete bipartite. - Inside
B1andB2: no edges. - No edges between the two blocks
{A1,B1}and{A2,B2}. apexis connected to every non-apexvertex.
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
Convenience simp lemmas. These are optional but help when you start proving properties about colorings later on.
Equations
- PikhurkoN5.instFintypeV = Fintype.ofEquiv (Fin 2 ⊕ Fin 5 ⊕ Fin 3 ⊕ Fin 5 ⊕ Unit) PikhurkoN5.V.proxyTypeEquiv
|V| = 16. Useful for quick cardinality arithmetic.
Degree computations #
We compute the degree of each vertex kind. We’ll use your [simp] adjacency
lemmas from Approach A:
adj_apex_left,adj_A1A1,adj_A2A2,adj_A1B1,adj_A2B2, and the corresponding “no edge” lemmas across blocks.
Edge count via the handshaking lemma #
We now sum the degrees and divide by 2.
Small utilities #
Red neighbors of the apex are ≥ 11 if there is no blue star K_{1,5} #
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.
Membership in the first block {A1, B1}.
Equations
Instances For
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 ∉ redNeighbors color, this is exactly the {A2,B2} part.
Equations
- PikhurkoN5.redBlock2 color = {v ∈ PikhurkoN5.redNeighbors color | ¬PikhurkoN5.inBlock1 v}
Instances For
Part / block predicates #
Second block {A2,B2}.
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.
Bounding the B-parts by 5 #
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.
Helpers: the chosen clique vertex lies in the corresponding red block #
Triangle-or-star from Block 1 #
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.
Triangle-or-star from Block 2 (same proof pattern) #
Final step: no blue K_{1,5} ⇒ a red triangle #
Main step (n=5): If there is no blue K_{1,5}, then the red color class contains a triangle.