def
definition
angular_deficit_per_vertex
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Constants.LambdaRecDerivation on GitHub at line 156.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
153noncomputable def dihedral_angle : ℝ := Real.pi / 2
154
155/-- At each cube vertex, 3 faces meet. The angular deficit is 2π - 3(π/2). -/
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 :