Second-order zoom chain rules #
For (a,b) ∈ {(2,0),(1,1),(0,2)} and each of the three rescaled fields zoomV, zoomW, zoomS,
nine theorems giving (dr)^[a] ((dz)^[b] F) p in terms of meridionalPartial.
The first-order identities (1,0) and (0,1) are already in CIV.Zoom.ChainRule.
Open-neighbourhood lemmas #
First-order identities on slices #
theorem
CIV.eventually_dr_on_slice_r
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
theorem
CIV.eventually_dz_on_slice_r
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
theorem
CIV.eventually_dr_on_slice_z
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
theorem
CIV.eventually_dz_on_slice_z
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
ContDiffOn bridges for iterated spatialPartial vector fields #
theorem
CIV.contDiffOn_spatialPartial_vec0
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(i : Fin 3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
:
ContDiffOn ℝ 1
(fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) =>
![CKN.spatialPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 0 z, CKN.spatialPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 0 z, CKN.spatialPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 0 z])
unitCylinder
theorem
CIV.contDiffOn_spatialPartial_vec2
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(i : Fin 3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
:
ContDiffOn ℝ 1
(fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) =>
![CKN.spatialPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 2 z, CKN.spatialPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 2 z, CKN.spatialPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 2 z])
unitCylinder
Second-derivative helpers via hasDerivAt_comp_spatialSlice #
theorem
CIV.hasDerivAt_spatialPartial_zero_zoom_r
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(i : Fin 3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
HasDerivAt
(fun (r : ℝ) =>
CKN.spatialPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 0
(zoomPoint lam h zc ((r, p.1.2), p.2)))
(lam * meridionalPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 2 0 (zoomPoint lam h zc p))
p.1.1
r-derivative of spatialPartial (u· i) 0 composed with zoomPoint.
Returns lam * meridionalPartial (u· i) 2 0 (zoomPoint lam h zc p).
theorem
CIV.hasDerivAt_spatialPartial_two_zoom_r
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(i : Fin 3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
HasDerivAt
(fun (r : ℝ) =>
CKN.spatialPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 2
(zoomPoint lam h zc ((r, p.1.2), p.2)))
(lam * meridionalPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 1 1 (zoomPoint lam h zc p))
p.1.1
r-derivative of spatialPartial (u· i) 2 composed with zoomPoint.
Returns lam * meridionalPartial (u· i) 1 1 (zoomPoint lam h zc p).
theorem
CIV.hasDerivAt_spatialPartial_two_zoom_z
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(i : Fin 3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
HasDerivAt
(fun (s : ℝ) =>
CKN.spatialPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 2
(zoomPoint lam h zc ((p.1.1, s), p.2)))
(lam ^ (1 - 2 * h) * meridionalPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w i) 0 2 (zoomPoint lam h zc p))
p.1.2
z-derivative of spatialPartial (u· i) 2 composed with zoomPoint.
Returns lam^(1-2h) * meridionalPartial (u· i) 0 2 (zoomPoint lam h zc p).
dr² of zoomV #
theorem
CIV.drdr_zoomV
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
dr (dr (zoomV lam h zc u)) p = lam ^ 3 * meridionalPartial (fun (w : CKN.Foundation.Parabolic.ParabolicPoint) => u w 0) 2 0 (zoomPoint lam h zc p)
dr dz of zoomV #
theorem
CIV.drdz_zoomV
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
dz² of zoomV #
theorem
CIV.dzdz_zoomV
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
dr² of zoomW #
theorem
CIV.drdr_zoomW
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
dr dz of zoomW #
theorem
CIV.drdz_zoomW
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
dz² of zoomW #
theorem
CIV.dzdz_zoomW
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
dr² of zoomS #
theorem
CIV.drdr_zoomS
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
dr dz of zoomS #
theorem
CIV.drdz_zoomS
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
:
dz² of zoomS #
theorem
CIV.dzdz_zoomS
(lam h zc : ℝ)
(u : CKN.Foundation.Parabolic.ParabolicPoint → CKN.Foundation.Parabolic.Vec3)
(hu : ContDiffOn ℝ 2 (fun (z : CKN.Foundation.Parabolic.Vec3 × ℝ) => u z) unitCylinder)
(p : (ℝ × ℝ) × ℝ)
(hp : zoomPoint lam h zc p ∈ unitCylinder)
: