OAI/NumberTheory/TwoPoint/Bounds/PerfectIntervalFamily.lean
4 declarations, 0 contain sorry, 0 declared as axioms
Choose numerical intervals for the constructed perfect blocks, preserving all budgets.
- def
OAI.TwoPointCorrelations.intervalPositionsline 9 - theorem
OAI.TwoPointCorrelations.choose_interval_familyline 12 - theorem
OAI.TwoPointCorrelations.perfectChunkLength_eq_sumline 32 - theorem
OAI.TwoPointCorrelations.shortPerfectColumnChunks_interval_familyline 48Source documentation
The actual short-block partition admits numerical interval parameters. Their total length is at most the original length; every selected position retains its original perfect flag. Empty terminal blocks cost zero.
theorem shortPerfectColumnChunks_interval_family (N s : ℕ) (perfect : ℕ → Bool) : ∃ intervals : List (ℕ × ℕ), intervals.map intervalPositions = ((shortPerfectColumnChunks s ((List.range N).map (fun i => (i, perfect i)))).filterMap (Sum.elim some (fun _ => none))) ∧ intervals.length = perfectChunkCount (shortPerfectColumnChunks s ((List.range N).map (fun i => (i, perfect i)))) ∧ (intervals.map Prod.snd).sum ≤ N ∧ ∀ b ∈ intervals, b.1 + b.2 ≤ N ∧ ∀ i ∈ intervalPositions b, perfect i = true := by …Mentions: OAI.TwoPointCorrelations.intervalPositions, OAI.TwoPointCorrelations.shortPerfectColumnChunks, OAI.TwoPointCorrelations.perfectChunkCount