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

empty_is_closed

proved
show as:
view math explainer →
module
IndisputableMonolith.Foundation.WindingCharges
domain
Foundation
line
351 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Foundation.WindingCharges on GitHub at line 351.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

formal source

 348  ∀ k : Fin D, winding_number p k = 0
 349
 350/-- The empty path is closed. -/
 351theorem empty_is_closed {D : ℕ} : is_closed ([] : LatticePath D) :=
 352  fun k => winding_empty k
 353
 354/-- A cancelling pair is a closed path. -/
 355theorem cancelling_pair_closed {D : ℕ} (a : Fin D) :
 356    is_closed ([LatticeStep.plus a, LatticeStep.minus a] : LatticePath D) := by
 357  intro k
 358  simp [winding_number, step_displacement]
 359  split <;> simp
 360
 361/-
 362**THEOREM (Closed Paths Are Topologically Trivial in D ≤ 2)**:
 363    In D ≤ 2, every closed path can be reduced to the empty path by
 364    removing cancelling pairs. The path is homotopically trivial.
 365
 366    In D = 3, this is NOT true — closed paths can be knotted.
 367    Knotted paths have non-trivial linking with other paths.
 368
 369    This asymmetry is WHY D = 3 supports topological conservation
 370    while D ≤ 2 does not. -/
 371
 372/-- A square loop on the D-lattice: go +k, +j, −k, −j for two axes j ≠ k.
 373    This is a closed non-trivial loop that exists iff D ≥ 2. -/
 374def square_loop {D : ℕ} (j k : Fin D) : LatticePath D :=
 375  [.plus j, .plus k, .minus j, .minus k]
 376
 377theorem square_loop_closed {D : ℕ} (j k : Fin D) :
 378    is_closed (square_loop j k) := by
 379  intro axis
 380  simp [square_loop, winding_number, step_displacement]
 381  split <;> split <;> simp