pith. machine review for the scientific record. sign in
theorem

angular_deficit_value

proved
show as:
view math explainer →
module
IndisputableMonolith.Constants.LambdaRecDerivation
domain
Constants
line
159 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Constants.LambdaRecDerivation on GitHub at line 159.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

 156noncomputable def angular_deficit_per_vertex : ℝ := 2 * Real.pi - 3 * dihedral_angle
 157
 158/-- The angular deficit at each vertex equals π/2. -/
 159theorem angular_deficit_value : angular_deficit_per_vertex = Real.pi / 2 := by
 160  unfold angular_deficit_per_vertex dihedral_angle; ring
 161
 162/-- Total curvature over all 8 vertices = 4π = 2π × χ(S²).
 163    This is the Gauss-Bonnet theorem for the cube. -/
 164theorem total_curvature_gauss_bonnet :
 165    Q3_vertices * angular_deficit_per_vertex = 2 * Real.pi * euler_S2 := by
 166  simp [Q3_vertices, euler_S2, angular_deficit_value]; ring
 167
 168/-- The normalized curvature magnitude |κ| per vertex-sphere. -/
 169noncomputable def kappa_normalized : ℝ := Q3_vertices * angular_deficit_per_vertex / (4 * Real.pi)
 170
 171/-- |κ_normalized| = 1 (from Gauss-Bonnet). -/
 172theorem kappa_normalized_eq_one : kappa_normalized = 1 := by
 173  unfold kappa_normalized
 174  rw [total_curvature_gauss_bonnet]
 175  simp [euler_S2]; ring
 176
 177/-- J_curv = 2λ² is the curvature cost per recognition token.
 178    Derivation: |κ_normalized| × (4πλ²) / (2π × χ(S²))
 179    = 1 × (4πλ²) / (2π × 2) = 2λ² / 2 ... wait, let's be precise:
 180    J_curv = (|κ|/(2χ)) × (A/(2π)) where |κ| = 4, χ = 2, A = 4πλ²
 181    = (4/4) × (4πλ²/(2π)) = 1 × 2λ² = 2λ². -/
 182theorem J_curv_derivation (lambda : ℝ) :
 183    J_curv lambda = 2 * lambda ^ 2 := rfl
 184
 185/-- The balance condition J_bit = J_curv uniquely determines lambda. -/
 186theorem balance_determines_lambda :
 187    ∃! lambda : ℝ, lambda > 0 ∧ J_curv lambda = J_bit_normalized :=
 188  balance_unique_pos_root
 189  where