Rupert Counterexample

7. Rational Versions🔗

Definition7.1
Group: Rational trigonometric approximations. (2)
Group member previews
Preview
Lemma 7.2
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1L∃∀N

Define \ssin, \scos : \mathbb{R} \to \mathbb{R} by truncated Taylor series:

  • \ssin(x) := x-\frac{x^3}{3!}+\frac{x^5}{5!}\mp\dots+\frac{x^{25}}{25!}

  • \scos(x) := 1-\frac{x^2}{2!}+\frac{x^4}{4!}\mp\dots+\frac{x^{24}}{24!}

Replacing \sin,\cos with \ssin,\scos defines R_\mathbb{Q}(\alpha), R'_\mathbb{Q}(\alpha), X_\mathbb{Q}(\theta,\phi), M_\mathbb{Q}(\theta,\phi), M^\theta_\mathbb{Q}(\theta,\varphi), M^\phi_\mathbb{Q}(\theta,\varphi).

Lean code for Definition7.12 definitions
  • def RationalApprox.sinℚ {k : Type} [Field k] (x : k) : k
    def RationalApprox.sinℚ {k : Type} [Field k]
      (x : k) : k
    Sine partial sum $x - x^3/3! + x^5/5! - ⋯ + x^{25}/25!$
    
  • def RationalApprox.cosℚ {k : Type} [Field k] (x : k) : k
    def RationalApprox.cosℚ {k : Type} [Field k]
      (x : k) : k
    Cosine partial sum $1 - x^2/2! + x^4/4! - ⋯ + x^{24}/24!$
    
Lemma7.2
Group: Rational trigonometric approximations. (2)
Group member previews
Preview
Definition 7.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

|\ssin(x)-\sin(x)|\leq \frac{|x|^{27}}{27!} \qquad\text{and}\qquad |\scos(x)-\cos(x)|\leq \frac{|x|^{26}}{26!}.

Lean code for Lemma7.22 theorems
  • complete
    theorem RationalApprox.sinℚ_approx (x : ) :
      |Real.sin x - RationalApprox.sinℚ x|  |x| ^ 27 / (Nat.factorial 27)
    theorem RationalApprox.sinℚ_approx (x : ) :
      |Real.sin x - RationalApprox.sinℚ x| 
        |x| ^ 27 / (Nat.factorial 27)
  • complete
    theorem RationalApprox.cosℚ_approx (x : ) :
      |Real.cos x - RationalApprox.cosℚ x|  |x| ^ 26 / (Nat.factorial 26)
    theorem RationalApprox.cosℚ_approx (x : ) :
      |Real.cos x - RationalApprox.cosℚ x| 
        |x| ^ 26 / (Nat.factorial 26)
Proof for Lemma 7.2
uses 0

Appeal to Taylor series bounds, using the fact that all absolute values of higher derivatives of sine and cosine never exceed 1.

Lemma7.3
Group: Rational trigonometric approximations. (2)
Group member previews
Preview
Definition 7.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1L∃∀N

For every x\in [-4,4], |\ssin(x)-\sin(x)| \leq \kappa/7 and |\scos(x)-\cos(x)|\leq \kappa/7.

Lean code for Lemma7.32 theorems
  • complete
    theorem RationalApprox.sinℚ_approx' (x : ) (hx : x  Set.Icc (-4) 4) :
      |Real.sin x - RationalApprox.sinℚ x|  RationalApprox.κ / 7
    theorem RationalApprox.sinℚ_approx' (x : )
      (hx : x  Set.Icc (-4) 4) :
      |Real.sin x - RationalApprox.sinℚ x| 
        RationalApprox.κ / 7
  • complete
    theorem RationalApprox.cosℚ_approx' (x : ) (hx : x  Set.Icc (-4) 4) :
      |Real.cos x - RationalApprox.cosℚ x|  RationalApprox.κ / 7
    theorem RationalApprox.cosℚ_approx' (x : )
      (hx : x  Set.Icc (-4) 4) :
      |Real.cos x - RationalApprox.cosℚ x| 
        RationalApprox.κ / 7
Proof for Lemma 7.3

Straightforward numerical calculation from Lemma Lemma 7.2.

Lemma7.4
Group: Matrix approximation error bounds. (4)
Group member previews
Preview
Lemma 7.5
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1L∃∀N

Let A = (a_{i,j})_{1 \leq i \leq m,\,1 \leq j \leq n} \in \mathbb{R}^{m \times n} and \delta >0. If |a_{i,j}| \leq \delta for all entries, then \|A\| \leq \delta \sqrt{mn}.

Lean code for Lemma7.41 theorem
  • complete
    theorem RationalApprox.norm_le_delta_sqrt_dims {m n : } {δ : }
      (A : Matrix (Fin m) (Fin n) ) ( : 0 < δ)
      (hle :  (i : Fin m) (j : Fin n), |A i j|  δ) :
      LinearMap.toContinuousLinearMap (Matrix.toEuclideanLin A) 
        δ * (m * n)
    theorem RationalApprox.norm_le_delta_sqrt_dims
      {m n : } {δ : }
      (A : Matrix (Fin m) (Fin n) )
      ( : 0 < δ)
      (hle :
         (i : Fin m) (j : Fin n),
          |A i j|  δ) :
      LinearMap.toContinuousLinearMap
            (Matrix.toEuclideanLin A) 
        δ * (m * n)
    [SY25] Lemma 39 
Proof for Lemma 7.4
uses 0

For any v\in \R^n we have

\begin{align*} \|Av\|^2 &=\sum_{i=1}^m \left(\sum_{j=1}^na_{i,j}v_j\right)^2 \leq \sum_{i=1}^m\left(\sum_{j=1}^n \delta |v_j|\right)^2 = \delta^2 m\left(\sum_{j=1}^n |v_j|\right)^2 \leq \delta^2 m n \|v\|^2 \end{align*} $$

using the Cauchy-Schwarz inequality. Dividing by \|v\| and taking the square root proves the claim.

Lemma7.5
Group: Matrix approximation error bounds. (4)
Group member previews
Preview
Lemma 7.4
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1L∃∀N

