OAI/Combinatorics/PlanarL1/Gluing.lean
31 declarations, 0 contain sorry, 0 declared as axioms
- lemma
OAI.PlanarL1.Gluing.frontier_between_rightline 12 - lemma
OAI.PlanarL1.Gluing.frontier_between_leftline 34 - lemma
OAI.PlanarL1.Gluing.monotone_piecewiseline 56 - lemma
OAI.PlanarL1.Gluing.lipschitz_piecewiseline 74 - def
OAI.PlanarL1.Gluing.VerticalBoundline 128Source documentation
The upper-bound invariant on a set of heights, stated on differences because individual half-line indicators need not be integrable.
def VerticalBound (μ : Measure Ω) (f : ℝ → Ω → ℝ) (S : Set ℝ) : Prop := …
- lemma
OAI.PlanarL1.Gluing.difference_triangleline 132 - lemma
OAI.PlanarL1.Gluing.verticalBound_piecewiseline 150 - structure
OAI.PlanarL1.Columns.Model.SetPatchline 205Source documentation
Local update data on closed full-column pieces. Cross-domain switches must be unchanged, as ensured by the strict frontier margins in the source.
structure SetPatch (A : SetSystem M Ω μ) where …
Mentions: OAI.PlanarL1.Columns.Model.SetSystem
- def
OAI.PlanarL1.Columns.Model.SetPatch.patchedActivityline 222 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.indicator_eqline 242 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.verticalBoundline 249 - def
OAI.PlanarL1.Columns.Model.SetPatch.applyline 266 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.unchangedline 276 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.insideline 280 - lemma
OAI.PlanarL1.Threshold.active_verticalBoundline 294 - def
OAI.PlanarL1.Threshold.chartPatchline 307Source documentation
A literal common-label scalar chart replacement yields local patch data. P already contains the source κ and comparison-orientation factors.
noncomputable def chartPatch {n : ℕ} {M : Columns.Model n} (A : M.SetSystem Ω μ) (Z : Variables Ω μ) (D : Fin n → Set ℝ) (hD : ∀ i, IsClosed (D i)) (P : Fin n → ℝ → ℝ) (hP : ∀ i, LipschitzOnWith 1 (P i) (D i)) (hb : ∀ ω i H, H ∈ frontier (D i) → (active Z H (P i H) ω ↔ (A.activity ω).active i H)) (hs : ∀ i j H, H ∈ M.heights i j → H ∈ D i → H ∈ D j → P i H = P j H) (hc : ∀ ω i j H, H ∈ M.heights i j → H ∈ D i → H ∉ D j → (active Z H (P i H) ω ↔ (A.activity ω).active i H)) : Columns.Model.SetPatch A where …Mentions: OAI.PlanarL1.Columns.Model, OAI.PlanarL1.Threshold.Variables, OAI.PlanarL1.Threshold.active, OAI.PlanarL1.Columns.Model.SetPatch
- lemma
OAI.PlanarL1.Columns.Model.Activity.indicator_monoline 338 - def
OAI.PlanarL1.Columns.Model.SetSystem.balancedUpdateline 348Source documentation
Balanced changes of one-point marginals preserve the exact vertical bound once genuine nestedness has been established. This avoids an unjustified finite-boundary assumption on chart regions.
noncomputable def SetSystem.balancedUpdate (S : SetSystem M Ω μ) (A : Ω → Activity M) (hm : ∀ i H, MeasurableSet {ω | (A ω).active i H}) (hi : ∀ i H, Integrable (fun ω => (A ω).indicator i H-(S.activity ω).indicator i H) μ) (hz : ∀ i H, (∫ ω, (A ω).indicator i H-(S.activity ω).indicator i H ∂μ)=0) : SetSystem M Ω μ := by …Mentions: OAI.PlanarL1.Columns.Model.SetSystem, OAI.PlanarL1.Columns.Model.Activity
- def
OAI.PlanarL1.Columns.Model.SetPatch.rebaseline 407Source documentation
A patch can be installed after other patches which have not changed its closed domain. Its actual activity and all clipping data are retained.
def rebase (P : SetPatch A) (B : SetSystem M Ω μ) (hB : ∀ ω i H, H ∈ P.domain i → ((B.activity ω).active i H ↔ (A.activity ω).active i H)) : SetPatch B where …Mentions: OAI.PlanarL1.Columns.Model.SetPatch, OAI.PlanarL1.Columns.Model.SetSystem
- def
OAI.PlanarL1.Columns.Model.SetPatch.UnchangedOverlapline 421 - def
OAI.PlanarL1.Columns.Model.SetPatch.selectActiveline 428Source documentation
The deterministic tie rule chooses the first closed cell containing a point. On all main-cell overlaps every proposal is the original activity.
noncomputable def selectActive : List (SetPatch A) → Ω → Fin n → ℝ → Prop | [],ω,i,H => (A.activity ω).active i H | P::L,ω,i,H => if H ∈ P.domain i then P.active ω i H else selectActive L ω i H
Mentions: OAI.PlanarL1.Columns.Model.SetPatch
- lemma
OAI.PlanarL1.Columns.Model.SetPatch.selectActive_oldline 432 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.exists_batchline 443 - def
OAI.PlanarL1.Columns.Model.SetPatch.batchline 460 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.batch_activeline 463 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.selectActive_choiceline 467 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.batch_movementline 489Source documentation
Simultaneous disjoint main clipping has the one-patch movement bound, not the sum over cells. Covers all points, not just the listed vertices.
lemma batch_movement (L : List (SetPatch A)) (hL : L.Pairwise UnchangedOverlap) {b : ℝ} (hb : 0 ≤ b) (hp : ∀ P ∈ L, ∀ i H, (∫ ω, |(P.apply.activity ω).indicator i H-(A.activity ω).indicator i H| ∂μ) ≤ b) (i : Fin n) (H : ℝ) : (∫ ω, |((batch L hL).activity ω).indicator i H-(A.activity ω).indicator i H| ∂μ) ≤ b := by …Mentions: OAI.PlanarL1.Columns.Model.SetPatch, OAI.PlanarL1.Columns.Model.SetPatch.UnchangedOverlap, OAI.PlanarL1.Columns.Model.SetPatch.batch
- lemma
OAI.PlanarL1.Columns.Model.SetPatch.batch_movement_integrableline 508 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.selectActive_insideline 536 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.batch_insideline 551 - lemma
OAI.PlanarL1.Columns.Model.SetPatch.batch_oldline 557