structure
definition
NoetherCharge
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Foundation.TopologicalConservation on GitHub at line 166.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
163/-! ## Part 5: Topological vs. Noether Conservation -/
164
165/-- A **Noether charge**: real-valued, conserved under dynamics. -/
166structure NoetherCharge (N : ℕ) where
167 value : Configuration N → ℝ
168 conserved : ∀ (c next : Configuration N),
169 IsVariationalSuccessor c next → value next = value c
170
171/-- Log-charge is a Noether charge (conserved, real-valued). -/
172noncomputable def logChargeAsNoether (N : ℕ) : NoetherCharge N where
173 value := log_charge
174 conserved := fun _ _ h => h.1
175
176/-- Every topological charge induces a Noether charge by ℤ ↪ ℝ. -/
177def topological_to_noether {N : ℕ} (Q : TopologicalCharge N) : NoetherCharge N where
178 value := fun c => (Q.value c : ℝ)
179 conserved := fun c next h => by simp [Q.conserved c next h]
180
181/-- **THEOREM (Noether Charges Need Not Be Quantized)**:
182 There exist Noether charges that take non-integer values.
183
184 Proof: log(2) satisfies 0 < log(2) < 1, so it is not an integer. -/
185theorem noether_not_necessarily_quantized :
186 ∃ (N : ℕ) (Q : NoetherCharge N) (c : Configuration N),
187 ¬∃ n : ℤ, Q.value c = (n : ℝ) := by
188 use 1, logChargeAsNoether 1
189 let c : Configuration 1 := {
190 entries := fun _ => 2
191 entries_pos := fun _ => by norm_num
192 }
193 use c
194 intro ⟨n, hn⟩
195 simp only [logChargeAsNoether, log_charge, Fin.sum_univ_one] at hn
196 have h_pos : 0 < Real.log 2 := Real.log_pos (by norm_num : (1 : ℝ) < 2)