OAI/Combinatorics/PlanarL1/Interpolation.lean
64 declarations, 0 contain sorry, 0 declared as axioms
The deterministic clamping core of thin-band interpolation
No probabilistic or geometric claim is assumed by these lemmas; they establish the scalar inequalities used at each actual node.
- def
OAI.PlanarL1.Interpolation.nodeValueline 16Source documentation
The exact parent/tentative clamp in the source:
U=max parent A,L=min parent B, andF=min U (max L T).def nodeValue (parent upper lower tentative : ℝ) : ℝ := …
- theorem
OAI.PlanarL1.Interpolation.nodeValue_collarline 21Source documentation
Whenever both barrier cones exclude movement, an equality collar preserves the parent value exactly.
theorem nodeValue_collar {parent upper lower tentative : ℝ} (hu : upper ≤ parent) (hl : parent ≤ lower) : nodeValue parent upper lower tentative = parent := by …Mentions: OAI.PlanarL1.Interpolation.nodeValue
- theorem
OAI.PlanarL1.Interpolation.nodeValue_boundsline 29Source documentation
Clamping into an interval whose upper end is not too small and whose lower end is not too large preserves the claimed accuracy window.
theorem nodeValue_bounds {parent upper lower tentative lo hi : ℝ} (hlo : lo ≤ upper) (hhi : lower ≤ hi) (htlo : lo ≤ tentative) (hthi : tentative ≤ hi) : lo ≤ nodeValue parent upper lower tentative ∧ nodeValue parent upper lower tentative ≤ hi := by …Mentions: OAI.PlanarL1.Interpolation.nodeValue
- theorem
OAI.PlanarL1.Interpolation.distant_node_overwritesline 40Source documentation
The obstruction in
int:depth: a distant node cannot pass an accurate parent value unchanged. The constants 6, 7 and 13 are the source's constants.theorem distant_node_overwrites {parent upper lower tentative p δ : ℝ} (hδ : 0 < δ) (hp : |parent - p| ≤ 6 * δ) (hu : p + 7 * δ < upper) (hl : lower < p - 7 * δ) (ht : p + 13 * δ < tentative) : p + 7 * δ < nodeValue parent upper lower tentative ∧ nodeValue parent upper lower tentative ≠ parent := by …Mentions: OAI.PlanarL1.Interpolation.nodeValue
- structure
OAI.PlanarL1.Interpolation.NamedValueline 59Source documentation
An atom evaluation together with its deterministic priority/inheritance name. Its value may depend on all the already sampled ancestor noises.
structure NamedValue where …
- def
OAI.PlanarL1.Interpolation.minNamedline 64Source documentation
Minima and maxima both resolve ties toward the earliest atom name.
noncomputable def minNamed (a b : NamedValue) : NamedValue := …
Mentions: OAI.PlanarL1.Interpolation.NamedValue
- def
OAI.PlanarL1.Interpolation.maxNamedline 67 - lemma
OAI.PlanarL1.Interpolation.minNamed_memline 70 - lemma
OAI.PlanarL1.Interpolation.maxNamed_memline 74 - lemma
OAI.PlanarL1.Interpolation.minNamed_valueline 79 - lemma
OAI.PlanarL1.Interpolation.maxNamed_valueline 89 - def
OAI.PlanarL1.Interpolation.nodeNamedline 99Source documentation
The clamp with the manuscript's consistent atom-name tie rule.
noncomputable def nodeNamed (parent upper lower tentative : NamedValue) : NamedValue := …
Mentions: OAI.PlanarL1.Interpolation.NamedValue
- lemma
OAI.PlanarL1.Interpolation.nodeNamed_valueline 103 - lemma
OAI.PlanarL1.Interpolation.nodeNamed_memline 108 - lemma
OAI.PlanarL1.Interpolation.nodeNamed_oldline 126Source documentation
A name from before the current node can only be selected by literally inheriting the parent's atom. In particular its scalar value is inherited too.
lemma nodeNamed_old {parent upper lower tentative : NamedValue} {cutoff : ℕ} (hu : cutoff ≤ upper.name) (hl : cutoff ≤ lower.name) (ht : cutoff ≤ tentative.name) (h : (nodeNamed parent upper lower tentative).name < cutoff) : nodeNamed parent upper lower tentative = parent := by …Mentions: OAI.PlanarL1.Interpolation.NamedValue, OAI.PlanarL1.Interpolation.nodeNamed
- lemma
OAI.PlanarL1.Interpolation.nodeNamed_collarline 137Source documentation
The complete equality collar, including exact retention of the parent atom's name .
lemma nodeNamed_collar {parent upper lower tentative : NamedValue} (hu : upper.value < parent.value) (hl : parent.value < lower.value) (ht : parent.name ≤ tentative.name) : nodeNamed parent upper lower tentative = parent := by …Mentions: OAI.PlanarL1.Interpolation.NamedValue, OAI.PlanarL1.Interpolation.nodeNamed
- lemma
OAI.PlanarL1.Interpolation.chain_inheritsline 162Source documentation
Iterated inheritance along a fixed ancestor chain. This does not make any independence assumption on the already computed scalar intercepts.
lemma chain_inherits {F U L T : ℕ → NamedValue} {k n cutoff : ℕ} (hkn : k ≤ n) (hrec : ∀ j, F (j + 1) = nodeNamed (F j) (U (j + 1)) (L (j + 1)) (T (j + 1))) (hnew : ∀ j, k ≤ j → j < n → cutoff ≤ (U (j + 1)).name ∧ cutoff ≤ (L (j + 1)).name ∧ cutoff ≤ (T (j + 1)).name) (hout : (F n).name < cutoff) : F n = F k := by …Mentions: OAI.PlanarL1.Interpolation.NamedValue, OAI.PlanarL1.Interpolation.nodeNamed
- theorem
OAI.PlanarL1.Interpolation.bounded_ancestryline 183Source documentation
Quantitative bounded ancestry. At a distant node
k, the source's 7δ/13δ barriers prevent an accurate final value from retaining a name originating strictly beforek. All actual new atoms of stagejhave names ≥6*j. This is the substantive inheritance argument of lemmaint:depth.theorem bounded_ancestry {F U L T : ℕ → NamedValue} {k n : ℕ} {p δ : ℝ} (hk : 1 ≤ k) (hkn : k ≤ n) (hδ : 0 < δ) (hrec : ∀ j, F (j + 1) = nodeNamed (F j) (U (j + 1)) (L (j + 1)) (T (j + 1))) (hnew : ∀ j, 6 * j ≤ (U j).name ∧ 6 * j ≤ (L j).name ∧ 6 * j ≤ (T j).name) (haccuracy : |(F n).value - p| ≤ 6 * δ) (hu : p + 7 * δ < (U k).value) (hl : (L k).value < p - 7 * δ) (ht : p + 13 * δ < (T k).value) : 6 * k ≤ (F n).name := by …Mentions: OAI.PlanarL1.Interpolation.NamedValue, OAI.PlanarL1.Interpolation.nodeNamed
- lemma
OAI.PlanarL1.Interpolation.recent_name_countline 213Source documentation
There are at most
6*(M+1)names in the lastM+1levels, independently of the total depth. This is the exact deterministic list-size boundN.lemma recent_name_count (n M : ℕ) : (Finset.Ico (6 * (n - M)) (6 * (n + 1))).card ≤ 6 * (M + 1) := by … - lemma
OAI.PlanarL1.Interpolation.distance_cone_lipschitzline 219Source documentation
Both signed distance cones have their exact unit Lipschitz constant.
lemma distance_cone_lipschitz {X : Type*} [PseudoMetricSpace X] (x : X) (c : ℝ) : LipschitzWith 1 (fun v => c + dist x v) ∧ LipschitzWith 1 (fun v => c - dist x v) := by … - lemma
OAI.PlanarL1.Interpolation.nodeValue_lipschitzline 230 - lemma
OAI.PlanarL1.Interpolation.selection_near_tieline 253Source documentation
A continuous finite selection cannot change its recorded branch on a ball without a near tie at the center. This includes the old-field branch of a clipping, even though that branch has no fresh offset of its own.
lemma selection_near_tie {X : Type*} [PseudoMetricSpace X] {K : ℝ≥0} (F : X → NamedValue) (atom : ℕ → X → ℝ) (S : Finset ℕ) (hF : LipschitzWith K (fun z => (F z).value)) (hA : ∀ i ∈ S, LipschitzWith K (atom i)) (x : X) {ρ : ℝ} (hρ : 0 ≤ ρ) (hlist : ∀ z, dist x z ≤ ρ → (F z).name ∈ S ∧ (F z).value = atom (F z).name z) (hbad : ∃ z, dist x z ≤ ρ ∧ (F z).name ≠ (F x).name) : ∃ i ∈ S, ∃ j ∈ S, i ≠ j ∧ |atom i x-atom j x| ≤ 2*K*ρ := by …Mentions: OAI.PlanarL1.Interpolation.NamedValue
- lemma
OAI.PlanarL1.Interpolation.selection_probabilityline 274 - def
OAI.PlanarL1.Interpolation.clippedNamedline 299 - lemma
OAI.PlanarL1.Interpolation.clippedNamed_memline 302 - lemma
OAI.PlanarL1.Interpolation.clippedNamed_valueline 310 - def
OAI.PlanarL1.Interpolation.clipNamesline 314 - lemma
OAI.PlanarL1.Interpolation.clipNames_cardline 317 - lemma
OAI.PlanarL1.Interpolation.mem_clipNamesline 323 - def
OAI.PlanarL1.Interpolation.namedClipline 339Source documentation
The old field has priority zero; the shield has priority one, and actual inherited atom identities are shifted by two. Thus a retaining tie keeps the old identifier, just as required by the source chart update.
noncomputable def namedClip {X : Type*} (F : X → NamedValue) (old shield : X → ℝ) (x : X) : NamedValue := …Mentions: OAI.PlanarL1.Interpolation.NamedValue
- def
OAI.PlanarL1.Interpolation.clipAtomline 343 - lemma
OAI.PlanarL1.Interpolation.namedClip_listline 346 - lemma
OAI.PlanarL1.Interpolation.clipAtom_lipschitzline 367 - lemma
OAI.PlanarL1.Interpolation.clippedNamed_retainsline 384 - def
OAI.PlanarL1.Interpolation.secondaryNamesline 400 - lemma
OAI.PlanarL1.Interpolation.secondaryNames_cardline 403 - lemma
OAI.PlanarL1.Interpolation.mem_secondaryNamesline 412 - def
OAI.PlanarL1.Interpolation.secondaryNamedline 430 - def
OAI.PlanarL1.Interpolation.secondaryAtomline 436 - lemma
OAI.PlanarL1.Interpolation.secondaryNamed_valueline 440 - lemma
OAI.PlanarL1.Interpolation.secondaryNamed_memline 447 - lemma
OAI.PlanarL1.Interpolation.secondaryNamed_listline 466 - lemma
OAI.PlanarL1.Interpolation.secondaryAtom_lipschitzline 485 - def
OAI.PlanarL1.Interpolation.familyNameline 511Source documentation
Retained old branches are shared (name zero). Every genuinely new group branch receives a distinct name including its group, not merely its formula.
def familyName {k : ℕ} (g : Fin k) (i : ℕ) : ℕ := … - lemma
OAI.PlanarL1.Interpolation.familyName_zeroline 514 - lemma
OAI.PlanarL1.Interpolation.familyName_ne_zeroline 517 - lemma
OAI.PlanarL1.Interpolation.familyName_injline 520 - def
OAI.PlanarL1.Interpolation.familyNamesline 528 - lemma
OAI.PlanarL1.Interpolation.mem_familyNamesline 531 - lemma
OAI.PlanarL1.Interpolation.familyNames_cardline 536 - def
OAI.PlanarL1.Interpolation.familyAtomline 547 - lemma
OAI.PlanarL1.Interpolation.familyAtom_zeroline 552 - lemma
OAI.PlanarL1.Interpolation.familyAtom_nameline 556 - lemma
OAI.PlanarL1.Interpolation.familyAtom_lipschitzline 562 - lemma
OAI.PlanarL1.Interpolation.familyAtomPair_probabilityline 574Source documentation
Comparisons in one group use the local fresh-offset estimate. Comparisons between groups condition on all other samples and then use a constant test.
lemma familyAtomPair_probability {X Ω : Type*} {k : ℕ} [Fintype Ω] [Nonempty Ω] (old : X → ℝ) (A : Fin k → Ω → ℕ → X → ℝ) (S : Fin k → Finset ℕ) (x : X) {t b : ℝ} (hpair : ∀ g i, i ∈ S g → ∀ j, j ∈ S g → i ≠ j → FiniteRandom.prob (fun ω => |A g ω i x-A g ω j x| ≤ t) ≤ b) (hconst : ∀ g i, i ∈ S g → i ≠ 0 → ∀ c : ℝ, FiniteRandom.prob (fun ω => |A g ω i x-c| ≤ t) ≤ b) (i j : ℕ) (hi : i ∈ familyNames S) (hj : j ∈ familyNames S) (hne : i ≠ j) : FiniteRandom.prob (fun ω : Fin k → Ω => |familyAtom old (fun g => A g (ω g)) i x-familyAtom old (fun g => A g (ω g)) j x| ≤ t) ≤ b := by …Mentions: OAI.PlanarL1.FiniteRandom.prob, OAI.PlanarL1.Interpolation.familyNames, OAI.PlanarL1.Interpolation.familyAtom
- def
OAI.PlanarL1.Interpolation.maxSelectionline 625 - lemma
OAI.PlanarL1.Interpolation.maxSelection_memline 630 - lemma
OAI.PlanarL1.Interpolation.maxSelection_lipschitzline 643 - def
OAI.PlanarL1.Interpolation.familySelectionline 654 - lemma
OAI.PlanarL1.Interpolation.familySelection_listline 659 - lemma
OAI.PlanarL1.Interpolation.familySelection_lipschitzline 681 - lemma
OAI.PlanarL1.Interpolation.familySelection_probabilityline 692Source documentation
The literal deterministic finite maximum has a single identifier throughout one small ball except for the finite pair-comparison events.
lemma familySelection_probability {X Ω : Type*} [PseudoMetricSpace X] [Fintype Ω] [Nonempty Ω] {k N : ℕ} {K : ℝ≥0} (old : X → ℝ) (F : Fin k → Ω → X → NamedValue) (A : Fin k → Ω → ℕ → X → ℝ) (S : Fin k → Finset ℕ) (ho : LipschitzWith K old) (hF : ∀ g ω, LipschitzWith K (fun z => (F g ω z).value)) (hA : ∀ g ω i, LipschitzWith K (A g ω i)) (hzero : ∀ g ω z, A g ω 0 z=old z) (hcard : ∀ g, (S g).card ≤ N) (x : X) {ρ b : ℝ} (hρ : 0 ≤ ρ) (hb : 0 ≤ b) (hlist : ∀ g ω z, dist x z ≤ ρ → (F g ω z).name ∈ S g ∧ (F g ω z).value = A g ω (F g ω z).name z) (hpair : ∀ g i, i ∈ S g → ∀ j, j ∈ S g → i ≠ j → …Mentions: OAI.PlanarL1.Interpolation.NamedValue
- lemma
OAI.PlanarL1.Interpolation.clippedNamed_eq_old_of_valueline 733 - lemma
OAI.PlanarL1.Interpolation.namedClip_eq_old_iffline 745