OAI/Combinatorics/TreewidthL1/Particles.lean
76 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.BoundedTreewidthL1.pairUpdateline 13 - inductive
OAI.BoundedTreewidthL1.ParticleReachableline 18Source documentation
Finite update histories; there is no bound on the number of updates.
inductive ParticleReachable : (ι → ℝ) → Prop | zero : ParticleReachable (fun _ => 0) | step {a : ι → ℝ} (ha : ParticleReachable a) (i j : ι) (hij : i ≠ j) (e : ℝ) (he : |e| ≤ 1) : ParticleReachable (pairUpdate a i j e) /-- The quadratic subset-sum invariant controlling particle bounds. Subtractions are real. In particular the bound at the full set is exactly zero. -/Mentions: OAI.BoundedTreewidthL1.pairUpdate
- def
OAI.BoundedTreewidthL1.ParticleInvariantline 26Source documentation
The quadratic subset-sum invariant controlling particle bounds. Subtractions are real. In particular the bound at the full set is exactly zero.
def ParticleInvariant (a : ι → ℝ) : Prop := …
- lemma
OAI.BoundedTreewidthL1.sum_pairUpdateline 40 - lemma
OAI.BoundedTreewidthL1.pairUpdate_swapline 49 - lemma
OAI.BoundedTreewidthL1.ParticleInvariant.zeroline 57 - lemma
OAI.BoundedTreewidthL1.ParticleInvariant.update_oneline 66 - lemma
OAI.BoundedTreewidthL1.ParticleInvariant.updateline 87 - theorem
OAI.BoundedTreewidthL1.particle_reachable_invariantline 106 - theorem
OAI.BoundedTreewidthL1.particle_reachable_abs_leline 113Source documentation
Exact scalar bound used for the slopes AND absolute heights of particles.
theorem particle_reachable_abs_le {a : ι → ℝ} (ha : ParticleReachable a) (i : ι) : |a i| ≤ (Fintype.card ι : ℝ) - 1 := by …Mentions: OAI.BoundedTreewidthL1.ParticleReachable
- def
OAI.BoundedTreewidthL1.functionPairUpdateline 140 - inductive
OAI.BoundedTreewidthL1.FunctionParticleReachableline 144 - lemma
OAI.BoundedTreewidthL1.functionPairUpdate_leftline 153 - lemma
OAI.BoundedTreewidthL1.functionPairUpdate_rightline 160 - lemma
OAI.BoundedTreewidthL1.functionPairUpdate_otherline 167 - lemma
OAI.BoundedTreewidthL1.functionPairUpdate_value_normalizedline 174 - lemma
OAI.BoundedTreewidthL1.functionPairUpdate_difference_normalizedline 184 - lemma
OAI.BoundedTreewidthL1.function_particles_normalized_valuesline 195 - lemma
OAI.BoundedTreewidthL1.function_particles_normalized_differencesline 206 - theorem
OAI.BoundedTreewidthL1.function_particles_height_boundline 218 - theorem
OAI.BoundedTreewidthL1.function_particles_difference_boundline 225 - theorem
OAI.BoundedTreewidthL1.function_particles_metric_boundline 234 - def
OAI.BoundedTreewidthL1.particleTraceline 252Source documentation
The exact zero-error combined symmetric trace carried by a particle list.
noncomputable def particleTrace (M : ℝ) (F : ι → V → ℝ) (P : Finset V) : Measure (P → Bool) := ∑ i, cutTrace (symmetrizeCut (sweep M (F i))) PMentions: OAI.BoundedTreewidthL1.cutTrace, OAI.BoundedTreewidthL1.symmetrizeCut, OAI.BoundedTreewidthL1.sweep
- lemma
OAI.BoundedTreewidthL1.exists_weak_orderline 259Source documentation
Any reservation set of size at most
2qleaves two particles with a common weak order, and the actual affine update preserves the complete bag law and every reserved function. The pair is chosen before the perturbation; the universal quantifier on g expresses that fact.lemma exists_weak_order {V : Type treewidthLevel1} [Fintype V] (P : Finset V) (F : V → ℝ) : ∃ e : Fin P.card ≃ P, Monotone (fun i => F (e i)) := by … - lemma
OAI.BoundedTreewidthL1.free_common_orderline 279 - lemma
OAI.BoundedTreewidthL1.cutTrace_symmetrizeline 300 - lemma
OAI.BoundedTreewidthL1.symmetrize_addline 309 - lemma
OAI.BoundedTreewidthL1.sum_eq_of_pairline 315 - lemma
OAI.BoundedTreewidthL1.particleTrace_updateline 329 - theorem
OAI.BoundedTreewidthL1.particle_step_realizationline 350 - structure
OAI.BoundedTreewidthL1.ReservationPathline 396 - def
OAI.BoundedTreewidthL1.ReservationPath.inclusiveline 405 - def
OAI.BoundedTreewidthL1.ParticleSchedule.beforeline 415 - def
OAI.BoundedTreewidthL1.ParticleSchedule.occupiedline 418 - def
OAI.BoundedTreewidthL1.ParticleSchedule.pickPairline 424Source documentation
A deterministic pair selection using only pre-launch data. Classical choice here is a fixed function of the finite eligible-pair set, not of the fresh noise.
noncomputable def pickPair (P : Finset V) (C : Finset ι) (F : ι → V → ℝ) : ι × ι := by …
- def
OAI.BoundedTreewidthL1.ParticleSchedule.RunEquationsline 430 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.occupied_cardline 436 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.occupied_updateline 446 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.pickPair_specline 455 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.finite_runline 466 - theorem
OAI.BoundedTreewidthL1.ParticleSchedule.scheduled_particle_realizationline 499 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_weak_orderline 604 - def
OAI.BoundedTreewidthL1.ParticleSchedule.selectEligibleline 621 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_selectEligibleline 626 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_eligibilityline 631 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.pickPair_eq_selectEligibleline 651 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_pickPairline 661 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_occupiedline 667 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_selectedline 689 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_pairUpdateline 705 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.run_measurableline 728Source documentation
Measurability follows from the deterministic causal equations, for EVERY pointwise realization. There is no assertion that an arbitrary choice operator on an infinite real-valued space is measurable.
lemma run_measurable (R : ReservationPath) (P : ℕ → Finset V) (g : Ω → ℕ → V → ℝ) (hg : ∀ t v, Measurable (fun ω => g ω t v)) (n : ℕ) (F : Ω → ℕ → ι → V → ℝ) (p : Ω → ℕ → ι × ι) (hrun : ∀ ω, RunEquations R P (g ω) n (F ω) (p ω)) : (∀ t ≤ n, ∀ i v, Measurable (fun ω => F ω t i v)) ∧ (∀ t < n, Measurable (fun ω => p ω t)) := by …Mentions: OAI.BoundedTreewidthL1.ReservationPath, OAI.BoundedTreewidthL1.ParticleSchedule.RunEquations
- theorem
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_particle_runline 779 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_threshold_jointline 795 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_sweep_realline 810 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_symmetrize_sweep_realline 821 - instance
OAI.BoundedTreewidthL1.ParticleSchedule.finite_cutTraceline 835 - instance
OAI.BoundedTreewidthL1.ParticleSchedule.finite_particleTraceline 840 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.particle_real_sumline 845 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_particleTrace_realline 854 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.symmetrize_sweep_massline 870 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.particleTrace_massline 879 - lemma
OAI.BoundedTreewidthL1.ParticleSchedule.integrable_particleTrace_realline 889 - theorem
OAI.BoundedTreewidthL1.ParticleSchedule.measurable_branch_cut_lawsline 900 - def
OAI.BoundedTreewidthL1.ParticleSchedule.restrictBagCutline 926Source documentation
Literal restriction of a bag assignment to a smaller bag.
def restrictBagCut (P Q : Finset V) (h : Q ⊆ P) (a : P → Bool) : Q → Bool := …
- lemma
OAI.BoundedTreewidthL1.ParticleSchedule.particleTrace_restrictline 929 - theorem
OAI.BoundedTreewidthL1.ParticleSchedule.compatible_measurable_branchline 943 - def
OAI.BoundedTreewidthL1.ParticleBatch.usedPairsline 1004 - def
OAI.BoundedTreewidthL1.ParticleBatch.launchBatchline 1009Source documentation
Launch all new active keys at one interface, reserving a pair immediately before proceeding to the next key. Retained keys are supplied in C.
noncomputable def launchBatch (P : Finset V) : (l : List J) → (C : Finset J) → (F : ι → V → ℝ) → (p : J → ι × ι) → (g : J → V → ℝ) → (ι → V → ℝ) × (J → ι × ι) | [], _, F, p, _ => (F,p) | a :: l, C, F, p, g => let z := pickPair P (usedPairs C p) F … - lemma
OAI.BoundedTreewidthL1.ParticleBatch.usedPairs_cardline 1018 - lemma
OAI.BoundedTreewidthL1.ParticleBatch.usedPairs_monoline 1029 - lemma
OAI.BoundedTreewidthL1.ParticleBatch.usedPairs_updateline 1036 - lemma
OAI.BoundedTreewidthL1.ParticleBatch.first_mem_usedline 1045 - lemma
OAI.BoundedTreewidthL1.ParticleBatch.second_mem_usedline 1051 - theorem
OAI.BoundedTreewidthL1.ParticleBatch.launchBatch_correctline 1060Source documentation
The reservation-preserving finite batch required by the co-bag active-scale construction. No bound on the total number of updates is imposed.
theorem launchBatch_correct (k q : ℕ) (hN : Fintype.card ι = 2*q + k.factorial + 2) (P : Finset V) (hP : P.card ≤ k) (l : List J) (C : Finset J) (hl : l.Nodup) (hfresh : ∀ a ∈ l, a ∉ C) (hcount : (C ∪ l.toFinset).card ≤ q) (d : V → V → ℝ) (L H Δ : ℝ) (hH : 0 < H) (hΔ : 0 < Δ) (F : ι → V → ℝ) (p : J → ι × ι) (hF : FunctionParticleReachable d L H F) (g : J → V → ℝ) (hLip : ∀ a ∈ l, ∀ u v, |g a u - g a v| ≤ L*d u v) (hHeight : ∀ a ∈ l, ∀ v, |g a v| ≤ H) (hzero : ∀ a ∈ l, ∀ v ∈ P, g a v = 0) : let out := launchBatch P l C F p g …Mentions: OAI.BoundedTreewidthL1.FunctionParticleReachable, OAI.BoundedTreewidthL1.ParticleBatch.launchBatch
- lemma
OAI.BoundedTreewidthL1.ParticleBatch.measurable_usedPairsline 1171 - theorem
OAI.BoundedTreewidthL1.ParticleBatch.measurable_launchBatchline 1183Source documentation
The exact finite multi-launch scheduler is measurable; all pair choice is finite deterministic selection, not choice on the real sample space.
theorem measurable_launchBatch (P : Finset V) (l : List J) (C : Finset J) (F : Ω → ι → V → ℝ) (p : Ω → J → ι × ι) (g : Ω → J → V → ℝ) (hF : ∀ i v, Measurable (fun ω => F ω i v)) (hp : ∀ a, Measurable (fun ω => p ω a)) (hg : ∀ a v, Measurable (fun ω => g ω a v)) : Measurable (fun ω => launchBatch P l C (F ω) (p ω) (g ω)) := by …