Mathlib theorem · Existing formal mathematics

Existing in Mathlib · Number theory

Fundamental Theorem of Arithmetic

Prime factors are unique apart from their order: if a list contains only primes and multiplies to n, it contains exactly the same prime factors, with the same multiplicities, as n.primeFactorsList.

Exact theorem

Exact Mathlib statement

theorem Nat.primeFactorsList_unique {n : ℕ} {l : List ℕ} (h₁ : l.prod = n) (h₂ : ∀ p ∈ l, Nat.Prime p) : l.Perm n.primeFactorsList

The theorem at a glance

Fundamental Theorem of Arithmetic — exact Mathlib form

A visual guide to the theorem's hypotheses, structure, and conclusion; the exact statement gives the formal detail.

Mathlib's selected declaration gives the uniqueness of prime-factor lists up to permutation. Explanatory diagram.
Detailed visual description

The retained poster presents the exact hypotheses, permutation conclusion, reading sequence, and boundary of Nat.primeFactorsList_unique without adding a factorization algorithm or ordered-list claim.

Statement structure

From hypotheses to conclusion

Statement map for Fundamental Theorem of ArithmeticAny finite list of primes whose product is n is a permutation of Mathlib's canonical prime-factor list for n. The pinned upstream declaration is Nat.primeFactorsList_unique. The exact checked statement is theorem Nat.primeFactorsList_unique {n : ℕ} {l : List ℕ} (h₁ : l.prod = n) (h₂ : ∀ p ∈ l, Nat.Prime p) : l.Perm n.primeFactorsList.Mathematical readingAny finite list ofprimes whose product isn is a permutation ofMathlib's canonicalprime-factor list for n.Pinned declarationmathlib ·Nat.primeFactorsList_uniqueExact checked formtheoremNat.primeFactorsList_unique{n : ℕ} {l : List ℕ} (h₁: l.prod = n) (h₂ : ∀ p∈ l, Nat.Prime p) :l.Permn.primeFactorsListStatement map for Fundamental Theorem of ArithmeticAny finite list of primes whose product is n is a permutation of Mathlib's canonical prime-factor list for n. The pinned upstream declaration is Nat.primeFactorsList_unique. The exact checked statement is theorem Nat.primeFactorsList_unique {n : ℕ} {l : List ℕ} (h₁ : l.prod = n) (h₂ : ∀ p ∈ l, Nat.Prime p) : l.Perm n.primeFactorsList.Mathematical readingAny finite list ofprimes whose product isn is a permutation ofMathlib's canonicalprime-factor list for n.Pinned declarationmathlib ·Nat.primeFactorsList_uniqueExact checked formtheoremNat.primeFactorsList_unique{n : ℕ} {l : List ℕ} (h₁: l.prod = n) (h₂ : ∀ p∈ l, Nat.Prime p) :l.Permn.primeFactorsList

This map summarizes the statement's structure; the exact Mathlib declaration remains authoritative.

A prime list with product n has the same entries, including multiplicity, as n.primeFactorsList; only their order may differ. Explanatory scientific diagram.
Detailed visual description

The theorem compares any finite all-prime list with the canonical prime-factor list after establishing that both multiply to the same natural number.

Why it matters

A mathematical landmark

Unique prime factorization is the organizing principle behind elementary arithmetic and much of number theory. This declaration isolates its uniqueness half in an exact finite-list form.

ProofAtlas record

What has been checked

Upstream indexedPinned source bytes verified locally
Locally reproducedExact upstream declaration replayed
Reviewed pageCurrent public presentation reviewed
Accepted Atlas resultNot recorded for the preferred artifact

Mathlib is the source of the theorem; the local Lean replay and page review are separate.

Claim boundary

No new theorem is claimed

This target indexes Mathlib's uniqueness theorem for prime-factor lists: any list of primes with product n is a permutation of n.primeFactorsList. It does not claim an ordered factorization, a factorization algorithm, a new proof, or a new mathematical result.

Source and local evidence

Where the theorem comes from

Existing declaration
Nat.primeFactorsList_unique in mathlib
Relationship
The checked artifact is the upstream declaration itself
Local Lean evidence
artifact.library.mathlib.fundamental-theorem-arithmetic.v001
Source
Open the pinned upstream reference