OAI/Combinatorics/ProgressionColoring/BlockCoverage.lean
23 declarations, 0 contain sorry, 0 declared as axioms
Coverage by full blocks containing a heavy position
The bth full block consists literally of positions b * h + z, for z < h.
Every full block that is not used consists of light positions. Counting the
disjoint full blocks and the final remainder transfers bounds within used
blocks to counts in the entire interval.
- def
OAI.QuantitativeVanDerWaerden.BlockCoverage.blockIndexline 25Source documentation
Position
zin full blockb.def blockIndex (k h : ℕ) (b : Fin (k / h)) (z : Fin h) : Fin k := …
- theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.blockIndex_valline 34 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.blockIndex_divline 37 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.blockIndex_injectiveline 44 - def
OAI.QuantitativeVanDerWaerden.BlockCoverage.blockPositionsline 51 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.card_blockPositionsline 55 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.blockPositions_disjointline 60 - def
OAI.QuantitativeVanDerWaerden.BlockCoverage.blockUnionline 72 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.blockUnion_monoline 75 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.card_blockUnionline 81 - def
OAI.QuantitativeVanDerWaerden.BlockCoverage.usedBlocksline 87 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.mem_usedBlocksline 92 - def
OAI.QuantitativeVanDerWaerden.BlockCoverage.lightPositionsline 97 - def
OAI.QuantitativeVanDerWaerden.BlockCoverage.lightCountline 101 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.unused_full_positions_lightline 105Source documentation
Every full-block position not covered by a used block is light.
theorem unused_full_positions_light (k h : ℕ) (heavy : Fin k → Prop) [DecidablePred heavy] : blockUnion k h Finset.univ \ blockUnion k h (usedBlocks k h heavy) ⊆ lightPositions heavy := by …Mentions: OAI.QuantitativeVanDerWaerden.BlockCoverage.blockUnion, OAI.QuantitativeVanDerWaerden.BlockCoverage.usedBlocks, OAI.QuantitativeVanDerWaerden.BlockCoverage.lightPositions
- theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.full_positions_le_light_add_usedline 122 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.usedBlocks_mul_lowerline 136Source documentation
The final remainder has fewer than
hpositions, and unused full blocks are charged to individual light positions.theorem usedBlocks_mul_lower (k h : ℕ) (hh : 0 < h) (heavy : Fin k → Prop) [DecidablePred heavy] : (k : ℝ) - (h : ℝ) - (lightCount heavy : ℝ) ≤ ((usedBlocks k h heavy).card : ℝ) * (h : ℝ) := by …Mentions: OAI.QuantitativeVanDerWaerden.BlockCoverage.lightCount, OAI.QuantitativeVanDerWaerden.BlockCoverage.usedBlocks
- theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.usedPositions_lowerline 148 - def
OAI.QuantitativeVanDerWaerden.BlockCoverage.blockColorCountline 155 - def
OAI.QuantitativeVanDerWaerden.BlockCoverage.colorCountline 159 - theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.sum_blockColorCount_leline 164Source documentation
Counts in any collection of distinct full blocks sum to at most the corresponding count in the whole interval.
theorem sum_blockColorCount_le (k h : ℕ) (hh : 0 < h) (B : Finset (Fin (k / h))) (color : Fin k → Bool) (c : Bool) : (∑ b ∈ B, blockColorCount k h color c b) ≤ colorCount color c := by …Mentions: OAI.QuantitativeVanDerWaerden.BlockCoverage.blockColorCount, OAI.QuantitativeVanDerWaerden.BlockCoverage.colorCount
- theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.colorCount_lowerline 182Source documentation
If every used full block contains at least
h/8positions of a specified color, that color occupies at least(k-h-lightCount)/8positions globally.theorem colorCount_lower (k h : ℕ) (hh : 0 < h) (heavy : Fin k → Prop) [DecidablePred heavy] (color : Fin k → Bool) (c : Bool) (hblocks : ∀ b ∈ usedBlocks k h heavy, (h : ℝ) / 8 ≤ (blockColorCount k h color c b : ℝ)) : ((k : ℝ) - (h : ℝ) - (lightCount heavy : ℝ)) / 8 ≤ (colorCount color c : ℝ) := by …Mentions: OAI.QuantitativeVanDerWaerden.BlockCoverage.usedBlocks, OAI.QuantitativeVanDerWaerden.BlockCoverage.blockColorCount, OAI.QuantitativeVanDerWaerden.BlockCoverage.lightCount, OAI.QuantitativeVanDerWaerden.BlockCoverage.colorCount
- theorem
OAI.QuantitativeVanDerWaerden.BlockCoverage.colorCount_tenthline 202Source documentation
The one-tenth light-position and block-size bounds give the desired one-tenth global count for each color.
theorem colorCount_tenth (k h : ℕ) (hh : 0 < h) (heavy : Fin k → Prop) [DecidablePred heavy] (color : Fin k → Bool) (hlight : (lightCount heavy : ℝ) ≤ (k : ℝ) / 10) (hsmall : (h : ℝ) ≤ (k : ℝ) / 10) (hblocks : ∀ b ∈ usedBlocks k h heavy, ∀ c : Bool, (h : ℝ) / 8 ≤ (blockColorCount k h color c b : ℝ)) : ∀ c : Bool, (k : ℝ) / 10 ≤ (colorCount color c : ℝ) := by …Mentions: OAI.QuantitativeVanDerWaerden.BlockCoverage.lightCount, OAI.QuantitativeVanDerWaerden.BlockCoverage.usedBlocks, OAI.QuantitativeVanDerWaerden.BlockCoverage.blockColorCount, OAI.QuantitativeVanDerWaerden.BlockCoverage.colorCount