Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions PhysLean/Particles/StandardModel/ZPrime/Charges.lean
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/-
Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Tooby-Smith
-/
import Mathlib.Data.Int.Basic
import Mathlib.Data.Fin.Basic
/-!

# Z-prime charges for the Standard Model

This file introduces the key data structure for Z′-models over the Standard Model:
the assignment of **integer** charges to the (chiral) SM fermions with `n` families.

We model the SM fermions (without RHN) as `5` species (Q, U, D, L, E) each carrying
`n` family copies. Thus a charge assignment is a function `Fin 5 → Fin n → ℤ`.

This file is intentionally lightweight: it provides the underlying data structure and
basic projections. Further API components (family permutations, potential-term charges,
anomaly cancellation conditions, quotients by scaling/hypercharge) are developed in
subsequent files/PRs.
-/

/-- Integer Z′-charges for the `n`-family Standard Model fermions (without RHN). -/
abbrev SMZPrimeCharges (n : ℕ) : Type := Fin 5 → Fin n → ℤ
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks, good, although I would make this a structure not an abbreviation. You could even make the fields of the abbreviation Q, U, D etc. I would also make a note in

https://github.com/HEPLean/PhysLean/blob/master/PhysLean/Particles/StandardModel/AnomalyCancellation/Basic.lean

About this new definition of things


namespace SMZPrimeCharges

variable {n : ℕ}

/-- The Q charges as a map `Fin n → ℤ`. -/
abbrev Q (χ : SMZPrimeCharges n) : Fin n → ℤ := χ 0

/-- The U charges as a map `Fin n → ℤ`. -/
abbrev U (χ : SMZPrimeCharges n) : Fin n → ℤ := χ 1

/-- The D charges as a map `Fin n → ℤ`. -/
abbrev D (χ : SMZPrimeCharges n) : Fin n → ℤ := χ 2

/-- The L charges as a map `Fin n → ℤ`. -/
abbrev L (χ : SMZPrimeCharges n) : Fin n → ℤ := χ 3

/-- The E charges as a map `Fin n → ℤ`. -/
abbrev E (χ : SMZPrimeCharges n) : Fin n → ℤ := χ 4

end SMZPrimeCharges
Loading