def
definition
logChargeAsNoether
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Foundation.TopologicalConservation on GitHub at line 172.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
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)
197 have h_lt : Real.log 2 < 1 := by
198 have h2_lt_e : (2 : ℝ) < Real.exp 1 := by
199 exact lt_trans (by norm_num) Real.exp_one_gt_d9
200 calc Real.log 2 < Real.log (Real.exp 1) :=
201 Real.log_lt_log (by norm_num) h2_lt_e
202 _ = 1 := Real.log_exp 1