Mathlib theorem · Existing formal mathematics

Lean verification record

Checked Artifact: Classification of Pythagorean Triples (mathlib)

Proof Atlas collected build, no-sorry, axiom, and clean-source evidence directly from the pinned upstream declaration.

Verification result

The recorded Lean checks passed

  • Build replaypassed with retained transcript
  • Unfinished stepsNone found
  • Source identityPinned commit and file recorded
  • Dependency profileAxiom closure recorded

Reproducibility details

What the checker recorded

Declaration checked
PythagoreanTriple.classification
Module
Mathlib.NumberTheory.PythagoreanTriples
Source file checked
Mathlib/NumberTheory/PythagoreanTriples.lean
Package commit
5e932f97dd25535344f80f9dd8da3aab83df0fe6
Build transcript
passed · retained with this record
Unfinished proof steps
None found by the recorded no-sorry scan
Axiom closure
Classical.choice, Quot.sound, propext
Collection provenance
Clean source state recorded

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.

Evidence boundary

Exact formal statement only

This page indexes Mathlib's integer if-and-only-if classification of Pythagorean triples. Here PythagoreanTriple x y z is exactly x * x + y * y = z * z. The parameters k, m, and n are integers; the two leg formulas may be swapped, and z may be either k * (m ^ 2 + n ^ 2) or -k * (m ^ 2 + n ^ 2). The endpoint does not require a primitive or positive triple, does not require the parameters to be coprime or of opposite parity, and does not claim unique or canonical parameters. It is not the rational-unit-circle formulation.

This checker record does not establish novelty, transfer a historical acceptance decision, or authorize publication.