OAI/NumberTheory/Ostmann/Arithmetic/MovingSlotOccurrences.lean
10 declarations, 0 contain sorry, 0 declared as axioms
Actual occurrence paths and absence of their compensation type
- inductive
OAI.Ostmann.MovingSlotDataline 12Source documentation
At a node, the two regular lists exclude its moving giants. The compensation list is inserted in both children by the sampler.
inductive MovingSlotData (σ : Type*) : ℕ → Type _ | leaf (s : ℤ) (regular : List σ) : MovingSlotData σ 0 | node {n : ℕ} (s : ℤ) (leftRegular rightRegular compensation : List σ) (left right : MovingSlotData σ n) : MovingSlotData σ (n + 1) - def
OAI.Ostmann.MovingSlotData.frequencyline 17 - def
OAI.Ostmann.MovingSlotData.stepline 21 - structure
OAI.Ostmann.MovingSlotOccurrenceline 31 - def
OAI.Ostmann.MovingSlotOccurrence.extendline 36 - def
OAI.Ostmann.MovingSlotData.occurrencesline 42Source documentation
Each root-to-occurrence path is recorded in the order of the cleared ancestor recursion, so the newest reversal occurs first.
def MovingSlotData.occurrences {σ : Type*} : {n : ℕ} → MovingSlotData σ n → List (MovingSlotOccurrence σ) | _, .leaf _ _ => [] | n + 1, .node s CL CR u left right => ⟨n + 1, step s CL CR u left right false, []⟩ :: (left.occurrences.map (fun o => o.extend (step s CL CR u left right true))) ++ (right.occurrences.map (fun o => o.extend (step s CL CR u left right false)))Mentions: OAI.Ostmann.MovingSlotData, OAI.Ostmann.MovingSlotOccurrence, OAI.Ostmann.MovingSlotData.step
- def
OAI.Ostmann.MovingSlotData.Levelsline 49 - def
OAI.Ostmann.MovingSlotOccurrence.AvoidsBelowline 56 - theorem
OAI.Ostmann.MovingSlotData.occurrence_boundsline 67Source documentation
The current compensation type is strictly below every variable in the current numerator and all its ancestor denominators. This holds for every occurrence simultaneously, including repeated occurrences of one sample.
theorem MovingSlotData.occurrence_bounds {σ : Type*} (tier : σ → ℕ) {n : ℕ} (T : MovingSlotData σ n) (hT : T.Levels tier) : ∀ o ∈ T.occurrences, 0 < o.level ∧ o.level + o.path.length ≤ n ∧ o.AvoidsBelow tier := by …Mentions: OAI.Ostmann.MovingSlotData
- theorem
OAI.Ostmann.MovingSlotOccurrence.absent_of_levelline 120