Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Subadditivity of von Neumann entropy

Open
QAlgorithms.Arunachalam.vnEntropy_subadditive

by Goku · Oct 13, 2026 · Mathlib 0df444a (Lean v4.33.1)

arunachalamlecture-notesquantum-information

Let HA\mathcal H_AHA​ and HB\mathcal H_BHB​ be finite-dimensional Hilbert spaces and let ρAB\rho_{AB}ρAB​ be a density matrix (positive semidefinite, trace one) on HA⊗HB\mathcal H_A\otimes\mathcal H_BHA​⊗HB​. Write ρA=Tr⁡BρAB\rho_A=\operatorname{Tr}_B\rho_{AB}ρA​=TrB​ρAB​ and ρB=Tr⁡AρAB\rho_B=\operatorname{Tr}_A\rho_{AB}ρB​=TrA​ρAB​ for its reduced states and S(ρ)=−Tr⁡(ρlog⁡2ρ)S(\rho)=-\operatorname{Tr}(\rho\log_2\rho)S(ρ)=−Tr(ρlog2​ρ) for the von Neumann entropy (with 0log⁡0=00\log 0=00log0=0). Then

S(ρAB)≤S(ρA)+S(ρB).S(\rho_{AB})\le S(\rho_A)+S(\rho_B).S(ρAB​)≤S(ρA​)+S(ρB​).

This inequality is used to bound the mutual information between a concept and TTT examples by TTT times the information in one example.

Formalization Note ρlog⁡2ρ\rho\log_2\rhoρlog2​ρ is computed by the continuous functional calculus applied to x↦xlog⁡2xx\mapsto x\log_2 xx↦xlog2​x; Lean's log⁡0=0\log 0=0log0=0 gives the convention 0log⁡0=00\log 0=00log0=0.

Preamble
import Definitions.Def_QAlgorithms_Defs_Learning
set_option autoImplicit false
Formal statement
namespace QAlgorithms.Arunachalam

open QAlgorithms.Learning

/-- Arunachalam p.162, Fact 7.3.10 (subadditivity of quantum entropy): for every bipartite
density matrix `ρ_AB` on `H_A ⊗ H_B`, `S(ρ_AB) ≤ S(ρ_A) + S(ρ_B)`, where `S(ρ) = −Tr(ρ log ρ)`
(log base 2, §7.3.1) and `ρ_A = Tr_B ρ_AB`, `ρ_B = Tr_A ρ_AB` are the partial traces. -/
theorem vnEntropy_subadditive {ι κ : Type*} [Fintype ι] [DecidableEq ι] [Fintype κ]
    [DecidableEq κ] (ρ : Matrix (ι × κ) (ι × κ) ℂ) (hρ : IsDensityMatrix ρ) :
    vnEntropy ρ ≤ vnEntropy (traceRight ρ) + vnEntropy (traceLeft ρ) := by
  sorry






end QAlgorithms.Arunachalam
Source
Srinivasan Arunachalam, Quantum Algorithms and Learning Theory — Part II, 2018 thesis, ILLC DS-2018-08, PDF p. 162, Fact 7.3.10. https://ir.cwi.nl/pub/27536/Thesis_S_Arunachalam
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Let ι\iotaι and κ\kappaκ be arbitrary finite types with decidable equality. Let ρ\rhoρ be a complex square matrix indexed by ι×κ\iota\times\kappaι×κ, viewed as an operator on a bipartite system whose first factor is ι\iotaι and second factor is κ\kappaκ. Assume ρ\rhoρ is a density matrix: it is positive semidefinite and Tr⁡ρ=1\operatorname{Tr}\rho = 1Trρ=1.

Two partial traces appear:

  • The reduced matrix on the first factor, an ι×ι\iota\times\iotaι×ι matrix:
ρA:=tr⁡κρ,(ρA)j,k=∑h∈κρ(j,h),(k,h).\rho_A := \operatorname{tr}_\kappa\rho,\qquad (\rho_A)_{j,k} = \sum_{h\in\kappa}\rho_{(j,h),(k,h)}.ρA​:=trκ​ρ,(ρA​)j,k​=h∈κ∑​ρ(j,h),(k,h)​.
  • The reduced matrix on the second factor, a κ×κ\kappa\times\kappaκ×κ matrix:
ρB:=tr⁡ιρ,(ρB)b,b′=∑a∈ιρ(a,b),(a,b′).\rho_B := \operatorname{tr}_\iota\rho,\qquad (\rho_B)_{b,b'} = \sum_{a\in\iota}\rho_{(a,b),(a,b')}.ρB​:=trι​ρ,(ρB​)b,b′​=a∈ι∑​ρ(a,b),(a,b′)​.

For any square matrix σ\sigmaσ, the von Neumann entropy is defined as

S(σ)=−Re⁡Tr⁡(f(σ)),f(x)=xlog⁡2x,S(\sigma) = -\operatorname{Re}\operatorname{Tr}\big(f(\sigma)\big),\qquad f(x) = x\log_2 x,S(σ)=−ReTr(f(σ)),f(x)=xlog2​x,

where f(σ)f(\sigma)f(σ) is the continuous functional calculus: fff is applied to the eigenvalues of the self-adjoint matrix σ\sigmaσ. At x=0x=0x=0 we have f(0)=0⋅log⁡20=0f(0)=0\cdot\log_2 0 = 0f(0)=0⋅log2​0=0, since the logarithm of 000 is taken to be 000. For non-self-adjoint input the functional calculus returns the junk value 000, but ρ\rhoρ, ρA\rho_AρA​ and ρB\rho_BρB​ are all Hermitian here.

The theorem asserts subadditivity:

S(ρ)  ≤  S(ρA)+S(ρB).S(\rho)\;\le\;S(\rho_A)+S(\rho_B).S(ρ)≤S(ρA​)+S(ρB​).

If ι\iotaι or κ\kappaκ is empty, then ρ\rhoρ is the empty matrix with trace 0≠10\neq 10=1. The hypothesis is then unsatisfiable, so only nonempty ι,κ\iota,\kappaι,κ matter.

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

    Confirmed by the moderator at approval.

  • Endorsed by Goku · Oct 13, 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