OAI/Analysis/CircleDomains/Transfer/PeriodicFilling.lean
44 declarations, 0 contain sorry, 0 declared as axioms
Integer-translated fillings on the pulled-back circle cover
Section 2, Step 4, of the Koebe manuscript fills one sheet over each
filling disk and uses its integer translates on all other sheets. Here
the cover is the actual pullback of ℝ → ℝ/ℤ by the original circle
coordinate. The filled real function is the original height plus the
base correction g - u on each disk. Thus it has exactly the original
deck increments and projects to the circle map already constructed by
CirclePatching.
The differentials on every sheet are those of the selected real filling. No additional lifting, period, or winding input is assumed.
- def
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCoverline 31Source documentation
The literal pullback of the universal real cover by a circle map.
def CircleLiftCover {X : Type*} (f : X → UnitAddCircle) := … - instance
OAI.CircleDomainRigidity.FiniteTransfer.(instance at line 34)line 34 - def
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.baseline 38 - def
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.heightline 41 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.height_projectsline 44 - def
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.translateline 48Source documentation
Integer translations act on this pullback without changing the base.
def CircleLiftCover.translate {X : Type*} {f : X → UnitAddCircle} (m : ℤ) (p : CircleLiftCover f) : CircleLiftCover f := …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.base_translateline 53 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.height_translateline 56 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.translate_zeroline 59 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.translate_addline 65 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.continuous_baseline 71 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.continuous_heightline 75 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.continuous_translateline 79 - def
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.cutoffLiftline 88Source documentation
The actual cutoff sends the original pullback cover to the pullback of the modified circle coordinate, over the identity of the base.
def CircleLiftCover.cutoffLift {X : Type*} {f : X → UnitAddCircle} (χ : X → ℝ) (P : ℝ → ℝ) (hP : ∀ r, P (r + 1) = P r + 1) (p : CircleLiftCover f) : CircleLiftCover (circleCutoff f χ P) := …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover, OAI.CircleDomainRigidity.FiniteTransfer.circleCutoff
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.base_cutoffLiftline 94 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.cutoffLift_translateline 98 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover.continuous_cutoffLiftline 111 - def
OAI.CircleDomainRigidity.FiniteTransfer.fillingCorrectionline 121Source documentation
The change on a selected base disk; it is zero off the disks.
def fillingCorrection {X I : Type*} (D : I → Set X) (u g : I → X → ℝ) : X → ℝ := … - def
OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValueline 125Source documentation
Fill on one sheet and translate on every other sheet.
def periodicFilledValue {X I : Type*} (f : X → UnitAddCircle) (D : I → Set X) (u g : I → X → ℝ) (p : CircleLiftCover f) : ℝ := …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue_translateline 131Source documentation
Every integer deck increment, in particular the positive period one, is retained by the actual filling formula.
theorem periodicFilledValue_translate {X I : Type*} (f : X → UnitAddCircle) (D : I → Set X) (u g : I → X → ℝ) (p : CircleLiftCover f) (m : ℤ) : periodicFilledValue f D u g (p.translate m) = periodicFilledValue f D u g p + (m : ℝ) := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover, OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.periodicCutoffFilledValue_translateline 141Source documentation
Cutoff followed by filling retains the original cover's deck action, not just the action on a separately chosen cover of the modified map.
theorem periodicCutoffFilledValue_translate {X I : Type*} (f : X → UnitAddCircle) (χ : X → ℝ) (P : ℝ → ℝ) (hP : ∀ r, P (r + 1) = P r + 1) (D : I → Set X) (u g : I → X → ℝ) (p : CircleLiftCover f) (m : ℤ) : periodicFilledValue (circleCutoff f χ P) D u g ((p.translate m).cutoffLift χ P hP) = periodicFilledValue (circleCutoff f χ P) D u g (p.cutoffLift χ P hP) + (m : ℝ) := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover, OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue, OAI.CircleDomainRigidity.FiniteTransfer.circleCutoff
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue_insideline 148 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue_outsideline 156 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue_inside_integerline 163Source documentation
Each sheet differs from the selected filling by an actual integer.
theorem periodicFilledValue_inside_integer {X I : Type*} (f : X → UnitAddCircle) (D : I → Set X) (u g : I → X → ℝ) (hdisj : Pairwise (Disjoint on D)) (hu : ∀ i x, x ∈ D i → (u i x : UnitAddCircle) = f x) {i : I} {p : CircleLiftCover f} (hp : p.base ∈ D i) : ∃ m : ℤ, periodicFilledValue f D u g p = g i p.base + (m : ℝ) := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover, OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue_projectsline 176Source documentation
The deck-compatible real filling projects to precisely the already constructed circle patch.
theorem periodicFilledValue_projects {X I : Type*} (f : X → UnitAddCircle) (D : I → Set X) (u g : I → X → ℝ) (hdisj : Pairwise (Disjoint on D)) (hu : ∀ i x, x ∈ D i → (u i x : UnitAddCircle) = f x) (p : CircleLiftCover f) : (periodicFilledValue f D u g p : UnitAddCircle) = patchOpenRegions D (fun i x => (g i x : UnitAddCircle)) f p.base := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover, OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue, OAI.CircleDomainRigidity.FiniteTransfer.patchOpenRegions
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.periodicCutoffFilledValue_projectsline 194Source documentation
The complete cutoff-and-filling formula projects to the actual circle patch, using the original local branches as input.
theorem periodicCutoffFilledValue_projects {X I : Type*} (f : X → UnitAddCircle) (χ : X → ℝ) (P : ℝ → ℝ) (hP : ∀ r, P (r + 1) = P r + 1) (D : I → Set X) (u g : I → X → ℝ) (hdisj : Pairwise (Disjoint on D)) (hu : ∀ i x, x ∈ D i → (u i x : UnitAddCircle) = f x) (p : CircleLiftCover f) : (periodicFilledValue (circleCutoff f χ P) D (fun i => cutoffStaircase (u i) χ P) g (p.cutoffLift χ P hP) : UnitAddCircle) = patchOpenRegions D (fun i x => (g i x : UnitAddCircle)) (circleCutoff f χ P) p.base := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover, OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue, OAI.CircleDomainRigidity.FiniteTransfer.circleCutoff, OAI.CircleDomainRigidity.FiniteTransfer.cutoffStaircase, OAI.CircleDomainRigidity.FiniteTransfer.patchOpenRegions
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.contDiff_fillingCorrectionline 207Source documentation
Boundary collar agreement makes the base correction globally smooth. Only the local real branches on the disks are needed.
theorem contDiff_fillingCorrection {E I : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [Fintype I] (D : I → Set E) (hD : ∀ i, IsOpen (D i)) (hdisj : Pairwise (Disjoint on D)) (u g : I → E → ℝ) (hu : ∀ i, ContDiffOn ℝ ∞ (u i) (D i)) (hg : ∀ i, ContDiffOn ℝ ∞ (g i) (D i)) (hagree : ∀ i x, x ∈ frontier (D i) → g i =ᶠ[𝓝 x] u i) : ContDiff ℝ ∞ (fillingCorrection D u g) := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.fillingCorrection
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.eventually_filledBranch_eq_add_intline 224Source documentation
A branch on any other sheet has the selected real filling's derivative.
theorem eventually_filledBranch_eq_add_int {E I : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] (D : I → Set E) (hD : ∀ i, IsOpen (D i)) (hdisj : Pairwise (Disjoint on D)) (u g : I → E → ℝ) {v : E → ℝ} {i : I} {x : E} (hx : x ∈ D i) (hv : ContinuousAt v x) (hu : ContinuousAt (u i) x) (hproj : (fun y => (v y : UnitAddCircle)) =ᶠ[𝓝 x] fun y => (u i y : UnitAddCircle)) : ∃ m : ℤ, (fun y => v y + fillingCorrection D u g y) =ᶠ[𝓝 x] fun y => g i y + (m : ℝ) := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.fillingCorrection
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.fderiv_filledBranch_insideline 238 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.planarGradient_filledBranch_insideline 248 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.wedge_filledBranches_insideline 258Source documentation
Rank-one wedge identities are unchanged on arbitrary lifted sheets.
theorem wedge_filledBranches_inside {I : Type*} (D : I → Set (ℝ × ℝ)) (hD : ∀ i, IsOpen (D i)) (hdisj : Pairwise (Disjoint on D)) (u g u' g' : I → (ℝ × ℝ) → ℝ) {v w : (ℝ × ℝ) → ℝ} {i : I} {x : ℝ × ℝ} (hx : x ∈ D i) (hv : ContinuousAt v x) (hw : ContinuousAt w x) (hu : ContinuousAt (u i) x) (hu' : ContinuousAt (u' i) x) (hvproj : (fun y => (v y : UnitAddCircle)) =ᶠ[𝓝 x] fun y => (u i y : UnitAddCircle)) (hwproj : (fun y => (w y : UnitAddCircle)) =ᶠ[𝓝 x] fun y => (u' i y : UnitAddCircle)) : planarWedge (planarGradient (fun y => v y + fillingCorrection D u g y) x) (planarGradient (fun y => w y + fillingCorrection D u' g' y) x) = planarWedge (planarGradient (g i) x) (planarGradient (g' i) x) := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.planarWedge, OAI.CircleDomainRigidity.FiniteTransfer.planarGradient, OAI.CircleDomainRigidity.FiniteTransfer.fillingCorrection
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue_circuit_incrementline 274Source documentation
Endpoint increments on lifted circuits retain their original deck number, including zero for a closed lift and one for a positive lift.
theorem periodicFilledValue_circuit_increment {X I : Type*} (f : X → UnitAddCircle) (D : I → Set X) (u g : I → X → ℝ) (γ : unitInterval → CircleLiftCover f) (m : ℤ) (hγ : γ 1 = (γ 0).translate m) : periodicFilledValue f D u g (γ 1) - periodicFilledValue f D u g (γ 0) = (m : ℝ) := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover, OAI.CircleDomainRigidity.FiniteTransfer.periodicFilledValue
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.isLocallyConstant_real_lift_differenceline 283Source documentation
The real difference of two continuous lifts is locally constant.
theorem isLocallyConstant_real_lift_difference {X : Type*} [TopologicalSpace X] {u v : X → ℝ} (hu : Continuous u) (hv : Continuous v) (hproj : ∀ x, (u x : UnitAddCircle) = (v x : UnitAddCircle)) : IsLocallyConstant (fun x => u x - v x) := by … - theorem
OAI.CircleDomainRigidity.FiniteTransfer.real_lift_path_increment_eqline 296Source documentation
Endpoint differences of continuous real lifts of one path agree.
theorem real_lift_path_increment_eq (u v : C(unitInterval, ℝ)) (hproj : ∀ t, (u t : UnitAddCircle) = (v t : UnitAddCircle)) : u 1 - u 0 = v 1 - v 0 := by … - def
OAI.CircleDomainRigidity.FiniteTransfer.realCirclePathLiftline 305Source documentation
Canonical lift, used only to make the path increment independent of the choice of real branch.
def realCirclePathLift (γ : C(unitInterval, UnitAddCircle)) : C(unitInterval, ℝ) := …
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.realCirclePathLift_projectsline 309 - def
OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrementline 315Source documentation
Winding measured in turns; on a loop it is an integer.
def circlePathIncrement (γ : C(unitInterval, UnitAddCircle)) : ℝ := …
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrement_eq_liftline 318 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrement_integerline 325 - theorem
OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrement_zero_of_closed_liftline 336Source documentation
A circuit carrying a single-valued real branch has zero winding.
theorem circlePathIncrement_zero_of_closed_lift (γ : C(unitInterval, UnitAddCircle)) (u : C(unitInterval, ℝ)) (hu : ∀ t, (u t : UnitAddCircle) = γ t) (hclosed : u 1 = u 0) : circlePathIncrement γ = 0 := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrement
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrement_zero_of_branchline 343Source documentation
In particular, every nonsingular terminal circuit admitting the existing real branch on its collar has period zero.
theorem circlePathIncrement_zero_of_branch {X : Type*} [TopologicalSpace X] (c : C(unitInterval, X)) (hc : c 1 = c 0) {O : Set X} (u : X → ℝ) (hu : ContinuousOn u O) (hO : ∀ t, c t ∈ O) (γ : C(unitInterval, UnitAddCircle)) (hproj : ∀ t, (u (c t) : UnitAddCircle) = γ t) : circlePathIncrement γ = 0 := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrement
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrement_eq_integral_derivline 355Source documentation
For a continuously differentiable parametrized lift, the path increment is the integral of its differential. This identifies the deck calculation with the period appearing in the manuscript.
theorem circlePathIncrement_eq_integral_deriv (γ : C(unitInterval, UnitAddCircle)) (u : ℝ → ℝ) (hu : ContDiffOn ℝ 1 u (uIcc (0 : ℝ) 1)) (hproj : ∀ t : unitInterval, (u t : UnitAddCircle) = γ t) : circlePathIncrement γ = ∫ t in (0 : ℝ)..1, deriv u t := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrement
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.exists_filled_circle_circuit_with_incrementline 368Source documentation
A lifted circuit ending on sheet
mprojects to a genuine closed circuit of the patched circle map with windingm. The continuous real lift is constructed from the original height and the base correction.theorem exists_filled_circle_circuit_with_increment {X I : Type*} [TopologicalSpace X] (f : X → UnitAddCircle) (D : I → Set X) (u g : I → X → ℝ) (hdisj : Pairwise (Disjoint on D)) (hu : ∀ i x, x ∈ D i → (u i x : UnitAddCircle) = f x) (hcorr : Continuous (fillingCorrection D u g)) (c : C(unitInterval, CircleLiftCover f)) (m : ℤ) (hc : c 1 = (c 0).translate m) : ∃ γ : C(unitInterval, UnitAddCircle), (∀ t, γ t = patchOpenRegions D (fun i x => (g i x : UnitAddCircle)) f (c t).base) ∧ γ 1 = γ 0 ∧ circlePathIncrement γ = (m : ℝ) := by …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.fillingCorrection, OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover, OAI.CircleDomainRigidity.FiniteTransfer.patchOpenRegions, OAI.CircleDomainRigidity.FiniteTransfer.circlePathIncrement
- theorem
OAI.CircleDomainRigidity.FiniteTransfer.exists_cutoff_filled_circle_circuit_with_incrementline 394Source documentation
The same winding statement for the full staircase cutoff followed by the filling, starting with a circuit on the original pullback cover.
theorem exists_cutoff_filled_circle_circuit_with_increment {X I : Type*} [TopologicalSpace X] (f : X → UnitAddCircle) (χ : X → ℝ) (P : ℝ → ℝ) (hP : ∀ r, P (r + 1) = P r + 1) (hχ : Continuous χ) (hPc : Continuous P) (D : I → Set X) (u g : I → X → ℝ) (hdisj : Pairwise (Disjoint on D)) (hu : ∀ i x, x ∈ D i → (u i x : UnitAddCircle) = f x) (hcorr : Continuous (fillingCorrection D (fun i => cutoffStaircase (u i) χ P) g)) (c : C(unitInterval, CircleLiftCover f)) (m : ℤ) (hc : c 1 = (c 0).translate m) : ∃ γ : C(unitInterval, UnitAddCircle), (∀ t, γ t = patchOpenRegions D (fun i x => (g i x : UnitAddCircle)) (circleCutoff f χ P) (c t).base) ∧ …Mentions: OAI.CircleDomainRigidity.FiniteTransfer.fillingCorrection, OAI.CircleDomainRigidity.FiniteTransfer.cutoffStaircase, OAI.CircleDomainRigidity.FiniteTransfer.CircleLiftCover, OAI.CircleDomainRigidity.FiniteTransfer.patchOpenRegions, OAI.CircleDomainRigidity.FiniteTransfer.circleCutoff