Combinatorics and number theory · existing Mathlib declaration
Erdős–Ginzburg–Ziv Theorem
Assign a residue modulo n to every index in a finite set. If there are at least 2n−1 indices, then some n distinct indices carry values whose sum is zero modulo n. Different indices may carry the same residue.
- zero-sum subsequences
- cyclic groups
- indexed finite families
- Chevalley–Warning
- prime-composite induction
The theorem at a glance
Erdős–Ginzburg–Ziv Theorem at a glance
A source-bound editorial overview of the exact Mathlib formulation. The image is explanatory; the statement map, formal type, and pinned source remain authoritative.
Erdős–Ginzburg–Ziv Theorem at a glance

Detailed visual description
The poster places the exact lower-bound hypothesis, indexed selection, and ZMod n conclusion above a count-exact seven-ticket example. A source-anchored route ribbon names Chevalley–Warning for the prime case and disjoint-block factor induction for the composite case; the footer retains the at-least, n=0, uniqueness, and algorithm boundaries.
Formal orientation
Statement map
This deterministic map orients the reader from the mathematical summary to the pinned declaration and exact checked form. The HTML statement below is authoritative.
Erdős–Ginzburg–Ziv Theorem — scientific diagram

Detailed visual description
This page indexes Mathlib’s finite indexed-family theorem in ZMod n. The hypothesis is 2*n−1 ≤ |s|, and the conclusion selects a subset t of exactly n distinct indices whose indexed values sum to zero. Values at different indices may repeat. The statement includes n=0 through the empty selection; it does not require exactly 2n−1 input indices, assert uniqueness, count witnesses, or provide an extraction algorithm.
Complementary intuition
A mathematical landmark
The Erdős–Ginzburg–Ziv theorem is a foundational zero-sum selection principle. Mathlib’s route also exposes a striking proof architecture: Chevalley–Warning supplies the prime case, while induction over prime and composite factors assembles disjoint zero-sum blocks for general n.
The low-text schematic gives the theorem a visual identity; it does not replace the source-bound poster or exact statement.
Authoritative formal type
Exact Mathlib statement
theorem ZMod.erdos_ginzburg_ziv {ι : Type*} {n : ℕ} {s : Finset ι} (a : ι → ZMod n) (hs : 2 * n - 1 ≤ #s) : ∃ t ⊆ s, #t = n ∧ ∑ i ∈ t, a i = 0Selected evidence declaration text
theorem ZMod.erdos_ginzburg_ziv {ι : Type*} {n : ℕ} {s : Finset ι} (a : ι → ZMod n) (hs : 2 * n - 1 ≤ #s) : ∃ t ⊆ s, #t = n ∧ ∑ i ∈ t, a i = 0ProofAtlas record
What has been checked
These states distinguish upstream identity, local reproduction, review, and Atlas acceptance. This page is part of the public, read-only Mathlib landmark collection.
Claim boundary
No new theorem is claimed
This page indexes Mathlib’s finite indexed-family theorem in ZMod n. The hypothesis is 2*n−1 ≤ |s|, and the conclusion selects a subset t of exactly n distinct indices whose indexed values sum to zero. Values at different indices may repeat. The statement includes n=0 through the empty selection; it does not require exactly 2n−1 input indices, assert uniqueness, count witnesses, or provide an extraction algorithm.
- Proof Atlas did not originate the Erdős–Ginzburg–Ziv theorem or Mathlib’s declaration.
- The selected declaration is an indexed-family statement; it does not require the residue values themselves to be distinct.
- The hypothesis is a lower bound on the number of indices, not an exact-length requirement.
- The declaration does not assert uniqueness, count valid selections, or supply an extraction algorithm.
- The generated explanation and visuals are not proof evidence.
Provenance
Origin and evidence stay separate
- Existing declaration
ZMod.erdos_ginzburg_zivin mathlib- Relationship
- The checked artifact is the upstream declaration itself
- Preferred checked artifact
artifact.library.mathlib.erdos-ginzburg-ziv-theorem.v001- Source handling
- Verified upstream reference; no mirrored source package