3. Bounding Rotations
-
Bounding.Rx_norm_one[complete] -
Bounding.Ry_norm_one[complete] -
Bounding.Rz_norm_one[complete] -
Bounding.rotR_norm_one[complete] -
Bounding.rotM_norm_one[complete] -
Bounding.rotR'_norm_one[complete] -
Bounding.rotMθ_norm_le_one[complete] -
Bounding.rotMφ_norm_le_one[complete]
For any \alpha, \theta,\varphi \in \mathbb{R} and a \in \{x,y,z\} one has
\| R(\alpha)\| = \| R_a(\alpha)\| =\| M(\theta, \phi)\| = 1.
Lean code for Lemma3.1●8 theorems
Associated Lean declarations
-
Bounding.Rx_norm_one[complete]
-
Bounding.Ry_norm_one[complete]
-
Bounding.Rz_norm_one[complete]
-
Bounding.rotR_norm_one[complete]
-
Bounding.rotM_norm_one[complete]
-
Bounding.rotR'_norm_one[complete]
-
Bounding.rotMθ_norm_le_one[complete]
-
Bounding.rotMφ_norm_le_one[complete]
-
Bounding.Rx_norm_one[complete] -
Bounding.Ry_norm_one[complete] -
Bounding.Rz_norm_one[complete] -
Bounding.rotR_norm_one[complete] -
Bounding.rotM_norm_one[complete] -
Bounding.rotR'_norm_one[complete] -
Bounding.rotMθ_norm_le_one[complete] -
Bounding.rotMφ_norm_le_one[complete]
-
theoremdefined in Noperthedron/Bounding/OpNorm.leancomplete
theorem Bounding.Rx_norm_one (α : ℝ) : ‖RxL α‖ = 1
theorem Bounding.Rx_norm_one (α : ℝ) : ‖RxL α‖ = 1
-
theoremdefined in Noperthedron/Bounding/OpNorm.leancomplete
theorem Bounding.Ry_norm_one (α : ℝ) : ‖RyL α‖ = 1
theorem Bounding.Ry_norm_one (α : ℝ) : ‖RyL α‖ = 1
-
theoremdefined in Noperthedron/Bounding/OpNorm.leancomplete
theorem Bounding.Rz_norm_one (α : ℝ) : ‖RzL α‖ = 1
theorem Bounding.Rz_norm_one (α : ℝ) : ‖RzL α‖ = 1
-
theoremdefined in Noperthedron/Bounding/OpNorm.leancomplete
theorem Bounding.rotR_norm_one (α : ℝ) : ‖rotR α‖ = 1
theorem Bounding.rotR_norm_one (α : ℝ) : ‖rotR α‖ = 1
-
theoremdefined in Noperthedron/Bounding/OpNorm.leancomplete
theorem Bounding.rotM_norm_one (θ φ : ℝ) : ‖rotM θ φ‖ = 1
theorem Bounding.rotM_norm_one (θ φ : ℝ) : ‖rotM θ φ‖ = 1
-
theoremdefined in Noperthedron/Bounding/OpNorm.leancomplete
theorem Bounding.rotR'_norm_one (α : ℝ) : ‖rotR' α‖ = 1
theorem Bounding.rotR'_norm_one (α : ℝ) : ‖rotR' α‖ = 1
-
theoremdefined in Noperthedron/Bounding/OpNorm.leancomplete
theorem Bounding.rotMθ_norm_le_one (θ φ : ℝ) : ‖rotMθ θ φ‖ ≤ 1
theorem Bounding.rotMθ_norm_le_one (θ φ : ℝ) : ‖rotMθ θ φ‖ ≤ 1
-
theoremdefined in Noperthedron/Bounding/OpNorm.leancomplete
theorem Bounding.rotMφ_norm_le_one (θ φ : ℝ) : ‖rotMφ θ φ‖ ≤ 1
theorem Bounding.rotMφ_norm_le_one (θ φ : ℝ) : ‖rotMφ θ φ‖ ≤ 1
See polyhedron.without.rupert, Lemma 9.
Lean code
Associated Lean declarations
-
bp_Rx_norm_one[complete]
-
bp_Ry_norm_one[complete]
-
bp_Rz_norm_one[complete]
-
bp_rotR_norm_one[complete]
-
bp_rotM_norm_one[complete]
-
bp_Rx_norm_one[complete] -
bp_Ry_norm_one[complete] -
bp_Rz_norm_one[complete] -
bp_rotR_norm_one[complete] -
bp_rotM_norm_one[complete]
theorem bp_Rx_norm_one (α : ℝ) : ‖RxL α‖ = 1 := α:ℝ⊢ ‖RxL α‖ = 1
All goals completed! 🐙
theorem bp_Ry_norm_one (α : ℝ) : ‖RyL α‖ = 1 := α:ℝ⊢ ‖RyL α‖ = 1
All goals completed! 🐙
theorem bp_Rz_norm_one (α : ℝ) : ‖RzL α‖ = 1 := α:ℝ⊢ ‖RzL α‖ = 1
All goals completed! 🐙
theorem bp_rotR_norm_one (α : ℝ) : ‖rotR α‖ = 1 := α:ℝ⊢ ‖rotR α‖ = 1
All goals completed! 🐙
theorem bp_rotM_norm_one (θ φ : ℝ) : ‖rotM θ φ‖ = 1 := θ:ℝφ:ℝ⊢ ‖rotM θ φ‖ = 1
All goals completed! 🐙
-
Bounding.norm_rotR_sub_rotR_lt[complete] -
Bounding.norm_RxL_sub_RxL_eq[complete] -
Bounding.norm_RyL_sub_RyL_eq[complete] -
Bounding.norm_RzL_sub_RzL_eq[complete]
Let \epsilon>0, |\alpha-\alphab|\leq\varepsilon and a \in \{x,y,z\} then
\|R_a(\alpha)-R_a({\alphab})\|=\|R(\alpha)-R(\alphab)\| < \varepsilon.
Lean code for Lemma3.2●4 theorems
Associated Lean declarations
-
Bounding.norm_rotR_sub_rotR_lt[complete]
-
Bounding.norm_RxL_sub_RxL_eq[complete]
-
Bounding.norm_RyL_sub_RyL_eq[complete]
-
Bounding.norm_RzL_sub_RzL_eq[complete]
-
Bounding.norm_rotR_sub_rotR_lt[complete] -
Bounding.norm_RxL_sub_RxL_eq[complete] -
Bounding.norm_RyL_sub_RyL_eq[complete] -
Bounding.norm_RzL_sub_RzL_eq[complete]
-
theoremdefined in Noperthedron/Bounding/BoundingUtil.leancomplete
theorem Bounding.norm_rotR_sub_rotR_lt {ε α α_ : ℝ} (hε : 0 < ε) (hα : |α - α_| ≤ ε) : ‖rotR α - rotR α_‖ < ε
theorem Bounding.norm_rotR_sub_rotR_lt {ε α α_ : ℝ} (hε : 0 < ε) (hα : |α - α_| ≤ ε) : ‖rotR α - rotR α_‖ < ε
-
theoremdefined in Noperthedron/Bounding/BoundingUtil.leancomplete
theorem Bounding.norm_RxL_sub_RxL_eq {α α_ : ℝ} : ‖RxL α - RxL α_‖ = ‖rotR α - rotR α_‖
theorem Bounding.norm_RxL_sub_RxL_eq {α α_ : ℝ} : ‖RxL α - RxL α_‖ = ‖rotR α - rotR α_‖
-
theoremdefined in Noperthedron/Bounding/BoundingUtil.leancomplete
theorem Bounding.norm_RyL_sub_RyL_eq {α α_ : ℝ} : ‖RyL α - RyL α_‖ = ‖rotR α - rotR α_‖
theorem Bounding.norm_RyL_sub_RyL_eq {α α_ : ℝ} : ‖RyL α - RyL α_‖ = ‖rotR α - rotR α_‖
-
theoremdefined in Noperthedron/Bounding/BoundingUtil.leancomplete
theorem Bounding.norm_RzL_sub_RzL_eq {α α_ : ℝ} : ‖RzL α - RzL α_‖ = ‖rotR α - rotR α_‖
theorem Bounding.norm_RzL_sub_RzL_eq {α α_ : ℝ} : ‖RzL α - RzL α_‖ = ‖rotR α - rotR α_‖
See polyhedron.without.rupert, Lemma 10.
Lean code
Associated Lean declarations
-
bp_norm_rotR_sub_rotR_lt[complete]
-
bp_norm_RxL_sub_RxL_eq[complete]
-
bp_norm_RyL_sub_RyL_eq[complete]
-
bp_norm_RzL_sub_RzL_eq[complete]
-
bp_norm_rotR_sub_rotR_lt[complete] -
bp_norm_RxL_sub_RxL_eq[complete] -
bp_norm_RyL_sub_RyL_eq[complete] -
bp_norm_RzL_sub_RzL_eq[complete]
theorem bp_norm_rotR_sub_rotR_lt {ε α α_ : ℝ} (hε : 0 < ε) (hα : |α - α_| ≤ ε) :
‖rotR α - rotR α_‖ < ε := ε:ℝα:ℝα_:ℝhε:0 < εhα:|α - α_| ≤ ε⊢ ‖rotR α - rotR α_‖ < ε
All goals completed! 🐙
theorem bp_norm_RxL_sub_RxL_eq {α α_ : ℝ} :
‖RxL α - RxL α_‖ = ‖rotR α - rotR α_‖ := α:ℝα_:ℝ⊢ ‖RxL α - RxL α_‖ = ‖rotR α - rotR α_‖
All goals completed! 🐙
theorem bp_norm_RyL_sub_RyL_eq {α α_ : ℝ} :
‖RyL α - RyL α_‖ = ‖rotR α - rotR α_‖ := α:ℝα_:ℝ⊢ ‖RyL α - RyL α_‖ = ‖rotR α - rotR α_‖
All goals completed! 🐙
theorem bp_norm_RzL_sub_RzL_eq {α α_ : ℝ} :
‖RzL α - RzL α_‖ = ‖rotR α - rotR α_‖ := α:ℝα_:ℝ⊢ ‖RzL α - RzL α_‖ = ‖rotR α - rotR α_‖
All goals completed! 🐙
-
Bounding.lemma12[complete] -
Bounding.lemma12_equality_iff[complete]
For any \alpha,\beta\in \mathbb{R} one has
\|R_x(\alpha)R_y(\beta)-\mathrm{id}\| \leq \sqrt{\alpha^2+\beta^2}
with equality only for \alpha = \beta = 0.
Lean code for Lemma3.3●2 theorems
Associated Lean declarations
-
Bounding.lemma12[complete]
-
Bounding.lemma12_equality_iff[complete]
-
Bounding.lemma12[complete] -
Bounding.lemma12_equality_iff[complete]
-
theoremdefined in Noperthedron/Bounding/SmallConsecutiveRotations.leancomplete
theorem Bounding.lemma12 {d d' : Fin 3} {α β : ℝ} (d_ne_d' : d ≠ d') : ‖(rot3 d) α ∘SL (rot3 d') β - 1‖ ≤ √(α ^ 2 + β ^ 2)
theorem Bounding.lemma12 {d d' : Fin 3} {α β : ℝ} (d_ne_d' : d ≠ d') : ‖(rot3 d) α ∘SL (rot3 d') β - 1‖ ≤ √(α ^ 2 + β ^ 2)
-
theoremdefined in Noperthedron/Bounding/SmallConsecutiveRotations.leancomplete
theorem Bounding.lemma12_equality_iff {d d' : Fin 3} {α β : ℝ} (d_ne_d' : d ≠ d') : ‖(rot3 d) α ∘SL (rot3 d') β - 1‖ = √(α ^ 2 + β ^ 2) ↔ α = 0 ∧ β = 0
theorem Bounding.lemma12_equality_iff {d d' : Fin 3} {α β : ℝ} (d_ne_d' : d ≠ d') : ‖(rot3 d) α ∘SL (rot3 d') β - 1‖ = √(α ^ 2 + β ^ 2) ↔ α = 0 ∧ β = 0
The composition R_d(\alpha)R_{d'}(\beta) is a rotation, i.e. conjugate
to some R_z(\gamma) by an isometry, which gives
\|R_d(\alpha)R_{d'}(\beta)-\mathrm{id}\|^2 = 2(1-\cos\gamma)
= 3 - \mathrm{tr}(R_d(\alpha)R_{d'}(\beta))
= 3 - (\cos\alpha + \cos\beta + \cos\alpha\cos\beta).
Writing the right hand side as
2(1-\cos\alpha) + 2(1-\cos\beta) - (1-\cos\alpha)(1-\cos\beta)
and using 2(1-\cos x) \leq x^2 (with equality only at x = 0)
yields the bound and the equality condition.
This is a direct route to polyhedron.without.rupert, Lemma 12,
that avoids the Jensen-inequality argument of Lemma 11 and the
doubling induction.
Lean code
Associated Lean declarations
-
bp_lemma12[complete]
-
bp_lemma12_equality_iff[complete]
-
bp_lemma12[complete] -
bp_lemma12_equality_iff[complete]
theorem bp_lemma12 {d d' : Fin 3} {α β : ℝ} (hd : d ≠ d') :
‖rot3 d α ∘L rot3 d' β - 1‖ ≤ √(α ^ 2 + β ^ 2) := d:Fin 3d':Fin 3α:ℝβ:ℝhd:d ≠ d'⊢ ‖(rot3 d) α ∘SL (rot3 d') β - 1‖ ≤ √(α ^ 2 + β ^ 2)
All goals completed! 🐙
theorem bp_lemma12_equality_iff {d d' : Fin 3} {α β : ℝ} (hd : d ≠ d') :
‖rot3 d α ∘L rot3 d' β - 1‖ = √(α ^ 2 + β ^ 2) ↔ (α = 0 ∧ β = 0) := d:Fin 3d':Fin 3α:ℝβ:ℝhd:d ≠ d'⊢ ‖(rot3 d) α ∘SL (rot3 d') β - 1‖ = √(α ^ 2 + β ^ 2) ↔ α = 0 ∧ β = 0
All goals completed! 🐙
-
Bounding.norm_M_sub_lt[complete] -
Bounding.norm_X_sub_lt[complete]
Let \epsilon>0 and |\theta-\thetab|,|\varphi-\phib| \leq \varepsilon then
\|M(\theta, \phi)-M(\thetab,\phib)\|, \|X(\theta, \varphi)-X(\thetab,\phib)\| < \sqrt{2}\varepsilon.
Lean code for Lemma3.4●2 theorems
Associated Lean declarations
-
Bounding.norm_M_sub_lt[complete]
-
Bounding.norm_X_sub_lt[complete]
-
Bounding.norm_M_sub_lt[complete] -
Bounding.norm_X_sub_lt[complete]
-
theoremdefined in Noperthedron/Bounding.leancomplete
theorem Bounding.norm_M_sub_lt {ε θ θ_ φ φ_ : ℝ} (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) : ‖rotM θ φ - rotM θ_ φ_‖ < √2 * ε
theorem Bounding.norm_M_sub_lt {ε θ θ_ φ φ_ : ℝ} (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) : ‖rotM θ φ - rotM θ_ φ_‖ < √2 * ε
First half of [SY25] Lemma 13.
-
theoremdefined in Noperthedron/Bounding.leancomplete
theorem Bounding.norm_X_sub_lt {ε θ θ_ φ φ_ : ℝ} (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) : ‖vecX θ φ - vecX θ_ φ_‖ < √2 * ε
theorem Bounding.norm_X_sub_lt {ε θ θ_ φ φ_ : ℝ} (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) : ‖vecX θ φ - vecX θ_ φ_‖ < √2 * ε
Second half of [SY25] Lemma 13.
See polyhedron.without.rupert, Lemma 13.
Lean code
Associated Lean declarations
-
bp_RyL_neg_compose_RyL[complete]
-
bp_RzL_neg_compose_RzL[complete]
-
bp_norm_M_sub_lt[complete]
-
bp_norm_X_sub_lt[complete]
-
bp_RyL_neg_compose_RyL[complete] -
bp_RzL_neg_compose_RzL[complete] -
bp_norm_M_sub_lt[complete] -
bp_norm_X_sub_lt[complete]
theorem bp_RyL_neg_compose_RyL (α : ℝ) : RyL (-α) ∘L RyL α = ContinuousLinearMap.id _ _ := α:ℝ⊢ RyL (-α) ∘SL RyL α = ContinuousLinearMap.id ℝ Euc(3)
All goals completed! 🐙
theorem bp_RzL_neg_compose_RzL (α : ℝ) : RzL (-α) ∘L RzL α = ContinuousLinearMap.id _ _ := α:ℝ⊢ RzL (-α) ∘SL RzL α = ContinuousLinearMap.id ℝ Euc(3)
All goals completed! 🐙
theorem bp_norm_M_sub_lt {ε θ θ_ φ φ_ : ℝ} (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) :
‖rotM θ φ - rotM θ_ φ_‖ < √2 * ε := ε:ℝθ:ℝθ_:ℝφ:ℝφ_:ℝhε:0 < εhθ:|θ - θ_| ≤ εhφ:|φ - φ_| ≤ ε⊢ ‖rotM θ φ - rotM θ_ φ_‖ < √2 * ε
All goals completed! 🐙
theorem bp_norm_X_sub_lt {ε θ θ_ φ φ_ : ℝ} (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) :
‖vecX θ φ - vecX θ_ φ_‖ < √2 * ε := ε:ℝθ:ℝθ_:ℝφ:ℝφ_:ℝhε:0 < εhθ:|θ - θ_| ≤ εhφ:|φ - φ_| ≤ ε⊢ ‖vecX θ φ - vecX θ_ φ_‖ < √2 * ε
All goals completed! 🐙
Let P \in \mathbb{R}^3 with \|P\| \leq 1. Further, let \epsilon>0 and
\thetab,\phib, \theta, \phi \in \mathbb{R} such that
|\thetab-\theta|, |\phib - \phi| \leq \epsilon.
If
\langle X(\thetab,\phib),P \rangle>\sqrt{2}\varepsilon
then
\langle X(\theta, \phi),P \rangle>0.
Lean code for Lemma3.5●1 theorem
Associated Lean declarations
-
Bounding.XPgt0[complete]
-
Bounding.XPgt0[complete]
-
theoremdefined in Noperthedron/Bounding.leancomplete
theorem Bounding.XPgt0 {P : Euc(3)} {ε θ θ_ φ φ_ : ℝ} (hP : ‖P‖ ≤ 1) (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) (hX : √2 * ε < ⟪vecX θ_ φ_, P⟫) : 0 < ⟪vecX θ φ, P⟫
theorem Bounding.XPgt0 {P : Euc(3)} {ε θ θ_ φ φ_ : ℝ} (hP : ‖P‖ ≤ 1) (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) (hX : √2 * ε < ⟪vecX θ_ φ_, P⟫) : 0 < ⟪vecX θ φ, P⟫
[SY25] Lemma 14
See polyhedron.without.rupert, Lemma 14.
Lean code
Associated Lean declarations
-
bp_XPgt0[complete]
-
bp_XPgt0[complete]
theorem bp_XPgt0 {P : ℝ³} {ε θ θ_ φ φ_ : ℝ} (hP : ‖P‖ ≤ 1) (hε : 0 < ε)
(hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε)
(hX : √2 * ε < ⟪vecX θ_ φ_, P⟫) :
0 < ⟪vecX θ φ, P⟫ := P:Euc(3)ε:ℝθ:ℝθ_:ℝφ:ℝφ_:ℝhP:‖P‖ ≤ 1hε:0 < εhθ:|θ - θ_| ≤ εhφ:|φ - φ_| ≤ εhX:√2 * ε < ⟪vecX θ_ φ_, P⟫⊢ 0 < ⟪vecX θ φ, P⟫
All goals completed! 🐙
Let P \in \mathbb{R}^3 with \|P\| \leq 1. Further, let \epsilon, r>0 and
\thetab,\phib, \theta, \phi \in \mathbb{R} such that
|\thetab-\theta|, |\phib - \phi| \leq \epsilon.
If
\| M(\thetab,\phib) P \| > r + \sqrt{2}\varepsilon
then
\| M(\theta,\phi) P \| > r.
Lean code for Lemma3.6●1 theorem
Associated Lean declarations
-
Bounding.norm_M_apply_gt[complete]
-
Bounding.norm_M_apply_gt[complete]
-
theoremdefined in Noperthedron/Bounding.leancomplete
theorem Bounding.norm_M_apply_gt {ε r θ θ_ φ φ_ : ℝ} {P : Euc(3)} (hP : ‖P‖ ≤ 1) (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) (hM : r + √2 * ε < ‖(rotM θ_ φ_) P‖) : r < ‖(rotM θ φ) P‖
theorem Bounding.norm_M_apply_gt {ε r θ θ_ φ φ_ : ℝ} {P : Euc(3)} (hP : ‖P‖ ≤ 1) (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) (hM : r + √2 * ε < ‖(rotM θ_ φ_) P‖) : r < ‖(rotM θ φ) P‖
[SY25] Lemma 15
See polyhedron.without.rupert, Lemma 15. Corrigendum: the triangle inquality only implies greater than or equal to.
Lean code
Associated Lean declarations
-
bp_norm_M_apply_gt[complete]
-
bp_norm_M_apply_gt[complete]
theorem bp_norm_M_apply_gt {ε r θ θ_ φ φ_ : ℝ} {P : ℝ³} (hP : ‖P‖ ≤ 1) (hε : 0 < ε)
(hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε)
(hM : r + √2 * ε < ‖rotM θ_ φ_ P‖) :
r < ‖rotM θ φ P‖ := ε:ℝr:ℝθ:ℝθ_:ℝφ:ℝφ_:ℝP:Euc(3)hP:‖P‖ ≤ 1hε:0 < εhθ:|θ - θ_| ≤ εhφ:|φ - φ_| ≤ εhM:r + √2 * ε < ‖(rotM θ_ φ_) P‖⊢ r < ‖(rotM θ φ) P‖
All goals completed! 🐙
Let \epsilon>0 and
|\theta-\thetab|,|\varphi-\phib|,|\alpha-\alphab|\leq\varepsilon then
\|R(\alpha) M(\theta, \phi)-R(\alphab)M(\thetab,\phib)\| < \sqrt{5} \varepsilon.
Lean code for Lemma3.7●1 theorem
Associated Lean declarations
-
Bounding.norm_RM_sub_RM_le[complete]
-
Bounding.norm_RM_sub_RM_le[complete]
-
theoremdefined in Noperthedron/Bounding.leancomplete
theorem Bounding.norm_RM_sub_RM_le {ε θ θ_ φ φ_ α α_ : ℝ} (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) (hα : |α - α_| ≤ ε) : ‖rotprojRM θ φ α - rotprojRM θ_ φ_ α_‖ < √5 * ε
theorem Bounding.norm_RM_sub_RM_le {ε θ θ_ φ φ_ α α_ : ℝ} (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε) (hα : |α - α_| ≤ ε) : ‖rotprojRM θ φ α - rotprojRM θ_ φ_ α_‖ < √5 * ε
[SY25] Lemma 16
See polyhedron.without.rupert, Lemma 16.
Lean code
Associated Lean declarations
-
bp_RyL_neg_compose_RyL'[complete]
-
bp_RzL_neg_compose_RzL'[complete]
-
bp_norm_RM_sub_RM_le[complete]
-
bp_RyL_neg_compose_RyL'[complete] -
bp_RzL_neg_compose_RzL'[complete] -
bp_norm_RM_sub_RM_le[complete]
theorem bp_RyL_neg_compose_RyL' (α : ℝ) : RyL (-α) ∘L RyL α = ContinuousLinearMap.id _ _ := α:ℝ⊢ RyL (-α) ∘SL RyL α = ContinuousLinearMap.id ℝ Euc(3)
All goals completed! 🐙
theorem bp_RzL_neg_compose_RzL' (α : ℝ) : RzL (-α) ∘L RzL α = ContinuousLinearMap.id _ _ := α:ℝ⊢ RzL (-α) ∘SL RzL α = ContinuousLinearMap.id ℝ Euc(3)
All goals completed! 🐙
theorem bp_norm_RM_sub_RM_le {ε θ θ_ φ φ_ α α_ : ℝ} (hε : 0 < ε) (hθ : |θ - θ_| ≤ ε) (hφ : |φ - φ_| ≤ ε)
(hα : |α - α_| ≤ ε) :
‖rotprojRM θ φ α - rotprojRM θ_ φ_ α_‖ < √5 * ε := ε:ℝθ:ℝθ_:ℝφ:ℝφ_:ℝα:ℝα_:ℝhε:0 < εhθ:|θ - θ_| ≤ εhφ:|φ - φ_| ≤ εhα:|α - α_| ≤ ε⊢ ‖rotprojRM θ φ α - rotprojRM θ_ φ_ α_‖ < √5 * ε
All goals completed! 🐙