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

logChargeAsNoether

definition
show as:
view math explainer →
module
IndisputableMonolith.Foundation.TopologicalConservation
domain
Foundation
line
172 · github
papers citing
none yet

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

A cached Ask Recognition explainer exists for this declaration.

open explainer

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