Let A(x,y) be an m\times n matrix (1\le m,n\le 3) whose entries are products of terms in \{0,1,-1,\pm\sin(z),\pm\cos(z)\}. Let A_\mathbb{Q}(x,y) be obtained by replacing \sin,\cos with \ssin,\scos. Then for x,y\in[-4,4], \|A(x,y)-A_{\mathbb{Q}}(x,y)\|\leq\kappa.

Lean code for Lemma7.51 theorem
  • theorem RationalApprox.norm_matrix_actual_approx_le_kappa
      {m n : (Finset.Icc 1 3)}
      (A : Matrix (Fin m) (Fin n) RationalApprox.DistLeKappaEntry)
      (x y : (Set.Icc (-4) 4)) :
      RationalApprox.clinActual A x y -
            RationalApprox.clinApprox A x y 
        RationalApprox.κ
    theorem RationalApprox.norm_matrix_actual_approx_le_kappa
      {m n : (Finset.Icc 1 3)}
      (A :
        Matrix (Fin m) (Fin n)
          RationalApprox.DistLeKappaEntry)
      (x y : (Set.Icc (-4) 4)) :
      RationalApprox.clinActual A x y -
            RationalApprox.clinApprox A x
              y 
        RationalApprox.κ
    [SY25] Lemma 40 
Proof for Lemma 7.5
Proof uses 2
Proof dependency previews
Preview
Lemma 7.3
Loading preview
Proof dependency preview content is loaded from the rendered-fragment cache.

We've replaced the assumption a_i(z)\in \{0,1,-1,\pm\sin(z),\pm\cos(z)\} in Steininger and Yurkevich (2025)'s Lemma 40 with a_i(z)\in [-1,1].

By assumption, for fixed x,y every entry of A(x,y)-A_{\mathbb{Q}}(x,y) is of the form a b - \widetilde{a}\widetilde{b} for some a,b\in[-1,1] and |a-\widetilde{a}|,|b-\widetilde{b}|\leq \kappa/7 by Lemma 7.3. This implies that

\begin{align*} |ab-\widetilde{a}\widetilde{b}|&\leq |a b-a\widetilde{b}|+|a \widetilde{b}-\widetilde{a}\widetilde{b}| \\ &=|a|\cdot |b-\widetilde{b}|+|\widetilde{b}|\cdot |a-\widetilde{a}| \leq 1\cdot \kappa/7+(1+\kappa/7) \cdot \kappa/7 <\kappa/3. \end{align*} $$

So we can apply Lemma 7.4 and obtain that \|A(x,y)-A_{\Q}(x,y)\|<\kappa/3\cdot \sqrt{3\cdot 3}=\kappa.

Corollary7.6
Group: Matrix approximation error bounds. (4)
Group member previews
Preview
Lemma 7.4
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0
Used by 3
Reverse dependency previews
Preview
Lemma 7.8
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Let \alpha,\theta,\phi\in[-4,4]. Then \|R(\alpha)-R_\mathbb{Q}(\alpha)\|, \|R'(\alpha)-R'_\mathbb{Q}(\alpha)\|, \|X(\theta,\phi)-X_\mathbb{Q}(\theta,\phi)\|, \|M(\theta,\phi)-M_\mathbb{Q}(\theta,\phi)\|, \|M^\theta(\theta,\phi)-M^\theta_\mathbb{Q}(\theta,\phi)\|, \|M^\phi(\theta,\phi)-M^\phi_\mathbb{Q}(\theta,\phi)\| are all at most \kappa. Moreover \|R_\mathbb{Q}(\alpha)\|, \|R'_\mathbb{Q}(\alpha)\|, \|M_\mathbb{Q}(\theta, \phi)\|, \|M_{\Q}^{\theta}(\theta,\varphi)\|, \|M_{\Q}^{\phi}(\theta,\varphi)\| \leq 1+\kappa.

