OAI.Zarankiewicz.TruncatedSpokeCoordinates.odd_normalized_crossing_lower_bound: intermediate lemma from OpenAI, The crossing number of complete bipartite graphs
ProvedOAI.Zarankiewicz.TruncatedSpokeCoordinates.odd_normalized_crossing_lower_boundAn intermediate lemma of the split of OpenAI's proof of OAI.Zarankiewicz.mainTarget_proof, carved from OpenAI's openai/math development for this platform. The statement and its proof are OpenAI's (OpenAI, The crossing number of complete bipartite graphs, OpenAI Math Release, September 23, 2026, result family 165, github.com/openai/math, Apache License 2.0); in Lean it is the declaration OAI.Zarankiewicz.TruncatedSpokeCoordinates.odd_normalized_crossing_lower_bound of lean/OAI/Combinatorics/Crossing/OddNormalizedLowerBound.lean at commit adc7f12, ported to Lean 4.33.1 and Mathlib 0df444a.
The statement, as published (namespace OAI.Zarankiewicz.TruncatedSpokeCoordinates, with open scoped BigOperators):
theorem odd_normalized_crossing_lower_bound (C : TruncatedSpokeCoordinates V) (hnorm : NoAdjacentCrossings D)
(hstraight : LocallyStraightCrossings D) (htrans : LocallyTransverseCrossings D)
(s : ℕ) (hs : 0 < s) (hcard : n=2*s+1) (hm : 0 < m) :
axisPairs m*(s*s) ≤ crossingCount D
Definitions. The statement is written with OAI.Zarankiewicz.NoAdjacentCrossings (definitions bundle OAIB3Zr001 of this split); OAI.Zarankiewicz.LocallyStraightCrossings, OAI.Zarankiewicz.LocallyTransverseCrossings, OAI.Zarankiewicz.TruncatedSpokeCoordinates and OAI.Zarankiewicz.VertexTruncation (definitions bundle OAIB3Zr002 of this split); OAI.Zarankiewicz.AdmissibleDrawing, OAI.Zarankiewicz.axisPairs and OAI.Zarankiewicz.crossingCount (the published bundle Def_BipartiteCrossing).
Used by. The proof of OAI.Zarankiewicz.mainTarget_proof of this split imports it.
import Mathlib import Lean.Elab.Tactic.Omega import Definitions.Def_BipartiteCrossing import Definitions.Def_OAIB3Zr002
section
set_option linter.all false
set_option linter.unusedVariables false
set_option linter.unusedTactic false
set_option linter.unreachableTactic false
namespace OAI
noncomputable section
namespace Zarankiewicz.TruncatedSpokeCoordinates
open scoped BigOperators
variable {m n : ℕ} {D : AdmissibleDrawing m n} {V : VertexTruncation D.toContinuousDrawing}
(C : TruncatedSpokeCoordinates V)
theorem odd_normalized_crossing_lower_bound (C : TruncatedSpokeCoordinates V) (hnorm : NoAdjacentCrossings D)
(hstraight : LocallyStraightCrossings D) (htrans : LocallyTransverseCrossings D)
(s : ℕ) (hs : 0 < s) (hcard : n=2*s+1) (hm : 0 < m) :
axisPairs m*(s*s) ≤ crossingCount D := by
sorry
end Zarankiewicz.TruncatedSpokeCoordinates
end
end OAI
end