Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Annihilators see only the occupied part, creators only the virtual part (Eq. (42))

Proved
KochHF.slater_projection_rules

by Lucas · Oct 9, 2026 · Mathlib 0df444a (Lean v4.33.1)

hartree-fockmathematical-physicssecond-quantization

Let α1,…,αN∈CK\alpha_1,\dots,\alpha_N\in\mathbb C^Kα1​,…,αN​∈CK be orthonormal, ∣Φ⟩=cαN†⋯cα1†∣0⟩|\Phi\rangle=c^\dagger_{\alpha_N}\cdots c^\dagger_{\alpha_1}|0\rangle∣Φ⟩=cαN​†​⋯cα1​†​∣0⟩ and P=∑n∣αn⟩⟨αn∣P=\sum_n|\alpha_n\rangle\langle\alpha_n|P=∑n​∣αn​⟩⟨αn​∣ the projection onto the occupied space (Eq. (41)). Then for every orbital φ\varphiφ

cφ∣Φ⟩=cPφ∣Φ⟩andcφ†∣Φ⟩=c(1−P)φ†∣Φ⟩.c_{\varphi}|\Phi\rangle=c_{P\varphi}|\Phi\rangle\qquad\text{and}\qquad c^\dagger_{\varphi}|\Phi\rangle=c^\dagger_{(1-P)\varphi}|\Phi\rangle .cφ​∣Φ⟩=cPφ​∣Φ⟩andcφ†​∣Φ⟩=c(1−P)φ†​∣Φ⟩.

This is the basic tool for evaluating matrix elements of Slater determinants: annihilating a virtual orbital, or creating an occupied one, gives zero.

Preamble
import Mathlib
import Definitions.Def_KochHF_FockSpace

open Matrix
Formal statement
namespace KochHF

theorem slater_projection_rules {K N : ℕ} (α : Fin N → Fin K → ℂ)
    (hα : ∀ i j, orbInner (α i) (α j) = if i = j then 1 else 0) (φ : Fin K → ℂ) :
    cannOrb φ *ᵥ slater α = cannOrb (occProj α φ) *ᵥ slater α ∧
    cdagOrb φ *ᵥ slater α = cdagOrb (φ - occProj α φ) *ᵥ slater α := by sorry

end KochHF
Source
E. Koch, *Mean-Field Theory: Hartree-Fock and BCS*, in E. Pavarini, E. Koch, J. van den Brink, G. Sawatzky (eds.), Quantum Materials: Experiments and Theory, Modeling and Simulation Vol. 6, Forschungszentrum Jülich, 2016, ISBN 978-3-95806-159-0, http://www.cond-mat.de/events/correl16, Sec. 2.4, p. 2.12, Eqs. (41), (42).
Read-back

What the Lean code literally says, in plain math · Aristotle (Harmonic) — NON-BLIND: same agent that drafted the statements

Non-blind read-back — not independent testimony. This read-back was written by the same agent that drafted the Lean statement, with full knowledge of the source text and of the intended meaning. It is not a blind audit and must not be mistaken for independent testimony; reviewers should compare the Lean code against the source themselves.

Throughout, K∈NK\in\mathbb NK∈N is the number of orthonormal reference orbitals ϕ0,…,ϕK−1\phi_0,\dots,\phi_{K-1}ϕ0​,…,ϕK−1​; an orbital is a coefficient vector φ∈CK\varphi\in\mathbb C^Kφ∈CK and ⟨φ∣χ⟩=∑μφμ‾χμ\langle\varphi|\chi\rangle=\sum_\mu\overline{\varphi_\mu}\chi_\mu⟨φ∣χ⟩=∑μ​φμ​​χμ​. Fock space is C2K\mathbb C^{2^K}C2K with orthonormal basis ∣S⟩|S\rangle∣S⟩, S⊆{0,…,K−1}S\subseteq\{0,\dots,K-1\}S⊆{0,…,K−1}; ci†∣S⟩=(−1)#{j∈S: j>i}∣S∪{i}⟩c^\dagger_i|S\rangle=(-1)^{\#\{j\in S:\,j>i\}}|S\cup\{i\}\rangleci†​∣S⟩=(−1)#{j∈S:j>i}∣S∪{i}⟩ for i∉Si\notin Si∈/S and 000 for i∈Si\in Si∈S; ci=(ci†)†c_i=(c_i^\dagger)^\daggerci​=(ci†​)† (conjugate transpose); cφ†=∑μφμcμ†c^\dagger_\varphi=\sum_\mu\varphi_\mu c^\dagger_\mucφ†​=∑μ​φμ​cμ†​, cφ=∑μφμ‾cμc_\varphi=\sum_\mu\overline{\varphi_\mu}c_\mucφ​=∑μ​φμ​​cμ​; ∣0⟩=∣∅⟩|0\rangle=|\emptyset\rangle∣0⟩=∣∅⟩; for orbitals α0,…,αN−1\alpha_0,\dots,\alpha_{N-1}α0​,…,αN−1​ the vector ∣Φα⟩=cαN−1†⋯cα0†∣0⟩|\Phi_\alpha\rangle=c^\dagger_{\alpha_{N-1}}\cdots c^\dagger_{\alpha_0}|0\rangle∣Φα​⟩=cαN−1​†​⋯cα0​†​∣0⟩ (for N=0N=0N=0 this is ∣0⟩|0\rangle∣0⟩). For all K,NK,NK,N, every family α0,…,αN−1∈CK\alpha_0,\dots,\alpha_{N-1}\in\mathbb C^Kα0​,…,αN−1​∈CK that is orthonormal (hypothesis: ⟨αi∣αj⟩=1\langle\alpha_i|\alpha_j\rangle=1⟨αi​∣αj​⟩=1 if i=ji=ji=j and 000 otherwise), and every φ∈CK\varphi\in\mathbb C^Kφ∈CK, writing Pφ=∑n⟨αn∣φ⟩αnP\varphi=\sum_n\langle\alpha_n|\varphi\rangle\alpha_nPφ=∑n​⟨αn​∣φ⟩αn​:

  1. cφ∣Φα⟩=cPφ∣Φα⟩c_\varphi|\Phi_\alpha\rangle=c_{P\varphi}|\Phi_\alpha\ranglecφ​∣Φα​⟩=cPφ​∣Φα​⟩, and
  2. cφ†∣Φα⟩=cφ−Pφ†∣Φα⟩c^\dagger_\varphi|\Phi_\alpha\rangle=c^\dagger_{\varphi-P\varphi}|\Phi_\alpha\ranglecφ†​∣Φα​⟩=cφ−Pφ†​∣Φα​⟩.

Orthonormality forces N≤KN\le KN≤K; N=0N=0N=0 is allowed (P=0P=0P=0, ∣Φ⟩=∣0⟩|\Phi\rangle=|0\rangle∣Φ⟩=∣0⟩).

Human review
  • Endorsed by Shuze Chen · Oct 10, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Lucas · Oct 10, 2026

    Confirmed by the mission captain (proposal self-audit).

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