Documentation

LeanPool.RareSubtreePatterns.Bridge.Microscopic

Consequences of Assumption (S): Lemma lem:consequenceM and Corollary cor:SM #

Work package WP3 of the bridge plan. Source lines 1182–1251 (Lemma 3.6, proof step P04) and 1256–1365 (Corollary 3.7, proof step P05). Notation: š’Æ ~ bienayme μ, P_k = P(Ā· | G_k(š’Æ) = 1) (cond), ĪØ_m(x) = walkProb μ m x, supWalk μ m = sup_x ĪØ_m(x).

The decomposition of Assumption (S) #

A decomposition ρ (Skeleton) is a law of (š’Æ, C, š’Æ^{(1)}, …, š’Æ^{(L)}) with first marginal P_k, conditionally i.i.d. trees given (C, L) and |š’Æ| = C + āˆ‘ |š’Æ^{(i)}|. lintegral_skeleton is the resulting forest formula E[h(C, L, āˆ‘ |š’Æ^{(i)}|)] = āˆ‘_{c, ā„“} P(C = c, L = ā„“) āˆ‘_q P(|š’¢_ā„“| = q) h(c, ā„“, q), and lintegral_skeleton_le compares with E[L]; the empty forest ā„“ = 0 needs no special treatment there.

Main statements #

Null marks (Ļ€_n = 0, where (S) gives no decomposition) are handled by cond of a null event being 0 (correction F13).

Forests of i.i.d. trees: sums over tuples and lists #

theorem PoissonDeclumping.Bridge.tsum_prod_weight_mul (μ : PMF ā„•) (L : ā„•) (H : ā„• → ENNReal) :
āˆ‘' (f : Fin L → PlaneTree), (āˆ i : Fin L, PlaneTree.weight μ (f i)) * H (āˆ‘ i : Fin L, (f i).vertexCount) = āˆ‘' (q : ā„•), PlaneTree.forestSizeWeight μ L q * H q

āˆ‘_{(t_1..t_L)} āˆ w(t_i) H(āˆ‘ |t_i|) = āˆ‘_q P(|š’¢_L| = q) H(q).

Lists of trees grouped by length: āˆ‘_{ts} āˆ w(t_i) Φ(|ts|, āˆ‘ |t_i|) = āˆ‘_L āˆ‘_q P(|š’¢_L| = q) Φ(L, q).

Integrals over a decomposition ρ #

Integrating a function of (C, L) against any measure on PlaneTree Ɨ ā„• Ɨ List PlaneTree.

theorem PoissonDeclumping.Bridge.lintegral_skeleton {μ : PMF ā„•} {G : PlaneTree → Prop} {ρ : MeasureTheory.Measure (PlaneTree Ɨ ā„• Ɨ List PlaneTree)} (hρ : Skeleton μ G ρ) (h : ā„• → ā„• → ā„• → ENNReal) :
∫⁻ (ω : PlaneTree Ɨ ā„• Ɨ List PlaneTree), h ω.2.1 ω.2.2.length (List.map PlaneTree.vertexCount ω.2.2).sum āˆ‚Ļ = āˆ‘' (c : ā„•) (L : ā„•), ρ {ω : PlaneTree Ɨ ā„• Ɨ List PlaneTree | ω.2.1 = c ∧ ω.2.2.length = L} * āˆ‘' (q : ā„•), PlaneTree.forestSizeWeight μ L q * h c L q

The conditional forest structure of a decomposition (Assumption (S), source lines 1196–1202): for every h(c, ā„“, q), E[h(C, L, āˆ‘_{i ≤ L} |š’Æ^{(i)}|)] = āˆ‘_{c, ā„“} P(C = c, L = ā„“) āˆ‘_q P(|š’¢_ā„“| = q) h(c, ā„“, q).