Lean code for Corollary7.611 theorems
  • theorem RationalApprox.R_difference_norm_bounded (α : )
      ( : α  Set.Icc (-4) 4) :
      rotR α - RationalApprox.rotRℚℝ α  RationalApprox.κ
    theorem RationalApprox.R_difference_norm_bounded
      (α : ) ( : α  Set.Icc (-4) 4) :
      rotR α - RationalApprox.rotRℚℝ α 
        RationalApprox.κ
    Proof of [SY25] Corollary 41 
  • theorem RationalApprox.R'_difference_norm_bounded (α : )
      ( : α  Set.Icc (-4) 4) :
      rotR' α - RationalApprox.rotR'ℚℝ α  RationalApprox.κ
    theorem RationalApprox.R'_difference_norm_bounded
      (α : ) ( : α  Set.Icc (-4) 4) :
      rotR' α - RationalApprox.rotR'ℚℝ α 
        RationalApprox.κ
  • theorem RationalApprox.M_difference_norm_bounded (θ φ : )
      ( : θ  Set.Icc (-4) 4) ( : φ  Set.Icc (-4) 4) :
      rotM θ φ - RationalApprox.rotMℚℝ θ φ  RationalApprox.κ
    theorem RationalApprox.M_difference_norm_bounded
      (θ φ : ) ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      rotM θ φ - RationalApprox.rotMℚℝ θ φ 
        RationalApprox.κ
  • theorem RationalApprox.Mθ_difference_norm_bounded (θ φ : )
      ( : θ  Set.Icc (-4) 4) ( : φ  Set.Icc (-4) 4) :
      rotMθ θ φ - RationalApprox.rotMθℚℝ θ φ  RationalApprox.κ
    theorem RationalApprox.Mθ_difference_norm_bounded
      (θ φ : ) ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      rotMθ θ φ -
            RationalApprox.rotMθℚℝ θ φ 
        RationalApprox.κ
  • theorem RationalApprox.Mφ_difference_norm_bounded (θ φ : )
      ( : θ  Set.Icc (-4) 4) ( : φ  Set.Icc (-4) 4) :
      rotMφ θ φ - RationalApprox.rotMφℚℝ θ φ  RationalApprox.κ
    theorem RationalApprox.Mφ_difference_norm_bounded
      (θ φ : ) ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      rotMφ θ φ -
            RationalApprox.rotMφℚℝ θ φ 
        RationalApprox.κ
  • theorem RationalApprox.X_difference_norm_bounded (θ φ : )
      ( : θ  Set.Icc (-4) 4) ( : φ  Set.Icc (-4) 4) :
      vecXL θ φ - RationalApprox.vecXLℚℝ θ φ  RationalApprox.κ
    theorem RationalApprox.X_difference_norm_bounded
      (θ φ : ) ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      vecXL θ φ -
            RationalApprox.vecXLℚℝ θ φ 
        RationalApprox.κ
  • theorem RationalApprox.Rℚ_norm_bounded (α : ) ( : α  Set.Icc (-4) 4) :
      RationalApprox.rotRℚℝ α  1 + RationalApprox.κ
    theorem RationalApprox.Rℚ_norm_bounded (α : )
      ( : α  Set.Icc (-4) 4) :
      RationalApprox.rotRℚℝ α 
        1 + RationalApprox.κ
  • theorem RationalApprox.Mℚ_norm_bounded {θ φ : } ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      RationalApprox.rotMℚℝ θ φ  1 + RationalApprox.κ
    theorem RationalApprox.Mℚ_norm_bounded {θ φ : }
      ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      RationalApprox.rotMℚℝ θ φ 
        1 + RationalApprox.κ
  • theorem RationalApprox.R'ℚ_norm_bounded (α : ) ( : α  Set.Icc (-4) 4) :
      RationalApprox.rotR'ℚℝ α  1 + RationalApprox.κ
    theorem RationalApprox.R'ℚ_norm_bounded (α : )
      ( : α  Set.Icc (-4) 4) :
      RationalApprox.rotR'ℚℝ α 
        1 + RationalApprox.κ
  • theorem RationalApprox.Mθℚ_norm_bounded {θ φ : } ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      RationalApprox.rotMθℚℝ θ φ  1 + RationalApprox.κ
    theorem RationalApprox.Mθℚ_norm_bounded {θ φ : }
      ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      RationalApprox.rotMθℚℝ θ φ 
        1 + RationalApprox.κ
  • theorem RationalApprox.Mφℚ_norm_bounded {θ φ : } ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      RationalApprox.rotMφℚℝ θ φ  1 + RationalApprox.κ
    theorem RationalApprox.Mφℚ_norm_bounded {θ φ : }
      ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4) :
      RationalApprox.rotMφℚℝ θ φ 
        1 + RationalApprox.κ
Proof for Corollary 7.6
Proof uses 2
Proof dependency previews
Preview
Lemma 3.1
Loading preview
Proof dependency preview content is loaded from the rendered-fragment cache.

The first statement is a direct application of Lemma 7.5 and the second statement follows immediately after using Lemma 3.1 and the triangle inequality. The derivative norm bounds follow similarly, using that the operator norms of R', M^\theta, and M^\phi are at most 1.

Lemma7.7
Group: Matrix approximation error bounds. (4)
Group member previews
Preview
Lemma 7.4
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0
Used by 3
Reverse dependency previews
Preview
Lemma 7.8
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Let (A_i,B_i) for 1\le i\le n be pairs of same-size real matrices, with products A_1\cdots A_n and B_1\cdots B_n defined. If \|A_i-B_i\|\leq \kappa and \delta_i\geq \max(\|A_i\|,\|B_i\|,1), then \|A_1\cdots A_n-B_1\cdots B_n\|\leq n\kappa\,\delta_1\cdots\delta_n.

Lean code for Lemma7.71 theorem
  • complete
    theorem RationalApprox.norm_sub_le_prod {n m : }
      (mv : RationalApprox.MatVec n m) (κ : ) (κ_pos : κ > 0)
      ( : mv.DiffBoundedBy κ) :
      mv.compA - mv.compB  mv.size * κ * mv.maxNormList.prod
    theorem RationalApprox.norm_sub_le_prod {n m : }
      (mv : RationalApprox.MatVec n m) (κ : )
      (κ_pos : κ > 0)
      ( : mv.DiffBoundedBy κ) :
      mv.compA - mv.compB 
        mv.size * κ * mv.maxNormList.prod
    [SY25] Lemma 42 
Proof for Lemma 7.7
uses 0

See polyhedron.without.rupert, Lemma 42.

Lemma7.8
Group: Matrix approximation error bounds. (4)
Group member previews
Preview
Lemma 7.4
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1L∃∀N

Let \alpha, \theta, \phi \in [-4,4], P\in \R^3 with \|P\| \leq 1 and let \widetilde{P} be a \kappa-rational approximation of P. Set M = M(\theta, \phi) and M_{\Q} = M_{\Q}(\theta, \phi), M^\theta = M^\theta(\theta, \phi) and M^\theta_{\Q} = M^\theta_{\Q}(\theta, \phi), M^\phi = M^\phi(\theta, \phi) and M^\phi_{\Q} = M^\phi_{\Q}(\theta, \phi), as well as R = R(\alpha), R_{\Q} = R_{\Q}(\alpha), R' = R'(\alpha), R'_{\Q} = R'_{\Q}(\alpha). Finally let w \in \R^2 with \|w\| = 1. Then:

\begin{align} | \langle M P, w\rangle - \langle M_{\Q} \widetilde{P}, w\rangle | & \leq 3\kappa \\ | \langle M^\theta P, w\rangle - \langle M^\theta_{\Q} \widetilde{P}, w\rangle | & \leq 3\kappa,\\ | \langle M^\phi P, w\rangle - \langle M^\phi_{\Q} \widetilde{P}, w\rangle | & \leq 3\kappa,\\ | \langle R M P, w\rangle - \langle R_{\Q} M_{\Q} \widetilde{P}, w\rangle | & \leq 4\kappa \\ | \langle R' M P, w\rangle - \langle R'_{\Q} M_{\Q} \widetilde{P}, w\rangle | & \leq 4\kappa,\\ | \langle R M^\theta P, w\rangle - \langle R_{\Q} M^\theta_{\Q} \widetilde{P}, w\rangle | & \leq 4\kappa,\\ | \langle R M^\phi P, w\rangle - \langle R_{\Q} M^\phi_{\Q} \widetilde{P}, w\rangle | & \leq 4\kappa. \end{align} $$

