Existing in Mathlib · Combinatorics and convexity
Birkhoff–von Neumann Theorem
A finite square matrix with nonnegative entries and every row and column summing to one can be expressed as a weighted average of permutation matrices, and every such weighted average is doubly stochastic.
- doubly stochastic matrices
- permutation matrices
- convex hulls
- Hall’s theorem
- bipartite matchings
Exact theorem
Exact Mathlib statement
theorem doublyStochastic_eq_convexHull_permMatrix {R n : Type*} [Fintype n] [DecidableEq n] [Field R] [LinearOrder R] [IsStrictOrderedRing R] : doublyStochastic R n = convexHull R {σ.permMatrix R | σ : Equiv.Perm n}The theorem at a glance
Birkhoff–von Neumann Theorem at a glance
A visual guide to the theorem's hypotheses, structure, and conclusion; the exact statement gives the formal detail.
Birkhoff–von Neumann Theorem at a glance

Detailed visual description
The central matrix is connected to permutation-matrix vertices by explicit convex weights. A lower route follows the positive support through Hall’s theorem, subtraction of the minimum matched weight, and induction on support.
Statement structure
Statement and scope
Read the exact Mathlib declaration
This map summarizes the statement's structure; the exact Mathlib declaration remains authoritative.
Doubly stochastic matrices as convex blends

Detailed visual description
A correct three-by-three matrix example is carried through its positive support, a perfect matching, a support-decreasing subtraction, and an exact two-term permutation-matrix decomposition.
Why it matters
A mathematical landmark
The Birkhoff–von Neumann theorem connects matrix theory, convex geometry, and matching theory. Mathlib’s proof visibly reuses Hall’s theorem, already indexed by ProofAtlas, to peel permutation matrices from the positive support.
ProofAtlas record
What has been checked
Mathlib is the source of the theorem; the local Lean replay and page review are separate.
Claim boundary
No new theorem is claimed
This page indexes Mathlib’s finite square-matrix convex-hull identity over a linearly ordered field. It proves existence of convex decompositions into permutation matrices, not uniqueness, a canonical or minimal decomposition, an algorithmic complexity bound, an assignment-optimization theorem, or the separate majorization characterization. The extreme-point identity is a companion declaration, not the selected endpoint.
- ProofAtlas did not originate the Birkhoff–von Neumann theorem or Mathlib’s declaration.
- The selected endpoint is finite and square; it is not an infinite or rectangular extension.
- The theorem does not assert uniqueness or optimality of the convex decomposition.
- The generated explanation and visuals are not proof evidence.
Source and local evidence
Where the theorem comes from
- Existing declaration
doublyStochastic_eq_convexHull_permMatrixin mathlib- Relationship
- The checked artifact is the upstream declaration itself
- Local Lean evidence
artifact.library.mathlib.birkhoff-von-neumann-theorem.v001