Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Chapter TwoParticleSectorEsa

Definition
ChapterTwoParticleSectorEsa

by leonardopedro · Oct 4, 2026 · Mathlib 0df444a (Lean v4.33.1)

definitionsformalizationtimepiece

Formal definitions for the timepiece Lean 4 formalization (source chapter BookProof/ChapterTwoParticleSectorEsa.lean): generated def bundle for ChapterTwoParticleSectorEsa. See BookProof/ChapterTwoParticleSectorEsa.lean for full context.

Definition code
import Definitions.Def_ChapterTensorGraphCore
import Definitions.Def_ChapterReducingSubspaceEsa
import Definitions.Def_ChapterFarisLavine
import Definitions.Def_ChapterGraphCoreTransfer
import Definitions.Def_ChapterA4
import Mathlib


/-!
# The bosonic and the fermionic two-particle sector

`BookProof.TensorCore` builds the sector derivation `dΓ(A)⁽ⁿ⁾` on the **full** tensor power
`H^{⊗n}` and proves that a one-particle core lifts to a core of it.  The physical two-particle
spaces are the *symmetric* and the *antisymmetric* halves of `H^{⊗2}`, i.e. the two
eigenspaces of the swap `x ⊗ y ↦ y ⊗ x`.  This module carries essential self-adjointness from
the full power to those halves.

The mechanism is the general reduction principle of `BookProof.ReducedEsa`: the swap is a
self-inverse isometry, it preserves the domain `D₂^{⊗2}` and the core `D^{⊗2}`, and it
commutes with the derivation — the Leibniz rule is symmetric in the two factors.  Hence the
projections `(1 ± swap)/2` are reducing projections for the derivation, and essential
self-adjointness descends to each sector.

## Contents

* `swapTwo` — the swap of a two-fold (nested) tensor power `X ⊗ (X ⊗ ℂ)`, as a linear
  isometry equivalence; `swapTwo_tmul`, `swapTwo_involutive`, `swapTwo_inner`.
* `swapH`, `swapDom` — the swap on `H^{⊗2}` and on `D₂^{⊗2}`, and their compatibility with
  the inclusion (`inclPow_swapDom`) and with the derivation (`derPow_swapDom`).
* `swapH_mem_sectorDom`, `swapH_mem_sectorCore` — the swap preserves the domain and the core.
* `sectorOp_swapH`, `restrictOp_sectorOp_swapH` — the swap commutes with the two-particle
  derivation, on the domain and on the core.
* **`essentiallySelfAdjointOn_bosonic`**, **`essentiallySelfAdjointOn_fermionic`** — the two
  sector statements on the domain `D₂^{⊗2}`; **`essentiallySelfAdjointOn_bosonic_core`**,
  **`essentiallySelfAdjointOn_fermionic_core`** — the same on the symmetrized and the
  antisymmetrized one-particle core `D^{⊗2}`, for any core `D` of `A`.
* `mem_bosonic_iff`, `mem_fermionic_iff` — the two sectors are exactly the `+1` and the `-1`
  eigenspaces of the swap.

Nothing is assumed: the module contains no `axiom` and no `sorry`.
-/

namespace BookProof.TwoParticleSector

open scoped TensorProduct
open BookProof.FarisLavine BookProof.GraphCore BookProof.ReducedEsa BookProof.TensorCore

noncomputable section

/-! ## The swap of a two-fold tensor power -/

variable (X : Type) [NormedAddCommGroup X] [InnerProductSpace ℂ X]

/-- The **swap** `x ⊗ (y ⊗ c) ↦ y ⊗ (x ⊗ c)` of a two-fold tensor power, in the nested form
`X ⊗ (X ⊗ ℂ)` in which `BookProof.TensorCore.IPSpace.pow` presents `X^{⊗2}`.  It is built
from the associator and the commutor, so it is an isometry. -/
def swapTwo : X ⊗[ℂ] (X ⊗[ℂ] ℂ) ≃ₗᵢ[ℂ] X ⊗[ℂ] (X ⊗[ℂ] ℂ) :=
  (TensorProduct.assocIsometry ℂ X X ℂ).symm.trans
    ((TensorProduct.congrIsometry (TensorProduct.commIsometry ℂ X X)
      (LinearIsometryEquiv.refl ℂ ℂ)).trans (TensorProduct.assocIsometry ℂ X X ℂ))

@[simp] theorem swapTwo_tmul (x y : X) (c : ℂ) :
    swapTwo X (x ⊗ₜ[ℂ] (y ⊗ₜ[ℂ] c)) = y ⊗ₜ[ℂ] (x ⊗ₜ[ℂ] c) := by
  simp [swapTwo, TensorProduct.congrIsometry]

variable {X}





/-! ## The swap on the two-particle space and on its domain -/

variable (Hs : IPSpace) (D₂ : Submodule ℂ Hs.carrier)

/-- The swap of `H^{⊗2}`, as a linear map. -/
def swapH : (Hs.pow 2).carrier →ₗ[ℂ] (Hs.pow 2).carrier :=
  (swapTwo (X := Hs.carrier)).toLinearEquiv.toLinearMap

/-- The swap of the algebraic tensor square `D₂^{⊗2}` of the domain. -/
def swapDom : ((domSpace Hs D₂).pow 2).carrier →ₗ[ℂ] ((domSpace Hs D₂).pow 2).carrier :=
  (swapTwo (X := D₂)).toLinearEquiv.toLinearMap

@[simp] theorem swapH_tmul (x y : Hs.carrier) (c : ℂ) :
    swapH Hs (x ⊗ₜ[ℂ] (y ⊗ₜ[ℂ] c) : (Hs.pow 2).carrier) = y ⊗ₜ[ℂ] (x ⊗ₜ[ℂ] c) :=
  swapTwo_tmul Hs.carrier x y c

@[simp] theorem swapDom_tmul (a b : D₂) (c : ℂ) :
    swapDom Hs D₂ (a ⊗ₜ[ℂ] (b ⊗ₜ[ℂ] c) : ((domSpace Hs D₂).pow 2).carrier)
      = b ⊗ₜ[ℂ] (a ⊗ₜ[ℂ] c) :=
  swapTwo_tmul (D₂ : Type) a b c









variable (A : D₂ →ₗ[ℂ] Hs.carrier)





/-! ## The swap preserves the domain and the core -/



variable (D : Submodule ℂ Hs.carrier)





/-! ## The swap commutes with the two-particle operator -/





/-! ## The two sectors -/

/-- The bosonic (symmetric) two-particle sector: the range of `(1 + swap)/2`. -/
def bosonicProj : (Hs.pow 2).carrier →ₗ[ℂ] (Hs.pow 2).carrier := symProj (swapH Hs)

/-- The fermionic (antisymmetric) two-particle sector: the range of `(1 - swap)/2`. -/
def fermionicProj : (Hs.pow 2).carrier →ₗ[ℂ] (Hs.pow 2).carrier := asymProj (swapH Hs)









/-! ## Essential self-adjointness on the two sectors -/









/-! ## Non-vacuity of the two sectors -/





/-! ## Symmetry of the sector operators -/





end

end BookProof.TwoParticleSector
Source
https://github.com/leonardopedro/timepiece/blob/61595bc/BookProof/ChapterTwoParticleSectorEsa.lean

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me