OAI/Combinatorics/TreewidthL1/Anchors.lean
84 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.BoundedTreewidthL1.AnchorTreeParticles.retainedline 12 - def
OAI.BoundedTreewidthL1.AnchorTreeParticles.freshline 14 - def
OAI.BoundedTreewidthL1.AnchorTreeParticles.seedline 16 - def
OAI.BoundedTreewidthL1.AnchorTreeParticles.stepline 18 - def
OAI.BoundedTreewidthL1.AnchorTreeParticles.stateline 21 - lemma
OAI.BoundedTreewidthL1.AnchorTreeParticles.retained_subsetline 25 - lemma
OAI.BoundedTreewidthL1.AnchorTreeParticles.batch_dataline 32 - lemma
OAI.BoundedTreewidthL1.AnchorTreeParticles.state_eqline 44 - theorem
OAI.BoundedTreewidthL1.AnchorTreeParticles.forest_particle_realizationline 53Source documentation
Actual branching preparation for anchor keys, launched at their own bag. Children use their own copies of the parent's list; no consistency assumption on sampled bag laws.
theorem forest_particle_realization (R : RootedForest I) (bag : I → Finset V) (A : I → Finset J) (k q : ℕ) (hbag : ∀ i, (bag i).card ≤ k) (hA : ∀ i, (A i).card ≤ q) (hN : Fintype.card ι = 2*q + k.factorial + 2) (d : V → V → ℝ) (L H Δ : ℝ) (hH : 0 < H) (hΔ : 0 < Δ) (g : I → J → V → ℝ) (hLip : ∀ i a, ∀ u v, |g i a u - g i a v| ≤ L*d u v) (hHeight : ∀ i a v, |g i a v| ≤ H) (hzero : ∀ i a, ∀ v ∈ bag i, g i a v = 0) : let M := H*((Fintype.card ι : ℝ)-1)+2*Δ …Mentions: OAI.BoundedTreewidthL1.RootedForest
- theorem
OAI.BoundedTreewidthL1.AnchorTreeParticles.measurable_stateline 135Source documentation
Measurability of the actual branching preparation, with all randomness sampled beforehand. No measurable-choice assumption about the particle lists.
theorem measurable_state (R : RootedForest I) (bag : I → Finset V) (A : I → Finset J) (g : Ω → I → J → V → ℝ) (hg : ∀ i a v, Measurable (fun ω => g ω i a v)) (i : I) : Measurable (fun ω => state (ι := ι) R bag A (g ω) i) := by …Mentions: OAI.BoundedTreewidthL1.RootedForest, OAI.BoundedTreewidthL1.AnchorTreeParticles.state
- def
OAI.BoundedTreewidthL1.AnchorTreeParticles.originline 155Source documentation
The discrete launch location depends only on the rooted decomposition and active keys. In particular it does not consult any preparatory randomness.
noncomputable def origin (R : RootedForest I) (A : I → Finset J) (root : I) : I → J → I := …
Mentions: OAI.BoundedTreewidthL1.RootedForest
- lemma
OAI.BoundedTreewidthL1.AnchorTreeParticles.origin_eqline 158 - lemma
OAI.BoundedTreewidthL1.AnchorTreeParticles.origin_freshline 164 - lemma
OAI.BoundedTreewidthL1.AnchorTreeParticles.origin_transportline 180 - lemma
OAI.BoundedTreewidthL1.AnchorTreeParticles.two_particle_differenceline 205 - theorem
OAI.BoundedTreewidthL1.AnchorTreeParticles.origin_particle_gapline 224Source documentation
The actual active pair at any descendant supplies the original launch separation. The origin is deterministic, so no conditioning on the particle scheduler or sampled coefficients is required.
theorem origin_particle_gap (R : RootedForest I) (root : I) (bag : I → Finset V) (A : I → Finset J) (k q : ℕ) (hbag : ∀ i, (bag i).card ≤ k) (hA : ∀ i, (A i).card ≤ q) (hN : Fintype.card ι = 2*q + k.factorial + 2) (d : V → V → ℝ) (L H Δ : ℝ) (hH : 0 < H) (hΔ : 0 < Δ) (g : I → J → V → ℝ) (hLip : ∀ i a, ∀ u v, |g i a u - g i a v| ≤ L*d u v) (hHeight : ∀ i a v, |g i a v| ≤ H) (hzero : ∀ i a, ∀ v ∈ bag i, g i a v = 0) (i : I) (a : J) (ha : a ∈ A i) (u v : V) : 2*|g (origin R A root i a) a u - g (origin R A root i a) a v| ≤ ∑ t, |(state (ι := ι) R bag A g i).1 t u - …Mentions: OAI.BoundedTreewidthL1.RootedForest, OAI.BoundedTreewidthL1.AnchorTreeParticles.origin, OAI.BoundedTreewidthL1.AnchorTreeParticles.state
- theorem
OAI.BoundedTreewidthL1.AnchorTreeParticles.averaged_origin_realizationline 264Source documentation
Actual global averaged L1 realization of the branching preparation, with an unconditional integral lower bound from each deterministic active origin.
theorem averaged_origin_realization (G : SimpleGraph V) (hG : G.Connected) (ℓ : G.edgeSet → ℝ) (hℓ : ∀ e, 0 < ℓ e) (T : SimpleGraph I) (hT : T.IsTree) (root : I) (B : I → Finset V) (hcover : ∀ v, ∃ i, v ∈ B i) (hedge : ∀ u v, G.Adj u v → ∃ i, u ∈ B i ∧ v ∈ B i) (hrun : ∀ v, (T.induce {i | v ∈ B i}).Preconnected) (A : I → Finset J) (k q : ℕ) (hbag : ∀ i, (B i).card ≤ k) (hA : ∀ i, (A i).card ≤ q) (hN : Fintype.card ι = 2*q + k.factorial + 2) (ν : Measure Ω) [IsProbabilityMeasure ν] (L H Δ : ℝ) (hL : 0 < L) (hH : 0 < H) (hΔ : 0 < Δ) (g : Ω → I → J → V → ℝ) (hmeas : ∀ i a v, Measurable (fun ω => g ω i a v)) (hLip : ∀ ω i a, ∀ u v, |g ω i a u - g ω i a v| ≤ L*shortestPathDistance G ℓ u v) … - lemma
OAI.BoundedTreewidthL1.tree_path_mem_connectedline 342 - lemma
OAI.BoundedTreewidthL1.touched_bags_connectedline 358Source documentation
The bags touched by the vertices of a graph walk form a connected subtree. No bounded-width assumption is needed for this purely combinatorial fact.
lemma touched_bags_connected {V I : Type*} [DecidableEq V] (G : SimpleGraph V) (T : SimpleGraph I) (bag : I → Finset V) (hedge : ∀ u v, G.Adj u v → ∃ t, u ∈ bag t ∧ v ∈ bag t) (hocc : ∀ v, (T.induce {t | v ∈ bag t}).Connected) {u v : V} (p : G.Walk u v) : (T.induce {t | ∃ z ∈ p.support, z ∈ bag t}).Connected := by … - theorem
OAI.BoundedTreewidthL1.bag_separatorline 390 - def
OAI.BoundedTreewidthL1.bagDistanceline 406Source documentation
Exact finite minimum distance to a nonempty bag in the original weighted metric.
noncomputable def bagDistance {V : Type*} (G : SimpleGraph V) (ℓ : G.edgeSet → ℝ) (A : Finset V) (hA : A.Nonempty) (x : V) : ℝ := … - lemma
OAI.BoundedTreewidthL1.bagDistance_attainedline 410 - lemma
OAI.BoundedTreewidthL1.bagDistance_leline 415 - lemma
OAI.BoundedTreewidthL1.bagDistance_nonnegline 420 - lemma
OAI.BoundedTreewidthL1.bagDistance_triangleline 425 - lemma
OAI.BoundedTreewidthL1.bagDistance_lipschitzline 433 - lemma
OAI.BoundedTreewidthL1.geodesic_splitline 442 - theorem
OAI.BoundedTreewidthL1.separator_bag_geometryline 455 - def
OAI.BoundedTreewidthL1.AnchorCache.Dropline 490Source documentation
Immediately follows a strict-to-weak threshold drop in the age-ordered list.
def Drop (C : Finset ℕ) (v : ℕ → ℝ) (τ : ℝ) (a : ℕ) : Prop := …
- def
OAI.BoundedTreewidthL1.AnchorCache.protectedEntriesline 494 - def
OAI.BoundedTreewidthL1.AnchorCache.cacheBoundline 501 - def
OAI.BoundedTreewidthL1.AnchorCache.eligibleline 503 - def
OAI.BoundedTreewidthL1.AnchorCache.trimline 510Source documentation
Retain the inclusive list if space remains; otherwise evict its oldest unprotected nonroot entry. The fallback is unreachable on admissible input.
noncomputable def trim (k : ℕ) (P : Finset V) (C : Finset ℕ) (d : V → V → ℝ) (v : V → ℕ → ℝ) (J : ℝ) : Finset ℕ := by … - lemma
OAI.BoundedTreewidthL1.AnchorCache.drop_uniqueline 518 - lemma
OAI.BoundedTreewidthL1.AnchorCache.drop_card_leline 530 - lemma
OAI.BoundedTreewidthL1.AnchorCache.protected_subsetline 539 - lemma
OAI.BoundedTreewidthL1.AnchorCache.protected_cardline 552 - lemma
OAI.BoundedTreewidthL1.AnchorCache.eligible_nonemptyline 577 - theorem
OAI.BoundedTreewidthL1.AnchorCache.deterministic_cache_stepline 600 - def
OAI.BoundedTreewidthL1.AnchorCache.memoryline 637 - def
OAI.BoundedTreewidthL1.AnchorCache.inclusiveCacheline 643Source documentation
Incoming cache plus current proposal, before the release at this bag.
noncomputable def inclusiveCache (k : ℕ) (P : ℕ → Finset V) (d : V → V → ℝ) (v : ℕ → V → ℕ → ℝ) (J : ℝ) : ℕ → Finset ℕ | 0 => {0} | t+1 => insert (t+1) (memory k P d v J t) - def
OAI.BoundedTreewidthL1.AnchorCache.ValidInputline 648 - lemma
OAI.BoundedTreewidthL1.AnchorCache.trim_subsetline 654 - lemma
OAI.BoundedTreewidthL1.AnchorCache.trim_removed_uniqueline 660 - lemma
OAI.BoundedTreewidthL1.AnchorCache.memory_subsetline 674 - lemma
OAI.BoundedTreewidthL1.AnchorCache.inclusive_selfline 681 - lemma
OAI.BoundedTreewidthL1.AnchorCache.inclusive_ageline 685 - lemma
OAI.BoundedTreewidthL1.AnchorCache.inclusive_backwardsline 697 - lemma
OAI.BoundedTreewidthL1.AnchorCache.memory_invariantline 714 - lemma
OAI.BoundedTreewidthL1.AnchorCache.inclusive_invariantline 730 - lemma
OAI.BoundedTreewidthL1.AnchorCache.memory_protectedline 742 - def
OAI.BoundedTreewidthL1.AnchorCache.activeTimesline 754 - def
OAI.BoundedTreewidthL1.AnchorCache.lastActiveline 759 - lemma
OAI.BoundedTreewidthL1.AnchorCache.active_selfline 765 - lemma
OAI.BoundedTreewidthL1.AnchorCache.lastActive_memline 771 - lemma
OAI.BoundedTreewidthL1.AnchorCache.le_lastActiveline 779 - lemma
OAI.BoundedTreewidthL1.AnchorCache.inclusive_iff_intervalline 787 - theorem
OAI.BoundedTreewidthL1.AnchorCache.cache_program_realizesline 801Source documentation
Realizes the deterministic cache as the inclusive reservation path needed by the youngest-crossing argument.
theorem cache_program_realizes (k : ℕ) (P : ℕ → Finset V) (d : V → V → ℝ) (v : ℕ → V → ℕ → ℝ) (J : ℝ) (last : ℕ) (hvalid : ValidInput k P d v J last) : ∃ R : BoundedTreewidthL1.ReservationPath, R.last = last ∧ (∀ t ≤ last, R.inclusive t = inclusiveCache k P d v J t) ∧ (∀ t, (R.inclusive t).card ≤ cacheBound k + 1) ∧ (∀ t < last, ∀ a ∈ protectedEntries (P t) (inclusiveCache k P d v J t) d (v t) J, t < R.finish a) := by …Mentions: OAI.BoundedTreewidthL1.AnchorCache.ValidInput, OAI.BoundedTreewidthL1.ReservationPath, OAI.BoundedTreewidthL1.AnchorCache.inclusiveCache, OAI.BoundedTreewidthL1.AnchorCache.cacheBound, OAI.BoundedTreewidthL1.AnchorCache.protectedEntries
- theorem
OAI.BoundedTreewidthL1.AnchorCache.graph_cache_realizesline 863 - lemma
OAI.BoundedTreewidthL1.AnchorCache.drop_congr_online 899 - lemma
OAI.BoundedTreewidthL1.AnchorCache.protected_congr_online 909 - lemma
OAI.BoundedTreewidthL1.AnchorCache.trim_congr_online 925 - lemma
OAI.BoundedTreewidthL1.AnchorCache.memory_prefixline 933 - lemma
OAI.BoundedTreewidthL1.AnchorCache.inclusiveCache_prefixline 948 - def
OAI.BoundedTreewidthL1.RootedTree.downPathline 965 - lemma
OAI.BoundedTreewidthL1.RootedTree.downPath_isPathline 966 - lemma
OAI.BoundedTreewidthL1.RootedTree.downPath_lengthline 968 - lemma
OAI.BoundedTreewidthL1.RootedTree.depth_parentline 971 - lemma
OAI.BoundedTreewidthL1.RootedTree.path_parentline 981 - lemma
OAI.BoundedTreewidthL1.RootedTree.downPath_parent_getVertline 989 - def
OAI.BoundedTreewidthL1.TreeCache.bagsline 1005 - def
OAI.BoundedTreewidthL1.TreeCache.heightsline 1007 - def
OAI.BoundedTreewidthL1.TreeCache.inclusiveline 1009 - def
OAI.BoundedTreewidthL1.TreeCache.releasedline 1012 - def
OAI.BoundedTreewidthL1.TreeCache.activeline 1015 - def
OAI.BoundedTreewidthL1.TreeCache.retainedline 1018 - lemma
OAI.BoundedTreewidthL1.TreeCache.inclusive_parentline 1022 - lemma
OAI.BoundedTreewidthL1.TreeCache.active_parentline 1039 - lemma
OAI.BoundedTreewidthL1.TreeCache.retained_subsetline 1055 - lemma
OAI.BoundedTreewidthL1.TreeCache.child_not_activeline 1060 - lemma
OAI.BoundedTreewidthL1.TreeCache.active_rootline 1086 - lemma
OAI.BoundedTreewidthL1.TreeCache.active_inter_parentline 1092 - lemma
OAI.BoundedTreewidthL1.TreeCache.active_sdiff_parentline 1107 - theorem
OAI.BoundedTreewidthL1.TreeCache.graph_active_boundline 1122Source documentation
Width-only cache capacity on the actual root-to-node paths.
theorem graph_active_bound [Fintype V] [DecidableEq V] (G : SimpleGraph V) (ℓ : G.edgeSet → ℝ) (hG : G.Connected) (hℓ : ∀ e, 0 < ℓ e) (T : SimpleGraph I) (B : I → Finset V) (hne : ∀ i, (B i).Nonempty) (hT : T.IsTree) (root : I) (hedge : ∀ u v, G.Adj u v → ∃ t, u ∈ B t ∧ v ∈ B t) (hocc : ∀ v, (T.induce {t | v ∈ B t}).Connected) (k : ℕ) (hcard : ∀ i, (B i).card ≤ k) (J : ℝ) (i : I) : (active T hT root B (fun a => bagDistance G ℓ (B a) (hne a)) k (shortestPathDistance G ℓ) J i).card ≤ cacheBound k + 1 := by …Mentions: OAI.BoundedTreewidthL1.TreeCache.active, OAI.BoundedTreewidthL1.bagDistance, OAI.BoundedTreewidthL1.shortestPathDistance