Lean code for Lemma7.87 theorems
  • theorem RationalApprox.bounds_kappa_M {P : Euc(3)} {P_ : Fin 3  }
      {θ φ : (Set.Icc (-4) 4)} {w : Fin 2  } (hP : P  1)
      (approx : P - toR3 P_  RationalApprox.κ) (hw : toR2 w = 1) :
      inner  ((rotM θ φ) P) (toR2 w) -
            ((RationalApprox.rotMℚ θ φ) P_ ⬝ᵥ w) 
        3 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa_M {P : Euc(3)}
      {P_ : Fin 3  }
      {θ φ : (Set.Icc (-4) 4)}
      {w : Fin 2  } (hP : P  1)
      (approx :
        P - toR3 P_  RationalApprox.κ)
      (hw : toR2 w = 1) :
      inner  ((rotM θ φ) P) (toR2 w) -
            ((RationalApprox.rotMℚ θ φ)
                  P_ ⬝ᵥ
                w) 
        3 * RationalApprox.κ
  • theorem RationalApprox.bounds_kappa_Mθ {P : Euc(3)} {P_ : Fin 3  }
      {θ φ : (Set.Icc (-4) 4)} {w : Fin 2  } (hP : P  1)
      (approx : P - toR3 P_  RationalApprox.κ) (hw : toR2 w = 1) :
      inner  ((rotMθ θ φ) P) (toR2 w) -
            ((RationalApprox.rotMθℚ θ φ) P_ ⬝ᵥ w) 
        3 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa_Mθ
      {P : Euc(3)} {P_ : Fin 3  }
      {θ φ : (Set.Icc (-4) 4)}
      {w : Fin 2  } (hP : P  1)
      (approx :
        P - toR3 P_  RationalApprox.κ)
      (hw : toR2 w = 1) :
      inner  ((rotMθ θ φ) P) (toR2 w) -
            ((RationalApprox.rotMθℚ θ φ)
                  P_ ⬝ᵥ
                w) 
        3 * RationalApprox.κ
  • theorem RationalApprox.bounds_kappa_Mφ {P : Euc(3)} {P_ : Fin 3  }
      {θ φ : (Set.Icc (-4) 4)} {w : Fin 2  } (hP : P  1)
      (approx : P - toR3 P_  RationalApprox.κ) (hw : toR2 w = 1) :
      inner  ((rotMφ θ φ) P) (toR2 w) -
            ((RationalApprox.rotMφℚ θ φ) P_ ⬝ᵥ w) 
        3 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa_Mφ
      {P : Euc(3)} {P_ : Fin 3  }
      {θ φ : (Set.Icc (-4) 4)}
      {w : Fin 2  } (hP : P  1)
      (approx :
        P - toR3 P_  RationalApprox.κ)
      (hw : toR2 w = 1) :
      inner  ((rotMφ θ φ) P) (toR2 w) -
            ((RationalApprox.rotMφℚ θ φ)
                  P_ ⬝ᵥ
                w) 
        3 * RationalApprox.κ
  • theorem RationalApprox.bounds_kappa_RM {P : Euc(3)} {P_ : Fin 3  }
      {α θ φ : (Set.Icc (-4) 4)} {w : Fin 2  } (hP : P  1)
      (approx : P - toR3 P_  RationalApprox.κ) (hw : toR2 w = 1) :
      inner  ((rotR α) ((rotM θ φ) P)) (toR2 w) -
            ((RationalApprox.rotRℚ α) ((RationalApprox.rotMℚ θ φ) P_) ⬝ᵥ
                w) 
        4 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa_RM
      {P : Euc(3)} {P_ : Fin 3  }
      {α θ φ : (Set.Icc (-4) 4)}
      {w : Fin 2  } (hP : P  1)
      (approx :
        P - toR3 P_  RationalApprox.κ)
      (hw : toR2 w = 1) :
      inner  ((rotR α) ((rotM θ φ) P))
              (toR2 w) -
            ((RationalApprox.rotRℚ α)
                  ((RationalApprox.rotMℚ θ
                      φ)
                    P_) ⬝ᵥ
                w) 
        4 * RationalApprox.κ
  • theorem RationalApprox.bounds_kappa_R'M {P : Euc(3)} {P_ : Fin 3  }
      {α θ φ : (Set.Icc (-4) 4)} {w : Fin 2  } (hP : P  1)
      (approx : P - toR3 P_  RationalApprox.κ) (hw : toR2 w = 1) :
      inner  ((rotR' α) ((rotM θ φ) P)) (toR2 w) -
            ((RationalApprox.rotR'ℚ α)
                  ((RationalApprox.rotMℚ θ φ) P_) ⬝ᵥ
                w) 
        4 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa_R'M
      {P : Euc(3)} {P_ : Fin 3  }
      {α θ φ : (Set.Icc (-4) 4)}
      {w : Fin 2  } (hP : P  1)
      (approx :
        P - toR3 P_  RationalApprox.κ)
      (hw : toR2 w = 1) :
      inner 
              ((rotR' α) ((rotM θ φ) P))
              (toR2 w) -
            ((RationalApprox.rotR'ℚ α)
                  ((RationalApprox.rotMℚ θ
                      φ)
                    P_) ⬝ᵥ
                w) 
        4 * RationalApprox.κ
  • theorem RationalApprox.bounds_kappa_RMθ {P : Euc(3)} {P_ : Fin 3  }
      {α θ φ : (Set.Icc (-4) 4)} {w : Fin 2  } (hP : P  1)
      (approx : P - toR3 P_  RationalApprox.κ) (hw : toR2 w = 1) :
      inner  ((rotR α) ((rotMθ θ φ) P)) (toR2 w) -
            ((RationalApprox.rotRℚ α)
                  ((RationalApprox.rotMθℚ θ φ) P_) ⬝ᵥ
                w) 
        4 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa_RMθ
      {P : Euc(3)} {P_ : Fin 3  }
      {α θ φ : (Set.Icc (-4) 4)}
      {w : Fin 2  } (hP : P  1)
      (approx :
        P - toR3 P_  RationalApprox.κ)
      (hw : toR2 w = 1) :
      inner 
              ((rotR α) ((rotMθ θ φ) P))
              (toR2 w) -
            ((RationalApprox.rotRℚ α)
                  ((RationalApprox.rotMθℚ θ
                      φ)
                    P_) ⬝ᵥ
                w) 
        4 * RationalApprox.κ
  • theorem RationalApprox.bounds_kappa_RMφ {P : Euc(3)} {P_ : Fin 3  }
      {α θ φ : (Set.Icc (-4) 4)} {w : Fin 2  } (hP : P  1)
      (approx : P - toR3 P_  RationalApprox.κ) (hw : toR2 w = 1) :
      inner  ((rotR α) ((rotMφ θ φ) P)) (toR2 w) -
            ((RationalApprox.rotRℚ α)
                  ((RationalApprox.rotMφℚ θ φ) P_) ⬝ᵥ
                w) 
        4 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa_RMφ
      {P : Euc(3)} {P_ : Fin 3  }
      {α θ φ : (Set.Icc (-4) 4)}
      {w : Fin 2  } (hP : P  1)
      (approx :
        P - toR3 P_  RationalApprox.κ)
      (hw : toR2 w = 1) :
      inner 
              ((rotR α) ((rotMφ θ φ) P))
              (toR2 w) -
            ((RationalApprox.rotRℚ α)
                  ((RationalApprox.rotMφℚ θ
                      φ)
                    P_) ⬝ᵥ
                w) 
        4 * RationalApprox.κ
Proof for Lemma 7.8
Proof uses 2
Proof dependency previews
Preview
Corollary 7.6
Loading preview
Proof dependency preview content is loaded from the rendered-fragment cache.

See polyhedron.without.rupert, Lemma 44.

Theorem7.9
uses 0used by 1L∃∀N

Let \PPP be a pointsymmetric convex polyhedron with radius \rho =1 and \widetilde{\PPP} a \kappa-rational approximation. Let \widetilde{S} \in \widetilde{\PPP}. Further let \epsilon>0 and \thetab_1,\phib_1,\thetab_2,\phib_2,\alphab \in \Q \cap [-4,4]. Let w\in\Q^2 be a unit vector. Denote \Mib \coloneqq M_{\Q}(\thetab_1, \phib_1), \Miib \coloneqq M_{\Q}(\thetab_2, \phib_2) as well as \Mib^{\theta} \coloneqq M_{\Q}^\theta(\thetab_1, \phib_1), \Mib^{\phi} \coloneqq M_{\Q}^\phi(\thetab_1, \phib_1) and analogously for \Miib^{\theta}, \Miib^{\phi}. Finally set

\begin{align*} G^{\Q}& \coloneqq \langle R_{\Q}(\alphab) \Mib \widetilde{S},w \rangle - \epsilon\cdot\big(|\langle R_{\Q}'(\alphab) \Mib \widetilde{S},w \rangle|+|\langle R_{\Q}(\alphab) \Mib^\theta \widetilde{S},w \rangle|+|\langle R_{\Q}(\alphab) \Mib^\phi \widetilde{S},w \rangle|\big) \\ & \hspace{11cm}- 9\epsilon^2/2 - 4\kappa ( 1 + 3 \epsilon),\\ H^{\Q}_P & \coloneqq \langle \Miib P,w \rangle + \epsilon\cdot\big(|\langle \Miib^\theta P,w \rangle|+|\langle \Miib^\varphi P,w \rangle|\big) + 2\epsilon^2 + 3\kappa( 1+2\epsilon). \end{align*} $$

If G^{\Q}>\max_{P\in \widetilde{\PPP}} H^{\Q}_P then there does not exist a solution to Rupert's condition to \PPP with

(\theta_1,\varphi_1,\theta_2,\varphi_2,\alpha) \in [\thetab_1\pm\epsilon,\phib_1\pm\epsilon,\thetab_2\pm\epsilon,\phib_2\pm\epsilon,\alphab\pm\epsilon]. $$

Lean code for Theorem7.91 theorem
  • theorem RationalApprox.GlobalTheorem.rational_global {ι : Type} [Fintype ι]
      [Nonempty ι] (p : Pose ) (ε : ) ( : 0  ε) (poly : GoodPoly ι)
      (poly_ : Polyhedron ι (Fin 3  ))
      (happrox : RationalApprox.κApproxPoly poly.vertices poly_)
      (pc :
        RationalApprox.GlobalTheorem.RationalGlobalTheoremPrecondition poly
          poly_ happrox p ε) :
      ¬ q  Metric.closedBall p.toReal ε, RupertPose q poly.hull
    theorem RationalApprox.GlobalTheorem.rational_global
      {ι : Type} [Fintype ι] [Nonempty ι]
      (p : Pose ) (ε : ) ( : 0  ε)
      (poly : GoodPoly ι)
      (poly_ : Polyhedron ι (Fin 3  ))
      (happrox :
        RationalApprox.κApproxPoly
          poly.vertices poly_)
      (pc :
        RationalApprox.GlobalTheorem.RationalGlobalTheoremPrecondition
          poly poly_ happrox p ε) :
      ¬ q  Metric.closedBall p.toReal ε,
          RupertPose q poly.hull
    [SY25] Theorem 43
    
Proof for Theorem 7.9
Proof uses 2
Proof dependency previews
Preview
Theorem 5.5
Loading preview
Proof dependency preview content is loaded from the rendered-fragment cache.
Definition7.10
Group: Local theorem approximation bounds. (4)
Group member previews
Preview
Lemma 7.11
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0
Used by 2
Reverse dependency previews
Preview
Lemma 7.11
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Let \theta, \phi \in \Q \cap [-4,4] and M_{\Q} \coloneqq M_{\Q}(\theta, \phi). Three points \widetilde{P}_1, \widetilde{P}_2, \widetilde{P}_3 \in \Q^3 with \|\widetilde{P}_1\|, \|\widetilde{P}_2\|, \|\widetilde{P}_3\| \leq 1+\kappa are called \epsilon-\kappa-spanning for (\theta, \phi) if it holds that:

\begin{align*} \langle R(\pi/2) M_{\Q} \widetilde{P}_1,M_{\Q} \widetilde{P}_{2}\rangle > 2 \epsilon(\sqrt{2} + \epsilon) + 6\kappa,\\ \langle R(\pi/2) M_{\Q} \widetilde{P}_2,M_{\Q} \widetilde{P}_{3}\rangle > 2 \epsilon(\sqrt{2} + \epsilon) + 6\kappa,\\ \langle R(\pi/2) M_{\Q} \widetilde{P}_3,M_{\Q} \widetilde{P}_{1}\rangle > 2 \epsilon(\sqrt{2} + \epsilon) + 6\kappa. \end{align*} $$

Lean code for Definition7.101 definition
  • complete
    structure Local.Triangle.κSpanning (P : Local.Triangle) (θ φ ε : ) : Prop
    structure Local.Triangle.κSpanning
      (P : Local.Triangle) (θ φ ε : ) : Prop
    [SY25] Definition 45. Note that the "+ 1" at the type Fin 3 wraps.
    We don't include in this definition the constraint that θ, φ ∈ [-4, 4] or
    that ‖P₁‖, ‖P₂‖, ‖P₃‖ ≤ 1 + κ.
    If a user of this code wants to impose those, they'll have to separately. 
    pos : 0 < ε
    lt :  (i : Fin 3),
      2 * ε * (2 + ε) + 6 * RationalApprox.κ <
        inner  ((rotR (Real.pi / 2)) ((RationalApprox.rotMℚℝ θ φ) (P i))) ((RationalApprox.rotMℚℝ θ φ) (P (i + 1)))
Lemma7.11
Group: Local theorem approximation bounds. (4)
Group member previews
Preview
Definition 7.10
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Let P_1, P_2, P_3 \in \R^3 with \|P_i\| \leq 1 and \widetilde{P}_1, \widetilde{P}_2, \widetilde{P}_3 \in \Q^3 be their \kappa-rational approximations. Assume that \widetilde{P}_1, \widetilde{P}_2, \widetilde{P}_3 are \epsilon-\kappa-spanning for some \theta, \phi \in \Q \cap [-4,4], then P_1, P_2, P_3 are \epsilon-spanning for \theta, \phi.

Lean code for Lemma7.111 theorem
  • theorem RationalApprox.ek_spanning_imp_e_spanning (P P' : Local.Triangle)
      (hk : RationalApprox.κApproxTri P P') (hP :  (i : Fin 3), P i  1)
      {θ φ ε : } ( : θ  Set.Icc (-4) 4) ( : φ  Set.Icc (-4) 4)
      (hspan : P'.κSpanning θ φ ε) : P.Spanning θ φ ε
    theorem RationalApprox.ek_spanning_imp_e_spanning
      (P P' : Local.Triangle)
      (hk : RationalApprox.κApproxTri P P')
      (hP :  (i : Fin 3), P i  1)
      {θ φ ε : } ( : θ  Set.Icc (-4) 4)
      ( : φ  Set.Icc (-4) 4)
      (hspan : P'.κSpanning θ φ ε) :
      P.Spanning θ φ ε
Proof for Lemma 7.11
Proof uses 3
Proof dependency previews
Preview
Lemma 6.8
Loading preview
Proof dependency preview content is loaded from the rendered-fragment cache.

See polyhedron.without.rupert, Lemma 46.

Lemma7.12
Group: Local theorem approximation bounds. (4)
Group member previews
Preview
Definition 7.10
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0
Used by 2
Reverse dependency previews
Preview
Corollary 7.14
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Let P,Q \in \mathbb{R}^3 with \|P\|,\|Q\|\leq 1, and let \widetilde{P},\widetilde{Q} be \kappa-approximations. Then, for parameters in [-4,4],

  • |\langle X, P \rangle - \langle X_{\mathbb{Q}}, \widetilde{P} \rangle| \leq 3\kappa

  • |\langle MP, MQ \rangle - \langle M_{\mathbb{Q}}\widetilde{P}, M_{\mathbb{Q}}\widetilde{Q} \rangle| \leq 5\kappa

  • |\| M Q \| - \| M_{\mathbb{Q}}\widetilde{Q} \| | \leq 3\kappa

Lean code for Lemma7.123 theorems
  • theorem RationalApprox.bounds_kappa3_X {P P_ : Euc(3)} {θ φ : (Set.Icc (-4) 4)}
      (hP : P  1) (Papprox : P - P_  RationalApprox.κ) :
      inner  (vecX θ φ) P - inner  (RationalApprox.vecXℚℝ θ φ) P_ 
        3 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa3_X
      {P P_ : Euc(3)}
      {θ φ : (Set.Icc (-4) 4)} (hP : P  1)
      (Papprox :
        P - P_  RationalApprox.κ) :
      inner  (vecX θ φ) P -
            inner 
              (RationalApprox.vecXℚℝ θ φ)
              P_ 
        3 * RationalApprox.κ
  • theorem RationalApprox.bounds_kappa3_M {P Q Q_ P_ : Euc(3)}
      {θ φ : (Set.Icc (-4) 4)} (hP : P  1) (hQ : Q  1)
      (Papprox : P - P_  RationalApprox.κ)
      (Qapprox : Q - Q_  RationalApprox.κ) :
      inner  ((rotM θ φ) P) ((rotM θ φ) Q) -
            inner  ((RationalApprox.rotMℚℝ θ φ) P_)
              ((RationalApprox.rotMℚℝ θ φ) Q_) 
        5 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa3_M
      {P Q Q_ P_ : Euc(3)}
      {θ φ : (Set.Icc (-4) 4)} (hP : P  1)
      (hQ : Q  1)
      (Papprox : P - P_  RationalApprox.κ)
      (Qapprox :
        Q - Q_  RationalApprox.κ) :
      inner  ((rotM θ φ) P)
              ((rotM θ φ) Q) -
            inner 
              ((RationalApprox.rotMℚℝ θ φ)
                P_)
              ((RationalApprox.rotMℚℝ θ φ)
                Q_) 
        5 * RationalApprox.κ
  • theorem RationalApprox.bounds_kappa3_MQ {Q Q_ : Euc(3)}
      {θ φ : (Set.Icc (-4) 4)} (hQ : Q  1)
      (Qapprox : Q - Q_  RationalApprox.κ) :
      |(rotM θ φ) Q - (RationalApprox.rotMℚℝ θ φ) Q_| 
        3 * RationalApprox.κ
    theorem RationalApprox.bounds_kappa3_MQ
      {Q Q_ : Euc(3)}
      {θ φ : (Set.Icc (-4) 4)} (hQ : Q  1)
      (Qapprox :
        Q - Q_  RationalApprox.κ) :
      |(rotM θ φ) Q -
            (RationalApprox.rotMℚℝ θ φ)
                Q_| 
        3 * RationalApprox.κ
Proof for Lemma 7.12

See polyhedron.without.rupert, Lemma 49.

Corollary7.13
Group: Local theorem approximation bounds. (4)
Group member previews
Preview
Definition 7.10
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1L∃∀N

Let P, Q \in \R^3 with \|P\|, \|Q\| \leq 1 and \widetilde{Q} a \kappa-rational approximation of Q. Let \alpha, \theta, \phi, \thetab, \phib \in [-4,4] and set M = M(\theta, \phi), M_{\Q} = M_{\Q}(\theta, \phi), \overline{M} = M(\thetab, \phib), \overline{M}_{\Q} = M_{\Q}(\thetab, \phib). Then

\big|\|R(\alpha) M P - \overline{M} Q\|- \| R_{\Q}(\alpha) M_{\Q} P - \overline{M}_{\Q} \widetilde{Q}\| \big| \leq 6 \kappa

Note that the rational side uses P directly (not a rational approximation \widetilde{P}).

Lean code for Corollary7.131 theorem
  • complete
    theorem RationalApprox.delta_kappa {P Q Q_ : Euc(3)}
      {α θ φ θ_ φ_ : (Set.Icc (-4) 4)} (hP : P  1) (hQ : Q  1)
      (Qapprox : Q - Q_  RationalApprox.κ) :
      |(rotR α) ((rotM θ φ) P) - (rotM θ_ φ_) Q -
            (RationalApprox.rotRℚℝ α) ((RationalApprox.rotMℚℝ θ φ) P) -
                (RationalApprox.rotMℚℝ θ_ φ_) Q_| 
        6 * RationalApprox.κ
    theorem RationalApprox.delta_kappa
      {P Q Q_ : Euc(3)}
      {α θ φ θ_ φ_ : (Set.Icc (-4) 4)}
      (hP : P  1) (hQ : Q  1)
      (Qapprox :
        Q - Q_  RationalApprox.κ) :
      |(rotR α) ((rotM θ φ) P) -
                (rotM θ_ φ_) Q -
            (RationalApprox.rotRℚℝ α)
                  ((RationalApprox.rotMℚℝ θ
                      φ)
                    P) -
                (RationalApprox.rotMℚℝ θ_
                    φ_)
                  Q_| 
        6 * RationalApprox.κ
Proof for Corollary 7.13
Proof uses 2
Proof dependency previews
Preview
Lemma 3.1
Loading preview
Proof dependency preview content is loaded from the rendered-fragment cache.

See polyhedron.without.rupert, Corollary 50.

Corollary7.14
Group: Local theorem approximation bounds. (4)
Group member previews
Preview
Definition 7.10
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1L∃∀N

In the setting of Lemma 7.12, let \sqrt[+]{x} be an upper square-root function, i.e., \sqrt{x} \leq \sqrt[+]{x} for all real x \geq 0 with rational output on rational input. Set \|x\|_{+} \coloneqq \sqrt[+]{\|x\|^2}. Set

A = \frac{\langle M P, M(P-Q)\rangle - 2 \epsilon \|P-Q\| \cdot (\sqrt{2}+\varepsilon)}{ \big(\| M P\|+\sqrt{2} \varepsilon \big) \cdot \big(\|M(P-Q)\|+2 \sqrt{2} \varepsilon\big)} $$

as well as

A_{\Q} = \frac{\langle M_{\Q} \widetilde{P}, M_{\Q} (\widetilde{P}-\widetilde{Q})\rangle - 10\kappa - 2 \epsilon ( \|\widetilde{P}-\widetilde{Q}\| + 2 \kappa ) \cdot (\sqrt{2}+\varepsilon)}{ \big(\| M_{\Q} \widetilde{P}\|_{+}+\sqrt{2} \varepsilon + 3\kappa \big) \cdot \big(\|M_{\Q}(\widetilde{P}-\widetilde{Q})\|_{+}+2 \sqrt{2} \varepsilon + 6\kappa\big)}. $$

Assume that A \geq 0. Then A \geq A_{\mathbb{Q}}.

Lean code for Corollary7.141 theorem
  • theorem RationalApprox.bounds_kappa4 (P Q : Euc(3)) (P_ Q_ : Fin 3  )
      (p : Pose ) (hθBound : p.θ₂  Set.Icc (-4) 4)
      (hφBound : p.φ₂  Set.Icc (-4) 4) (hP : P  1) (hQ : Q  1)
      (Papprox : P - toR3 P_  RationalApprox.κ)
      (Qapprox : Q - toR3 Q_  RationalApprox.κ) (ε : ) ( : 0 < ε)
      (s : RationalApprox.UpperSqrt)
      (hA_nonneg :
        0 
          inner  ((rotM p.θ₂ p.φ₂) P) ((rotM p.θ₂ p.φ₂) (P - Q)) -
            2 * ε * P - Q * (2 + ε)) :
      RationalApprox.bounds_kappa4_Aℚ P_ Q_ p ε s 
        RationalApprox.bounds_kappa4_A P Q p.θ₂, hθBound p.φ₂, hφBound
          ε
    theorem RationalApprox.bounds_kappa4
      (P Q : Euc(3)) (P_ Q_ : Fin 3  )
      (p : Pose )
      (hθBound : p.θ₂  Set.Icc (-4) 4)
      (hφBound : p.φ₂  Set.Icc (-4) 4)
      (hP : P  1) (hQ : Q  1)
      (Papprox :
        P - toR3 P_  RationalApprox.κ)
      (Qapprox :
        Q - toR3 Q_  RationalApprox.κ)
      (ε : ) ( : 0 < ε)
      (s : RationalApprox.UpperSqrt)
      (hA_nonneg :
        0 
          inner  ((rotM p.θ₂ p.φ₂) P)
              ((rotM p.θ₂ p.φ₂) (P - Q)) -
            2 * ε * P - Q * (2 + ε)) :
      RationalApprox.bounds_kappa4_Aℚ P_ Q_ p
          ε s 
        RationalApprox.bounds_kappa4_A P Q
          p.θ₂, hθBound p.φ₂, hφBound ε
    [SY25] Corollary 51 
Proof for Corollary 7.14

See polyhedron.without.rupert, Corollary 51.

Theorem7.15
uses 1used by 1L∃∀N

Let \PPP be a polyhedron with radius \rho=1 and \widetilde{P}_i be a \kappa-rational approximation of P_i \in \PPP. Set \widetilde{\PPP} = \{\widetilde{P}_i \text{ for } P_i \in \PPP \}. Let P_1, P_2, P_3, Q_1, Q_2, Q_3 \in \PPP be not necessarily distinct and assume that P_1, P_2, P_3 and Q_1, Q_2, Q_3 are congruent. Let \epsilon>0 and \thetab_1,\phib_1,\thetab_2,\phib_2,\alphab \in \Q \cap [-4,4]. Set \Xib \coloneqq X_{\Q}(\thetab_1,\phib_1), \Xiib \coloneqq X_{\Q}(\thetab_2,\phib_2) as well as \Mib \coloneqq M_{\Q}(\thetab_1,\phib_1), \Miib \coloneqq M_{\Q}(\thetab_2,\phib_2). Assume that there exist \sigma_P, \sigma_Q \in \{0,1\} such that

(-1)^{\sigma_P} \langle \Xib,\widetilde{P}_i\rangle>\sqrt{2}\varepsilon + 3\kappa \quad \text{and} \quad (-1)^{\sigma_Q} \langle \Xiib , \widetilde{Q}_i\rangle>\sqrt{2}\varepsilon + 3\kappa, $$

for all i=1,2,3. Moreover, assume that \widetilde{P}_1,\widetilde{P}_2,\widetilde{P}_3 are \epsilon-\kappa-spanning for (\thetab_1,\phib_1) and that \widetilde{Q}_1,\widetilde{Q}_2,\widetilde{Q}_3 are \epsilon-\kappa-spanning for (\thetab_2,\phib_2). Let \sqrt[+]{x} and \sqrt[-]{x} be upper- and lower-square-root functions, then set \|Z\|_{+} \coloneqq \sqrt[+]{\|Z\|^2} and \|Z\|_{-} \coloneqq \sqrt[-]{\|Z\|^2} for Z \in \R^n. Finally, assume that for all i = 1,2,3 and any \widetilde{Q}_j \in \widetilde{\PPP} \setminus \widetilde{Q}_i it holds that the rational inequality (B^{\Q}_\epsilon) from the paper is satisfied, for some r >0 such that \min_{i=1,2,3}\| \Miib \widetilde{Q}_i \|_{-} > r + \sqrt{2} \epsilon + 3\kappa and for some \delta \in \R with

\delta \geq \max_{i=1,2,3}\left\|R_{\Q}(\alphab) \Mib \widetilde{P}_i-\Miib \widetilde{Q}_i\right\|_{+}/2 + 3\kappa. $$

Then there exists no solution to Rupert's problem R(\alpha) M(\theta_1,\phi_1)\PPP \subset M(\theta_2,\phi_2)\PPP^\circ with

(\theta_1, \phi_1, \theta_2, \phi_2, \alpha) \in [\thetab_1\pm\epsilon,\phib_1\pm\epsilon,\thetab_2\pm\epsilon,\phib_2\pm\epsilon,\alphab\pm\epsilon] \subseteq \R^5. $$

Lean code for Theorem7.151 theorem
  • theorem RationalApprox.LocalTheorem.rational_local {ι : Type} [Fintype ι]
      [DecidableEq ι] [Nonempty ι] (poly : GoodPoly ι)
      (poly_ : Polyhedron ι (Fin 3  ))
      (hpoly : RationalApprox.κApproxPoly poly.vertices poly_) (p_ : Pose )
      (ε : )
      (pc :
        RationalApprox.LocalTheorem.RationalLocalTheoremPrecondition poly
          poly_ hpoly p_ ε) :
      ¬ p  Metric.closedBall p_.toReal ε, RupertPose p poly.hull
    theorem RationalApprox.LocalTheorem.rational_local
      {ι : Type} [Fintype ι] [DecidableEq ι]
      [Nonempty ι] (poly : GoodPoly ι)
      (poly_ : Polyhedron ι (Fin 3  ))
      (hpoly :
        RationalApprox.κApproxPoly
          poly.vertices poly_)
      (p_ : Pose ) (ε : )
      (pc :
        RationalApprox.LocalTheorem.RationalLocalTheoremPrecondition
          poly poly_ hpoly p_ ε) :
      ¬ p  Metric.closedBall p_.toReal ε,
          RupertPose p poly.hull
    [SY25] Theorem 48 "The Rational Local Theorem"
    
Proof for Theorem 7.15
Proof uses 5
Proof dependency previews