OAI/NumberTheory/Ostmann/Arithmetic/MovingPatternTree.lean
7 declarations, 0 contain sorry, 0 declared as axioms
The actual pair of sampled trees after fixing an internal pattern
- def
OAI.Ostmann.movingPatternSamplesline 13Source documentation
Fixed external labels and internal equality classes are kept separate. The latter number depends only on depth, not on the bulk length.
def movingPatternSamples (C : Type*) (n : ℕ) (pattern : Bool × MovingSampleIndex n → C) (side : Bool) : MovingSampleSlots C n := …Mentions: OAI.Ostmann.MovingSampleIndex, OAI.Ostmann.MovingSampleSlots
- theorem
OAI.Ostmann.movingPatternSamples_mapline 17 - theorem
OAI.Ostmann.movingPatternSamples_pairline 26 - theorem
OAI.Ostmann.treeLeafMap_list_compline 31 - def
OAI.Ostmann.movingPatternSlotDataline 39 - theorem
OAI.Ostmann.movingPatternSlotData_evaluateline 48Source documentation
Evaluating the fixed pattern tree gives precisely the original sampled constructor with those class values. No new sampler is introduced.
theorem movingPatternSlotData_evaluate {A B C : Type*} (external : B → A) (internal : C → A) (n : ℕ) (t : FrequencyTree ℤ n) (small bulk : TreeLeafTuple (List B) n) (pattern : Bool × MovingSampleIndex n → C) (side : Bool) : (movingPatternSlotData n t small bulk pattern side).map (Sum.elim external internal) = buildMovingSlotData n t (treeLeafMap (List.map external) n small) (treeLeafMap (List.map external) n bulk) (movingPatternSamples A n (internal ∘ pattern) side) := by …Mentions: OAI.Ostmann.FrequencyTree, OAI.Ostmann.TreeLeafTuple, OAI.Ostmann.MovingSampleIndex, OAI.Ostmann.movingPatternSlotData, OAI.Ostmann.buildMovingSlotData, OAI.Ostmann.treeLeafMap, OAI.Ostmann.movingPatternSamples
- theorem
OAI.Ostmann.movingPatternSlotData_levelsline 60