theorem PoissonDeclumping.Bridge.lintegral_skeleton_le {μ : PMF ā„•} {G : PlaneTree → Prop} {ρ : MeasureTheory.Measure (PlaneTree Ɨ ā„• Ɨ List PlaneTree)} (hρ : Skeleton μ G ρ) (h : ā„• → ā„• → ā„• → ENNReal) (K : ENNReal) (hK : āˆ€ (c L : ā„•), āˆ‘' (q : ā„•), PlaneTree.forestSizeWeight μ L q * h c L q ≤ K * ↑L) :

Comparison: if āˆ‘_q P(|š’¢_ā„“| = q) h(c, ā„“, q) ≤ K ā„“ for all c, ā„“, then E[h(C, L, āˆ‘ |š’Æ^{(i)}|)] ≤ K E[L] (the empty forest ā„“ = 0 contributes only through the hypothesis at ā„“ = 0).

Under a decomposition, a function of the size of the marked tree integrates as a function of C + āˆ‘_{i ≤ L} |š’Æ^{(i)}| (source line 1198).

Core estimates for one decomposition #

theorem PoissonDeclumping.Bridge.exists_comparison {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) :
∃ (C : ā„), 0 < C ∧ (āˆ€ (M : ā„•), 8 ≤ M → a M ≤ C * a (M / 8)) ∧ āˆ€ (n N : ā„•), 1 ≤ N → n ≤ 2 * N → a n ≤ C * a N

a_M ≤ C a_{⌊M/8āŒ‹} and a_n ≤ C a_N for n ≤ 2N (regular variation).

theorem PoissonDeclumping.Bridge.cond_vertexCount_gt_le {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) :
∃ (C : ā„), 0 ≤ C ∧ āˆ€ (G : PlaneTree → Prop) (ρ : MeasureTheory.Measure (PlaneTree Ɨ ā„• Ɨ List PlaneTree)), Skeleton μ G ρ → āˆ€ (M : ā„•), 8 ≤ M → (PlaneTree.bienayme μ)[{T : PlaneTree | ↑M / 4 < ↑T.vertexCount} | {T : PlaneTree | G T}] ≤ ρ {ω : PlaneTree Ɨ ā„• Ɨ List PlaneTree | 1 / 8 * ↑M < ↑ω.2.1} + ENNReal.ofReal (C / a M) * ∫⁻ (ω : PlaneTree Ɨ ā„• Ɨ List PlaneTree), ↑ω.2.2.length āˆ‚Ļ

Unweighted core estimate (proof of lem:consequenceM, source lines 1208–1224): for a decomposition ρ of P(Ā· | G(š’Æ) = 1) and M ≄ 8, P(|š’Æ| > M/4 | G(š’Æ) = 1) ≤ P(C > M/8) + (C' / a_M) E[L].

theorem PoissonDeclumping.Bridge.lintegral_cond_supWalk_le {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) :
∃ (C : ā„), 0 ≤ C ∧ āˆ€ (G : PlaneTree → Prop) (ρ : MeasureTheory.Measure (PlaneTree Ɨ ā„• Ɨ List PlaneTree)), Skeleton μ G ρ → āˆ€ (M n j : ā„•), 8 ≤ M → j ≤ 1 → 2 * M ≤ n → ∫⁻ (T : PlaneTree), ENNReal.ofReal ({T : PlaneTree | ↑M / 4 < ↑T.vertexCount}.indicator (fun (T : PlaneTree) => supWalk μ (↑n - ↑j - ↑T.vertexCount)) T) āˆ‚(PlaneTree.bienayme μ)[|{T : PlaneTree | G T}] ≤ ρ {ω : PlaneTree Ɨ ā„• Ɨ List PlaneTree | 1 / 8 * ↑M < ↑ω.2.1} + ENNReal.ofReal (C / (a M * a n)) * ∫⁻ (ω : PlaneTree Ɨ ā„• Ɨ List PlaneTree), ↑ω.2.2.length āˆ‚Ļ

Bridge-weighted core estimate (proof of lem:consequenceM, source lines 1226–1250, in numerator form, correction F3): for a decomposition ρ of P(Ā· | G(š’Æ) = 1), M ≄ 8, n ≄ 2M and a time shift j ≤ 1, E[sup_x ĪØ_{n-j-|š’Æ|}(x) 1{|š’Æ| > M/4} | G(š’Æ) = 1] ≤ P(C > M/8) + C' E[L] / (a_M a_n). On {C ≤ M/8} the forest has more than M/8 vertices and the forest estimate is applied at time N = n - j - C ≄ n/2 (no ratio ĪØ_{n-c}(-1)/ĪØ_n(-1) is used).

Lemma lem:consequenceM #

theorem PoissonDeclumping.Bridge.tendsto_zero_of_forall_eventually_le {ι : Type u_1} {l : Filter ι} {f : ι → ā„} (h0 : āˆ€ (i : ι), 0 ≤ f i) (h : āˆ€ (ε : ā„), 0 < ε → āˆ€į¶  (i : ι) in l, f i ≤ ε) :

A nonnegative function that is eventually below every ε > 0 tends to 0.

theorem PoissonDeclumping.Bridge.toReal_le_add_of_le_add_div {X P E : ENNReal} {K A Ī“ : ā„} (hK : 0 ≤ K) (hA : 0 < A) (hĪ“ : 0 ≤ Ī“) (hP : P ≠ ⊤) (hX : X ≤ P + ENNReal.ofReal (K / A) * E) (hE : E / ENNReal.ofReal A ≤ ENNReal.ofReal Ī“) :
X.toReal ≤ P.toReal + K * Ī“

Turning a bound X ≤ P + (K / A) E with E / A ≤ Ī“ into X ≤ P + K Ī“ in ā„.

theorem PoissonDeclumping.Bridge.eventually_cutoff_facts {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) {M : ā„• → ā„•} (hM : IsCutoff M) :

Eventual facts on a cutoff along admissible sizes: M_n ≄ 8, 2 M_n ≤ n, a_n ≄ 1.

theorem PoissonDeclumping.Bridge.consequenceM_tail {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) {G : ā„• → PlaneTree → Prop} {k M : ā„• → ā„•} (hM : IsCutoff M) (hS : StructuralMicroscopic μ a G k M) :
Filter.Tendsto (fun (n : ā„•) => (PlaneTree.bienayme μ)[|{T : PlaneTree | G (k n) T}].real {T : PlaneTree | ↑(M n) / 4 < ↑T.vertexCount}) (admissibleSizes μ) (nhds 0)

Lemma lem:consequenceM, first assertion (source lines 1182–1224, P04): under Assumption (S), P(|š’Æ| > M_n/4 | G_{k_n}(š’Æ) = 1) → 0 along admissible sizes.

theorem PoissonDeclumping.Bridge.consequenceM_weighted_sup {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) {G : ā„• → PlaneTree → Prop} {k M : ā„• → ā„•} (hM : IsCutoff M) (hS : StructuralMicroscopic μ a G k M) (ε : ā„) :
0 < ε → āˆ€į¶  (n : ā„•) in admissibleSizes μ, āˆ€ j ≤ 1, a n * ∫ (T : PlaneTree), {T : PlaneTree | ↑(M n) / 4 < ↑T.vertexCount}.indicator (fun (T : PlaneTree) => supWalk μ (↑n - ↑j - ↑T.vertexCount)) T āˆ‚(PlaneTree.bienayme μ)[|{T : PlaneTree | G (k n) T}] ≤ ε

Lemma lem:consequenceM, second assertion, sup_x form (source lines 1226–1250): under Assumption (S), uniformly in a time shift j ≤ 1, a_n E[sup_x ĪØ_{n-j-|š’Æ|}(x) 1{|š’Æ| > M_n/4} | G_{k_n}(š’Æ) = 1] → 0 along admissible sizes.

theorem PoissonDeclumping.Bridge.consequenceM_weighted {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) {G : ā„• → PlaneTree → Prop} {k M : ā„• → ā„•} (hM : IsCutoff M) (hS : StructuralMicroscopic μ a G k M) (ε : ā„) :
0 < ε → āˆ€į¶  (n : ā„•) in admissibleSizes μ, āˆ€ j ≤ 1, āˆ€ (e : PlaneTree → ℤ), a n * ∫ (T : PlaneTree), {T : PlaneTree | ↑(M n) / 4 < ↑T.vertexCount}.indicator (fun (T : PlaneTree) => walkProb μ (↑n - ↑j - ↑T.vertexCount) (e T)) T āˆ‚(PlaneTree.bienayme μ)[|{T : PlaneTree | G (k n) T}] ≤ ε

Lemma lem:consequenceM, second assertion, numerator form (source lines 1226–1250; plan WP3.3, correction F3): under Assumption (S), for every ε > 0, eventually along admissible sizes, for every time shift j ≤ 1 and every endpoint selector e, a_n E[ĪØ_{n-j-|š’Æ|}(e(š’Æ)) 1{|š’Æ| > M_n/4} | G_{k_n}(š’Æ) = 1] ≤ ε. Dividing by ĪØ_n(-1) ≄ c / a_n gives the paper's form at j = 0.

theorem PoissonDeclumping.Bridge.consequenceM_weighted_div {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) {G : ā„• → PlaneTree → Prop} {k M : ā„• → ā„•} (hM : IsCutoff M) (hS : StructuralMicroscopic μ a G k M) :
Filter.Tendsto (fun (n : ā„•) => ∫ (T : PlaneTree), {T : PlaneTree | ↑(M n) / 4 < ↑T.vertexCount}.indicator (fun (T : PlaneTree) => supWalk μ (↑n - ↑T.vertexCount) / walkProb μ (↑n) (-1)) T āˆ‚(PlaneTree.bienayme μ)[|{T : PlaneTree | G (k n) T}]) (admissibleSizes μ) (nhds 0)

Lemma lem:consequenceM, second assertion, the paper's form (source line 1189, eq:record): under Assumption (S), E[sup_x ĪØ_{n-|š’Æ|}(x) / ĪØ_n(-1) 1{|š’Æ| > M_n/4} | G_{k_n}(š’Æ) = 1] → 0 along admissible sizes (at admissible n, ĪØ_n(-1) ≄ c / a_n > 0).

Corollary cor:SM #

ν(s ∩ t) = ν(s) ν(t | s) in ā„, for a finite measure on plane trees.

∫ 1_s f dν = ν(s) ∫ f dν(Ā· | s) in ā„, for a finite measure on plane trees.

theorem PoissonDeclumping.Bridge.microscopic_of_large {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) {G : ā„• → PlaneTree → Prop} {k M : ā„• → ā„•} (hM : IsCutoff M) (h1 : āˆ€ (ε : ā„), 0 < ε → āˆ€į¶  (n : ā„•) in admissibleSizes μ, (PlaneTree.bienayme μ).real {T : PlaneTree | G (k n) T ∧ M n < T.vertexCount} ≤ ε * markProb μ G k n) (h2 : āˆ€ (ε : ā„), 0 < ε → āˆ€į¶  (n : ā„•) in admissibleSizes μ, a n * ∫ (T : PlaneTree), {T : PlaneTree | G (k n) T ∧ M n < T.vertexCount}.indicator (fun (T : PlaneTree) => walkProb μ (↑n - ↑T.vertexCount) 0) T āˆ‚PlaneTree.bienayme μ ≤ ε * markProb μ G k n) :
Microscopic μ G k M

Assembly of Assumption (M) from bounds on large marked trees (the argument of source lines 1286–1311, in numerator form): if P(G_{k_n}(š’Æ), |š’Æ| > M_n) = o(Ļ€_n) and a_n E[1{G_{k_n}(š’Æ), |š’Æ| > M_n} ĪØ_{n-|š’Æ|}(0)] = o(Ļ€_n) along admissible sizes, then (M) holds. Small trees are handled by the uniform ratio limit (eventually_abs_uniformFringeLaw_real_sub_le), large ones by Corollary cor:cyclicshift and ĪØ_n(-1) ≄ c / a_n.

theorem PoissonDeclumping.Bridge.microscopic_of_structural {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) {G : ā„• → PlaneTree → Prop} {k M : ā„• → ā„•} (hM : IsCutoff M) (hS : StructuralMicroscopic μ a G k M) :
Microscopic μ G k M

Corollary cor:SM(i) (source lines 1256–1311, P05): Assumption (S) implies Assumption (M) along (k_n) with respect to the same cutoff (M_n).

theorem PoissonDeclumping.Bridge.integral_markCount_isEquivalent {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) {G : ā„• → PlaneTree → Prop} {k M : ā„• → ā„•} (hM : IsCutoff M) (hS : StructuralMicroscopic μ a G k M) :
Asymptotics.IsEquivalent (admissibleSizes μ) (fun (n : ā„•) => ∫ (T : PlaneTree), ↑(PlaneTree.markCount (G (k n)) T) āˆ‚PlaneTree.conditioned μ n) fun (n : ā„•) => ↑n * markProb μ G k n

Corollary cor:SM(ii) (source lines 1305–1311): under Assumption (S), E[#{u ∈ š’Æ^n : G_{k_n}(š’Æ^n_u) = 1}] ∼ n Ļ€_n along admissible sizes.

theorem PoissonDeclumping.Bridge.cond_vertexCount_eq_le {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) :
∃ (K : ā„), 0 ≤ K ∧ āˆ€ (G : PlaneTree → Prop) (ρ : MeasureTheory.Measure (PlaneTree Ɨ ā„• Ɨ List PlaneTree)), Skeleton μ G ρ → āˆ€ (n : ā„•), 1 ≤ n → (PlaneTree.bienayme μ)[{T : PlaneTree | T.vertexCount = n} | {T : PlaneTree | G T}] ≤ ρ {ω : PlaneTree Ɨ ā„• Ɨ List PlaneTree | ↑n / 2 < ↑ω.2.1} + ENNReal.ofReal (K / (↑n * a n)) * ∫⁻ (ω : PlaneTree Ɨ ā„• Ɨ List PlaneTree), ↑ω.2.2.length āˆ‚Ļ

Local core estimate (proof of cor:SM(iii), source lines 1330–1353): for a decomposition ρ of P(Ā· | G(š’Æ) = 1) and n ≄ 1, P(|š’Æ| = n | G(š’Æ) = 1) ≤ P(C > n/2) + K E[L] / (n a_n). On {C ≤ n/2} the forest must have exactly n - C ≄ n/2 vertices, and P(|š’¢_ā„“| = n - c) ≤ C ā„“ / ((n - c) a_{n-c}); the empty forest contributes nothing since n - c ≄ 1.

theorem PoissonDeclumping.Bridge.conditioned_mark_tendsto_zero {μ : PMF ā„•} {α : ā„} {a : ā„• → ā„} (hT : StableToolkit μ α a) {G : ā„• → PlaneTree → Prop} {k M : ā„• → ā„•} (hM : IsCutoff M) (hS : StructuralMicroscopic μ a G k M) (hO : markProb μ G k =O[admissibleSizes μ] fun (n : ā„•) => 1 / ↑n) :
Filter.Tendsto (fun (n : ā„•) => (PlaneTree.conditioned μ n).real {T : PlaneTree | G (k n) T}) (admissibleSizes μ) (nhds 0)

Corollary cor:SM(iii) (source lines 1258–1260, 1313–1364): under Assumption (S), if Ļ€_n = O(1/n) along admissible sizes, then the root of š’Æ^n is marked with vanishing probability, P(G_{k_n}(š’Æ^n) = 1) → 0. The proof writes P(G_{k_n}(š’Æ^n) = 1) = Ļ€_n P_{k_n}(|š’Æ| = n) / P(|š’Æ| = n), uses P(|š’Æ| = n) ≄ c / (n a_n) (tree_size_asymp) and the local core estimate cond_vertexCount_eq_le; null marks (Ļ€_n = 0) and empty forests are covered (correction F13).