FormalConjectures/Wikipedia/CongruentNumber.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1
14 declarations, 5 contain sorry, 0 declared as axioms
Congruent Number
A natural number $n$ is called a congruent number if there exists a right triangle with rational sides $a$, $b$, and hypotenuse $c$ such that the area of the triangle is $\frac{1}{2}ab = n$.
References:
Imports (1)
Imported by 1 file
- def
CongruentNumber.congruentNumberline 36 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Exists,Rat,And,Eq,HAdd.hAdd,HPow.hPow,OfNat.ofNat,HMul.hMul,Inv.inv13 instances, coercions and auxiliary constants left out.
- theorem
CongruentNumber.not_congruentNumber_11 is not a congruent number, as proved by Fermat via infinite descent sorry line 41 sourceSource documentation
1 is not a congruent number, as proved by Fermat via infinite descent.
depends on sorry what this means
Statement uses:
Not, CongruentNumber.congruentNumber,OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem not_congruentNumber_1 : ¬ congruentNumber 1 := by …
Mentions: CongruentNumber.congruentNumber
- theorem
CongruentNumber.congruentNumber_5The rational right triangle with side lengths $\frac{3}{2}$, $\frac{20}{3}$, and $\frac{41}{6}$ witnesses that $5$ is a congruent number line 49 sourceSource documentation
The rational right triangle with side lengths $\frac{3}{2}$, $\frac{20}{3}$, and $\frac{41}{6}$ witnesses that $5$ is a congruent number.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: CongruentNumber.congruentNumber,
OfNat.ofNat,NatProof uses:
Exists.intro,Rat,Exists,And,Eq,HAdd.hAdd,HPow.hPow,HMul.hMul,Inv.inv,HDiv.hDiv,of_eq_true,Eq.trans,True,congr,congrArg,eq_true,Mathlib.Meta.NormNum.isNNRat_eq_true,Mathlib.Meta.NormNum.isNNRat_add,Eq.refl,Mathlib.Meta.NormNum.isNNRat_powand 13 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem congruentNumber_5 : congruentNumber 5 := by …
Mentions: CongruentNumber.congruentNumber
- theorem
CongruentNumber.congruentNumber_6The $3$-$4$-$5$ right triangle witnesses that $6$ is a congruent number line 57 sourceSource documentation
The $3$-$4$-$5$ right triangle witnesses that $6$ is a congruent number.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: CongruentNumber.congruentNumber,
OfNat.ofNat,NatProof uses:
Exists.intro,Rat,Exists,And,Eq,HAdd.hAdd,HPow.hPow,HMul.hMul,Inv.inv,of_eq_true,Eq.trans,True,congr,congrArg,eq_true,Mathlib.Meta.NormNum.isNat_eq_true,Mathlib.Meta.NormNum.isNat_add,Eq.refl,Mathlib.Meta.NormNum.isNat_pow,Mathlib.Meta.NormNum.isNat_ofNatand 10 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem congruentNumber_6 : congruentNumber 6 := by …
Mentions: CongruentNumber.congruentNumber
- theorem
CongruentNumber.congruentNumber_7The rational right triangle with side lengths $\frac{35}{12}$, $\frac{24}{5}$, and $\frac{337}{60}$ witnesses that $7$ is a congruent number line 66 sourceSource documentation
The rational right triangle with side lengths $\frac{35}{12}$, $\frac{24}{5}$, and $\frac{337}{60}$ witnesses that $7$ is a congruent number.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: CongruentNumber.congruentNumber,
OfNat.ofNat,NatProof uses:
Exists.intro,Rat,Exists,And,Eq,HAdd.hAdd,HPow.hPow,HMul.hMul,Inv.inv,HDiv.hDiv,of_eq_true,Eq.trans,True,congr,congrArg,eq_true,Mathlib.Meta.NormNum.isNNRat_eq_true,Mathlib.Meta.NormNum.isNNRat_add,Eq.refl,Mathlib.Meta.NormNum.isNNRat_powand 13 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem congruentNumber_7 : congruentNumber 7 := by …
Mentions: CongruentNumber.congruentNumber
- theorem
CongruentNumber.congruentNumber_157_zagierZagier's rational right triangle witnesses that $157$ is a congruent number line 74 sourceSource documentation
Zagier's rational right triangle witnesses that $157$ is a congruent number.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: CongruentNumber.congruentNumber,
OfNat.ofNat,NatProof uses:
Exists.intro,Rat,Exists,And,Eq,HAdd.hAdd,HPow.hPow,HMul.hMul,Inv.inv,HDiv.hDiv,of_eq_true,Eq.trans,True,congr,congrArg,eq_true,Mathlib.Meta.NormNum.isNNRat_eq_true,Mathlib.Meta.NormNum.isNNRat_add,Eq.refl,Mathlib.Meta.NormNum.isNNRat_powand 13 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem congruentNumber_157_zagier : congruentNumber 157 := by …
Mentions: CongruentNumber.congruentNumber
- def
CongruentNumber.Aline 95 sourcestandard axioms: propext what this means
Statement uses:
Nat,Set,Prod,IntProof uses:
Set.ofPred,CongruentNumber.A.match_1,Eq,HAdd.hAdd,HMul.hMul,OfNat.ofNat,HPow.hPow12 instances, coercions and auxiliary constants left out.
- def
CongruentNumber.Bline 96 sourcestandard axioms: propext what this means
Statement uses:
Nat,Set,Prod,IntProof uses:
Set.ofPred,CongruentNumber.A.match_1,Eq,HAdd.hAdd,HMul.hMul,OfNat.ofNat,HPow.hPow12 instances, coercions and auxiliary constants left out.
- def
CongruentNumber.Cline 97 sourcestandard axioms: propext what this means
Statement uses:
Nat,Set,Prod,IntProof uses:
Set.ofPred,CongruentNumber.A.match_1,Eq,HAdd.hAdd,HMul.hMul,OfNat.ofNat,HPow.hPow12 instances, coercions and auxiliary constants left out.
- def
CongruentNumber.Dline 98 sourcestandard axioms: propext what this means
Statement uses:
Nat,Set,Prod,IntProof uses:
Set.ofPred,CongruentNumber.A.match_1,Eq,HAdd.hAdd,HMul.hMul,OfNat.ofNat,HPow.hPow12 instances, coercions and auxiliary constants left out.
- theorem
CongruentNumber.Tunnell_oddTunnell's theorem (necessary condition) for odd squarefree congruent numbers sorry line 104 sourceSource documentation
Tunnell's theorem (necessary condition) for odd squarefree congruent numbers.
depends on sorry what this means
Statement uses:
Nat,Squarefree,Odd, CongruentNumber.congruentNumber,Eq,HMul.hMul,OfNat.ofNat,Set.ncard,Prod,Int, CongruentNumber.A, CongruentNumber.BProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem Tunnell_odd (n : ℕ) (hsqf : Squarefree n) (hodd : Odd n) : congruentNumber n → 2 * (A n).ncard = (B n).ncard := by …Mentions: CongruentNumber.congruentNumber, CongruentNumber.A, CongruentNumber.B
- theorem
CongruentNumber.Tunnell_evenTunnell's theorem (necessary condition) for even squarefree congruent numbers sorry line 110 sourceSource documentation
Tunnell's theorem (necessary condition) for even squarefree congruent numbers.
depends on sorry what this means
Statement uses:
Nat,Squarefree,Even, CongruentNumber.congruentNumber,Eq,HMul.hMul,OfNat.ofNat,Set.ncard,Prod,Int, CongruentNumber.C, CongruentNumber.DProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem Tunnell_even (n : ℕ) (hsqf : Squarefree n) (heven : Even n) : congruentNumber n → 2 * (C n).ncard = (D n).ncard := by …Mentions: CongruentNumber.congruentNumber, CongruentNumber.C, CongruentNumber.D
- theorem
CongruentNumber.Tunnell_odd_converseTunnell's theorem (sufficient condition assuming BSD) for odd squarefree congruent numbers sorry line 118 sourceSource documentation
Tunnell's theorem (sufficient condition assuming BSD) for odd squarefree congruent numbers.
depends on sorry what this means
Statement uses:
Nat,Squarefree,Odd,Eq,HMul.hMul,OfNat.ofNat,Set.ncard,Prod,Int, CongruentNumber.A, CongruentNumber.B, CongruentNumber.congruentNumberProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem Tunnell_odd_converse (n : ℕ) (hsqf : Squarefree n) (hodd : Odd n) : 2 * (A n).ncard = (B n).ncard → congruentNumber n := by …Mentions: CongruentNumber.A, CongruentNumber.B, CongruentNumber.congruentNumber
- theorem
CongruentNumber.Tunnell_even_converseTunnell's theorem (sufficient condition assuming BSD) for even squarefree congruent numbers sorry line 124 sourceSource documentation
Tunnell's theorem (sufficient condition assuming BSD) for even squarefree congruent numbers.
depends on sorry what this means
Statement uses:
Nat,Squarefree,Even,Eq,HMul.hMul,OfNat.ofNat,Set.ncard,Prod,Int, CongruentNumber.C, CongruentNumber.D, CongruentNumber.congruentNumberProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem Tunnell_even_converse (n : ℕ) (hsqf : Squarefree n) (heven : Even n) : 2 * (C n).ncard = (D n).ncard → congruentNumber n := by …Mentions: CongruentNumber.C, CongruentNumber.D, CongruentNumber.congruentNumber