FormalConjectures/Wikipedia/AgohGiuga.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
19 declarations, 12 contain sorry, 0 declared as axioms
Agoh-Giuga conjecture
Reference: Wikipedia
Imports (1)
Imported by 1 file
- def
AgohGiuga.AgohGiugaCongrThe Agoh-Giuga Conjecture, Agoh's formulation line 50 sourceSource documentation
The Agoh-Giuga Conjecture, Agoh's formulation. An integer
p ≥ 2is prime if and only if we havep*B_{p-1} ≡ -1 [MOD p]standard axioms: Classical.choice, Quot.sound, propext what this means
Proof uses:
Nat,GE.ge,OfNat.ofNat,Iff,Nat.Prime,Exists,Int,Rat,bernoulli',HSub.hSub,Eq,HAdd.hAdd,HMul.hMul,Rat.num,Rat.den,HPow.hPow14 instances, coercions and auxiliary constants left out.
def AgohGiugaCongr : Prop := …
- def
AgohGiuga.AgohGiugaSumThe Agoh-Giuga Conjecture, Giuga's formulation line 60 sourceSource documentation
The Agoh-Giuga Conjecture, Giuga's formulation. An integer
p ≥ 2is prime if and only if it satisfies the congruence∑_{i=1}^{p-1} i^{p-1} ≡ -1 [MOD p].standard axioms: Classical.choice, Quot.sound, propext what this means
Proof uses:
Nat,GE.ge,OfNat.ofNat,Iff,Nat.Prime,Dvd.dvd,HAdd.hAdd,Finset.sum,Finset.Ioo,HPow.hPow,HSub.hSub14 instances, coercions and auxiliary constants left out.
def AgohGiugaSum : Prop := ∀ p ≥ 2, p.Prime ↔ …
- theorem
AgohGiuga.agoh_giugaThe Agoh-Giuga Conjecture, Agoh's formulation sorry line 65 sourceSource documentation
The Agoh-Giuga Conjecture, Agoh's formulation
depends on sorry what this means
Statement uses: AgohGiuga.AgohGiugaCongr
Proof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem agoh_giuga : AgohGiugaCongr := by …
Mentions: AgohGiuga.AgohGiugaCongr
- theorem
AgohGiuga.agoh_giuga.variants.giugaThe Agoh-Giuga Conjecture, Giuga's formulation sorry line 70 sourceSource documentation
The Agoh-Giuga Conjecture, Giuga's formulation
depends on sorry what this means
Statement uses: AgohGiuga.AgohGiugaSum
Proof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem agoh_giuga.variants.giuga : AgohGiugaSum := by …
Mentions: AgohGiuga.AgohGiugaSum
- theorem
AgohGiuga.agoh_giuga.variants.equivalenceThe two statements of the conjecture are equivalent sorry line 75 sourceSource documentation
The two statements of the conjecture are equivalent.
depends on sorry what this means
Statement uses:
Iff, AgohGiuga.AgohGiugaCongr, AgohGiuga.AgohGiugaSumProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem agoh_giuga.variants.equivalence : AgohGiugaCongr ↔ AgohGiugaSum := by …
Mentions: AgohGiuga.AgohGiugaCongr, AgohGiuga.AgohGiugaSum
- def
AgohGiuga.IsWeakGiugaA (weak) Giuga number is a composite number $n$ such that $$\sum_{i=1}^{n - 1}i^{\varphi(n)} \equiv -1\pmod{n}$$ line 84 sourceSource documentation
A (weak) Giuga number is a composite number $n$ such that $$\sum_{i=1}^{n - 1}i^{\varphi(n)} \equiv -1\pmod{n}$$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
And, Nat.Composite,Dvd.dvd,HAdd.hAdd,OfNat.ofNat,Finset.sum,Finset.Ioo,HPow.hPow,Nat.totient11 instances, coercions and auxiliary constants left out.
def IsWeakGiuga (n : ℕ) : Prop := …
- def
AgohGiuga.IsStrongGiugaA (strong) Giuga number is a composite number $n$ such that $$\sum_{i=1}^{n - 1}i^{n - 1} \equiv -1\pmod{n}$$ line 92 sourceSource documentation
A (strong) Giuga number is a composite number $n$ such that $$\sum_{i=1}^{n - 1}i^{n - 1} \equiv -1\pmod{n}$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
And, Nat.Composite,Dvd.dvd,HAdd.hAdd,OfNat.ofNat,Finset.sum,Finset.Ioo,HPow.hPow,HSub.hSub13 instances, coercions and auxiliary constants left out.
def IsStrongGiuga (n : ℕ) : Prop := …
- theorem
AgohGiuga.isWeakGiuga_iff_prime_dvdsorry line 101 sourcedepends on sorry what this means
Statement uses:
Nat, Nat.Composite,Iff, AgohGiuga.IsWeakGiuga,Membership.mem,Finset,Nat.primeFactors,Dvd.dvd,HSub.hSub,HDiv.hDiv,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous16 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
AgohGiuga.isWeakGiuga_iff_sum_primeFactorsA composite number $n$ is weak Giuga if and only if $$ \sum_{p\mid n} \frac{1}{p} - \frac{1}{n} \in\mathbb{N}. $$ sorry line 112 sourceSource documentation
A composite number $n$ is weak Giuga if and only if $$ \sum_{p\mid n} \frac{1}{p} - \frac{1}{n} \in\mathbb{N}. $$
depends on sorry what this means
Statement uses:
Nat, Nat.Composite,Iff, AgohGiuga.IsWeakGiuga,Exists,Eq,Rat,HSub.hSub,Finset.sum,Nat.primeFactors,HDiv.hDiv,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous17 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem isWeakGiuga_iff_sum_primeFactors {n : ℕ} (hn : n.Composite) : IsWeakGiuga n ↔ ∃ m : ℕ, ∑ p ∈ n.primeFactors, (1 / p : ℚ) - 1 / n = m := by …Mentions: AgohGiuga.IsWeakGiuga
- theorem
AgohGiuga.squarefree_of_isCarmichaelA composite Carmichael number is squarefree line 118 sourceSource documentation
A composite Carmichael number is squarefree.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Nat.Composite, IsCarmichael,SquarefreeProof uses:
Eq.mpr,Nat.Prime,Not,Dvd.dvd,HMul.hMul,id,Eq,propext,Nat.squarefree_iff_prime_squarefree,False,And,LT.lt,OfNat.ofNat,LE.le,Nat.Coprime,HSub.hSub,HPow.hPow,absurd,HAdd.hAdd,Nat.le_add_leftand 57 more123 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
theorem squarefree_of_isCarmichael {a : ℕ} (ha₁ : a.Composite) (ha₂ : IsCarmichael a) : Squarefree a := by …Mentions: IsCarmichael
- theorem
AgohGiuga.korselts_criterionA composite numberais Carmichael if and only if it is squarefree and, for all primepdividinga, we havep - 1 ∣ a - 1line 134 sourceSource documentation
A composite number
ais Carmichael if and only if it is squarefree and, for all primepdividinga, we havep - 1 ∣ a - 1.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Nat.Composite,Iff, IsCarmichael,And,Squarefree,Nat.Prime,Dvd.dvd,HSub.hSub,OfNat.ofNatProof uses:
Iff.intro,And.intro, AgohGiuga.squarefree_of_isCarmichael,Fact,Fact.mk,Exists,Units,ZMod,Membership.mem,Subgroup,Subgroup.zpowers,IsCyclic.exists_generator,Eq,HMul.hMul,Nat.Coprime,Decidable.byContradiction,Not,False,Iff.mp,Classical.not_notand 102 more179 instances, coercions and auxiliary constants left out.
Tactic trace: 45 steps
Open to load the checked before-and-after goal states.
theorem korselts_criterion (a : ℕ) (ha₁ : a.Composite) : IsCarmichael a ↔ Squarefree a ∧ ∀ p, p.Prime → p ∣ a → (p - 1 : ℕ) ∣ (a - 1 : ℕ) := by …Mentions: IsCarmichael
- lemma
AgohGiuga.isCarmichael_561line 178 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: IsCarmichael,
OfNat.ofNat,NatProof uses: Nat.Composite,
id,And.intro,LT.lt,Not,Nat.Prime,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.false,Mathlib.Meta.NormNum.isNat_not_prime,Mathlib.Meta.NormNum.not_prime_mul_of_ble,Iff.mpr,And,Squarefree,Dvd.dvd,HSub.hSub, AgohGiuga.korselts_criterion,Eqand 30 more23 instances, coercions and auxiliary constants left out.
Tactic trace: 39 steps
Open to load the checked before-and-after goal states.
- theorem
AgohGiuga.isStrongGiuga_iffGiuga showed that a numbernis strong Giuga if and only if it is Carmichael and∑_{p|n} 1/p - 1/n ∈ ℕ(i.e., if and only if it is Carmichael and weak Giuga) sorry line 206 sourceSource documentation
Giuga showed that a number
nis strong Giuga if and only if it is Carmichael and∑_{p|n} 1/p - 1/n ∈ ℕ(i.e., if and only if it is Carmichael and weak Giuga). Ref: G. Giuga, Su una presumibile proprieta caratteristica dei numeri primidepends on sorry what this means
Statement uses:
Nat, Nat.Composite,Iff, AgohGiuga.IsStrongGiuga,And, IsCarmichael,Exists,Eq,Rat,HSub.hSub,Finset.sum,Nat.primeFactors,HDiv.hDiv,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous17 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem isStrongGiuga_iff {a : ℕ} (ha : a.Composite) : IsStrongGiuga a ↔ IsCarmichael a ∧ ∃ n : ℕ, ∑ p ∈ a.primeFactors, (1 / p : ℚ) - 1 / a = n := by …Mentions: AgohGiuga.IsStrongGiuga, IsCarmichael
- theorem
AgohGiuga.agoh_giuga.variants.isStrongGiuga_implies_isCarmichaelEvery strong Giuga number is a Carmichael number sorry line 214 sourceSource documentation
Every strong Giuga number is a Carmichael number.
depends on sorry what this means
Statement uses:
Nat, AgohGiuga.IsStrongGiuga, IsCarmichaelProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem agoh_giuga.variants.isStrongGiuga_implies_isCarmichael (a : ℕ) (ha : IsStrongGiuga a) : IsCarmichael a := by …Mentions: AgohGiuga.IsStrongGiuga, IsCarmichael
- theorem
AgohGiuga.agoh_giuga.variants.le_primeFactors_card_of_isStrongGiugaGiuga showed that a Giuga number has at least 9 prime factors sorry line 223 sourceSource documentation
Giuga showed that a Giuga number has at least 9 prime factors. Ref: G. Giuga, Su una presumibile proprieta caratteristica dei numeri primi
depends on sorry what this means
Statement uses:
Nat, AgohGiuga.IsStrongGiuga,LE.le,OfNat.ofNat,Finset.card,Nat.primeFactorsProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem agoh_giuga.variants.le_primeFactors_card_of_isStrongGiuga (a : ℕ) (ha : IsStrongGiuga a) : 9 ≤ a.primeFactors.card := by …Mentions: AgohGiuga.IsStrongGiuga
- theorem
AgohGiuga.agoh_giuga.variants._1000_le_digits_length_of_isStrongGiugaGiuga showed that a counterexample Giuga number has at least 1000 digits sorry line 232 sourceSource documentation
Giuga showed that a counterexample Giuga number has at least 1000 digits. Ref: G. Giuga, Su una presumibile proprieta caratteristica dei numeri primi
depends on sorry what this means
Statement uses:
Nat, AgohGiuga.IsStrongGiuga,LE.le,OfNat.ofNat,List.length,Nat.digitsProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem agoh_giuga.variants._1000_le_digits_length_of_isStrongGiuga (a : ℕ) (ha : IsStrongGiuga a) : 1000 ≤ (Nat.digits 10 a).length := by …Mentions: AgohGiuga.IsStrongGiuga
- theorem
AgohGiuga.agoh_giuga.variants._1700_le_digits_length_of_isStrongGiugaBedocchi showed that any Giuga number has at least 1700 digits sorry line 241 sourceSource documentation
Bedocchi showed that any Giuga number has at least 1700 digits. Ref: E. Bedocchi, Note on a conjecture about prime numbers
depends on sorry what this means
Statement uses:
Nat, AgohGiuga.IsStrongGiuga,GT.gt,List.length,Nat.digits,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem agoh_giuga.variants._1700_le_digits_length_of_isStrongGiuga (a : ℕ) (ha : IsStrongGiuga a) : (Nat.digits 10 a).length > 1700 := by …Mentions: AgohGiuga.IsStrongGiuga
- theorem
AgohGiuga.agoh_giuga.variants._13000_le_digits_length_of_isStrongGiugaBorwein, Borwein, Borwein and Girgensohn showed that any strong Giuga number has at least 13000 digits sorry line 252 sourceSource documentation
Borwein, Borwein, Borwein and Girgensohn showed that any strong Giuga number has at least 13000 digits. Ref: D. Borwein, J. M. Borwein, P. B. Borwein, and R. Girgensohn, Giuga’s conjecture on primality
depends on sorry what this means
Statement uses:
Nat, AgohGiuga.IsStrongGiuga,LE.le,OfNat.ofNat,List.length,Nat.digitsProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem agoh_giuga.variants._13000_le_digits_length_of_isStrongGiuga (a : ℕ) (ha : IsStrongGiuga a) : 13000 ≤ (Nat.digits 10 a).length := by …Mentions: AgohGiuga.IsStrongGiuga
- theorem
AgohGiuga.agoh_giuga.variants.isStrongGiuga_growthLetG(X)denote the number of exceptionsn ≤ Xto Giuga’s conjecture sorry line 264 sourceSource documentation
Let
G(X)denote the number of exceptionsn ≤ Xto Giuga’s conjecture. Then forXlarger than an absolute constant which can be made explicit,G(X) ≪ X^{1/2} log X. Ref: Vicentiu Tipu, A Note on Giuga’s Conjecturedepends on sorry what this means
Statement uses:
Nat,Eq,Finset.card,Finset.filter, AgohGiuga.IsStrongGiuga,Classical.propDecidable,Finset.Icc,OfNat.ofNat,Exists,Real,GE.ge,LE.le,HMul.hMul,Real.sqrt,Real.logProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous18 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem agoh_giuga.variants.isStrongGiuga_growth (G : ℕ → ℕ) (hG : G = fun x => Finset.Icc 1 x |>.filter IsStrongGiuga |>.card) : ∃ N O, ∀ n ≥ N, G n ≤ O * (n : ℝ).sqrt * (n : ℝ).log := by …Mentions: AgohGiuga.IsStrongGiuga