OAI/Analysis/TreePotential/SegmentHeads.lean
27 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.BoundedTreePotentials.Segments.Initialline 15Source documentation
Cutting needs only ancestry, so it applies to finite heads and whole components.
def Initial (C : Set Node) : Prop := ∀ ⦃s t⦄, s ∈ C → Prefix t s → t ∈ C
Mentions: OAI.BoundedTreePotentials.Segments.Node, OAI.BoundedTreePotentials.Segments.Prefix
- lemma
OAI.BoundedTreePotentials.Segments.initial_complementline 17 - lemma
OAI.BoundedTreePotentials.Segments.prefix_of_length_leline 20 - lemma
OAI.BoundedTreePotentials.Segments.prefix_equal_lengthline 24 - lemma
OAI.BoundedTreePotentials.Segments.Segment.head_restrictionline 29 - lemma
OAI.BoundedTreePotentials.Segments.Segment.tail_restrictionline 50 - lemma
OAI.BoundedTreePotentials.Segments.incomparable_imageline 71 - lemma
OAI.BoundedTreePotentials.Segments.unit_subsegment_familyline 86 - lemma
OAI.BoundedTreePotentials.Segments.unit_headline 95 - lemma
OAI.BoundedTreePotentials.Segments.unit_tailline 117 - lemma
OAI.BoundedTreePotentials.Segments.shortening_lossline 143Source documentation
At the crucial shortening step the starts are unchanged. The squared increase is paid out of the unused unit-test budget, not an assumed tail bound.
lemma shortening_loss {g : Node → ℝ} (hg : IsUnitTest g) {F : Finset Segment} (hF : Incomparable F) (R : Segment → Segment) (c : Segment → ℝ) (hstart : ∀ S ∈ F, (R S).start=S.start) (heval : ∀ S ∈ F, (R S).eval g=S.eval g-c S) (hopposite : ∀ S ∈ F, S.eval g*c S ≤ 0) : 2*(∑ S ∈ F, |S.eval g*c S|) ≤ 1-(∑ S ∈ F, (S.eval g)^2) := by …Mentions: OAI.BoundedTreePotentials.Segments.Node, OAI.BoundedTreePotentials.Segments.IsUnitTest, OAI.BoundedTreePotentials.Segments.Segment, OAI.BoundedTreePotentials.Segments.Incomparable
- def
OAI.BoundedTreePotentials.Segments.oppositeProductline 163Source documentation
This is the unsigned product only on genuinely opposite signs.
def oppositeProduct (a b : ℝ) : ℝ := (|a*b|-a*b)/2
- lemma
OAI.BoundedTreePotentials.Segments.oppositeProduct_nonnegline 165 - lemma
OAI.BoundedTreePotentials.Segments.oppositeProduct_eqline 169 - lemma
OAI.BoundedTreePotentials.Segments.unsigned_energy_identityline 178 - lemma
OAI.BoundedTreePotentials.Segments.unsigned_energy_boundline 204Source documentation
The independent-copy cancellation step. No independence or expectation identity is assumed: both expectations and their product are finite sums.
lemma unsigned_energy_bound (p : I → ℝ) (hp : ∀ i, 0 ≤ p i) (hp1 : ∑ i, p i=1) (r : I → Q → ℝ) (d : I → ℝ) (hc : ∀ i j, (∑ q, oppositeProduct (r i q) (r j q)) ≤ d i+d j) : (∑ q, (∑ i, p i*|r i q|)^2) ≤ (∑ q, (∑ i, p i*r i q)^2)+4*(∑ i, p i*d i) := by …Mentions: OAI.BoundedTreePotentials.Segments.oppositeProduct
- lemma
OAI.BoundedTreePotentials.Segments.weighted_sqrt_boundline 233Source documentation
Jensen's square-root bound, in precisely the finite-state setting used in the atom mixtures.
lemma weighted_sqrt_bound (p : I → ℝ) (hp : ∀ i, 0 ≤ p i) (hp1 : ∑ i, p i=1) (d : I → ℝ) (hd : ∀ i, 0 ≤ d i) : (∑ i, p i*Real.sqrt (d i)) ≤ Real.sqrt (∑ i, p i*d i) := by … - def
OAI.BoundedTreePotentials.Segments.startCostline 257Source documentation
The start-mass cost, literally the upward recursion, including infinite values. The field m is restricted by the remaining height of recursion.
def startCost : ℕ → (List ℕ → ℝ≥0∞) → ℝ≥0∞ | 0, m => m [] | n+1, m => m [] + (∑' j : ℕ, (startCost n (fun s => m (j::s)))^2)^(1/2:ℝ)
- lemma
OAI.BoundedTreePotentials.Segments.startCost_monoline 261 - lemma
OAI.BoundedTreePotentials.Segments.startCost_zeroline 272 - lemma
OAI.BoundedTreePotentials.Segments.initial_beforeline 280 - lemma
OAI.BoundedTreePotentials.Segments.Segment.shorten_beforeline 284 - lemma
OAI.BoundedTreePotentials.Segments.Segment.eval_to_exitline 309Source documentation
Replacing an endpoint after an exit does not affect a headed test.
lemma Segment.eval_to_exit {C : Set Node} (hC : Initial C) {g : Node → ℝ} (hg : ∀ v ∉ C, g v=0) (S : Segment) {q : Node} (hq : q ∈ S.nodes) (hqC : q ∉ C) : S.eval g=(Segment.mk S.start q ((S.mem_nodes q).mp hq).1).eval g := by …Mentions: OAI.BoundedTreePotentials.Segments.Node, OAI.BoundedTreePotentials.Segments.Initial, OAI.BoundedTreePotentials.Segments.Segment, OAI.BoundedTreePotentials.Segments.Segment.eval
- lemma
OAI.BoundedTreePotentials.Segments.Segment.shorten_at_exitline 328 - def
OAI.BoundedTreePotentials.Segments.IsExitline 345Source documentation
Minimal nodes outside an initial set, including roots of unused components.
def IsExit (C : Set Node) (q : Node) : Prop := q ∉ C ∧ ∀ s, Prefix s q → s ≠ q → s ∈ C
Mentions: OAI.BoundedTreePotentials.Segments.Node, OAI.BoundedTreePotentials.Segments.Prefix
- lemma
OAI.BoundedTreePotentials.Segments.exits_incomparableline 347 - lemma
OAI.BoundedTreePotentials.Segments.Segment.tail_exitline 351