Category Theory + Nuclear Physics + Haskell

Functorial Fission

A categorical reformulation of nuclear fission physics, treating nuclear states as objects in a symmetric monoidal category and fission processes as morphisms.

View on GitHub Try Simulator Read the Paper

Key Contributions

Novel perspectives on nuclear physics through the lens of category theory

📐

Category Nucl

Nuclear configurations form objects in a symmetric monoidal category. Fission processes are morphisms preserving conservation laws.

Binding Energy Functor

B: Nucl → Energy maps configurations to binding energies. Functoriality captures compositional energy accounting.

Conservation as Structure

Charge and baryon conservation emerge as constraints on morphism existence. Illegal transitions have no representation.

🔀

Coalgebraic Dynamics

Chain reactions modeled as coalgebras over branching functors. Neutron multiplication emerges naturally.

🔒

Type-Safe Physics

Conservation laws enforced at compile time using GADTs and type families. Invalid fissions fail to compile.

💻

Executable Specification

Complete Haskell implementation demonstrates that categorical abstractions translate to working code.

Mathematical Framework

Rigorous categorical foundations for nuclear fission physics

Semi-Empirical Mass Formula B(A,Z) = avA - asA2/3 - acZ²/A1/3 - aa(A-2Z)²/A + δ(A,Z)
Binding Energy Functor on Objects B(⊕i (Ai, Zi)) = Σi B(Ai, Zi)
Binding Energy Functor on Morphisms B(φ: X → Y) = B(Y) - B(X)   [Energy Release]
Neutron Multiplication Coalgebra γ: NeutronState → F(NeutronState)   where   F(X) = (Pfin(X), ℝ≥0)

Haskell Implementation

Type-safe, executable categorical physics

FunctorialFission/Functor.hs
-- | The Binding Energy Functor on objects
bindingFunctorObj :: SEMFCoefficients -> NuclearConfig -> MeV
bindingFunctorObj coef (NuclearConfig ns) =
  sum $ map (bindingEnergy coef) ns

-- | The Binding Energy Functor on morphisms
bindingFunctorMor :: SEMFCoefficients -> NuclearMorphism -> MeV
bindingFunctorMor coef (NuclearMorphism src tgt _) =
  bindingFunctorObj coef tgt - bindingFunctorObj coef src
FunctorialFission/TypeSafe.hs
-- | Type-safe fission with conservation laws enforced at compile time
data SafeFission src tgt where
  SafeFission :: (TotalZ src ~ TotalZ tgt, TotalA src ~ TotalA tgt)
              => TConfig src -> TConfig tgt -> SafeFission src tgt

-- This compiles: U-236 → Ba-141 + Kr-92 + 3n (conserves A and Z)
exampleFission :: SafeFission
  '[TNuclide 236 92]
  '[TNuclide 141 56, TNuclide 92 36, TNuclide 1 0, TNuclide 1 0, TNuclide 1 0]
exampleFission = SafeFission source target

The Paper

Full arXiv-style treatment with rigorous mathematics

A Functorial Formulation of Nuclear Fission

Mass–Energy Equivalence, Binding Energy, and Chain-Reaction Dynamics in a Categorical Framework

📄 22 pages
📊 7 sections
📖 12 references

ABSTRACT

We present a categorical reformulation of nuclear fission physics, treating nuclear configurations as objects in a symmetric monoidal category and fission processes as morphisms preserving essential structure. The binding energy function is elevated to a functor B: Nucl → Energy, and conservation laws (charge, baryon number, energy-momentum) emerge as natural transformations. Chain-reaction dynamics are modeled coalgebraically, with neutron multiplication captured by coalgebras over a branching functor...