FormalConjectures/OEIS/358684.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
13 declarations, 1 contain sorry, 0 declared as axioms
Factor bounds for Fermat numbers
$a(n)$ is the minimum integer $k$ such that the smallest prime factor of the $n$-th Fermat number exceeds $2^{2^n - k}$.
References:
- def
OeisA358684.aA358684: $a(n)$ is the minimum integer $k$ such that the smallest prime factor of the $n$-th Fermat number exceeds $2^{2^n - k}$ line 49 sourceSource documentation
A358684: $a(n)$ is the minimum integer $k$ such that the smallest prime factor of the $n$-th Fermat number exceeds $2^{2^n - k}$. Let $F_n = 2^{2^n} + 1$ be the $n$-th Fermat number, and $P_n$ be its smallest prime factor. The definition of $a(n)$ is equivalent to the closed form: $$a(n) = 2^n - \lfloor \log_2(P_n) \rfloor$$ where $P_n = \operatorname{minFac}(\operatorname{fermatNumber} n)$. The subtraction is defined in $\mathbb{N}$ and is safe since $P_n \le F_n$, implying $\log_2 P_n < 2^n$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
HSub.hSub,HPow.hPow,OfNat.ofNat,Nat.log2,Nat.minFac,Nat.fermatNumber7 instances, coercions and auxiliary constants left out.
def a (n : ℕ) : ℕ := …
- def
OeisA358684.a'The "original" definition: $a'(n)$ is the minimum $k$ such that $P_n > 2^{2^n - k}$ line 57 sourceSource documentation
The "original" definition: $a'(n)$ is the minimum $k$ such that $P_n > 2^{2^n - k}$. We use
Nat.findwhich returns the smallest natural number satisfying a predicate.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Nat.find,GT.gt,Nat.minFac,Nat.fermatNumber,HPow.hPow,OfNat.ofNat,HSub.hSub10 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
noncomputable def a' (n : ℕ) : ℕ := …
- lemma
OeisA358684.log2_minFac_leThe log2 of the smallest prime factor of $F_n$ is at most $2^n$ line 72 sourceSource documentation
The log2 of the smallest prime factor of $F_n$ is at most $2^n$.
private lemma log2_minFac_le (n : ℕ) : log2 (fermatNumber n).minFac ≤ 2^n := by …
- theorem
OeisA358684.a_equiv_a'The minimization definition is equivalent to the closed form line 84 sourceSource documentation
The minimization definition is equivalent to the closed form.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, OeisA358684.a, OeisA358684.a'Proof uses:
id,HSub.hSub,HPow.hPow,OfNat.ofNat,Nat.log2,Nat.minFac,Nat.fermatNumber,Eq.mpr,Nat.find,GT.gt,congrArg,propext,Eq.comm,And,LT.lt,Not,Nat.find_eq_iff,And.intro,tsub_tsub_cancel_of_le,HAdd.hAddand 55 more66 instances, coercions and auxiliary constants left out.
Tactic trace: 30 steps
Open to load the checked before-and-after goal states.
theorem a_equiv_a' (n : ℕ) : a n = a' n := by …
Mentions: OeisA358684.a, OeisA358684.a'
- theorem
OeisA358684.a_0line 107 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA358684.a,OfNat.ofNatProof uses:
Eq.mpr,HSub.hSub,Nat.log2,id,congrFun',congrArg,congr,HPow.hPow,Nat.minFac,Nat.fermatNumber,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_pow,Eq.refl,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.natPow_zero,Nat.Prime.minFac_eq,Mathlib.Meta.NormNum.isNat_prime_2,Bool,Bool.true,Mathlib.Meta.NormNum.isNat_minFac_4and 17 more34 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA358684.a_1line 110 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA358684.a,OfNat.ofNatProof uses:
Eq.mpr,HSub.hSub,Nat.log2,id,congrFun',congrArg,congr,HPow.hPow,Nat.minFac,Nat.fermatNumber,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_pow,Eq.refl,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.natPow_one,Nat.Prime.minFac_eq,Mathlib.Meta.NormNum.isNat_prime_2,Bool,Bool.true,Mathlib.Meta.NormNum.isNat_minFac_4and 19 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA358684.a_2line 113 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA358684.a,OfNat.ofNatProof uses:
Eq.mpr,HSub.hSub,Nat.log2,id,congrFun',congrArg,congr,HPow.hPow,Nat.minFac,Nat.fermatNumber,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_pow,Eq.refl,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.IsNatPowT.run,Mathlib.Meta.NormNum.IsNatPowT.bit0,Nat.Prime.minFac_eq,Mathlib.Meta.NormNum.isNat_prime_2,Bool,Bool.trueand 21 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA358684.a_3line 116 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA358684.a,OfNat.ofNatProof uses:
id,HSub.hSub,HPow.hPow,Nat.log2,Nat.minFac,Nat.fermatNumber,Eq.mpr,HAdd.hAdd,congrFun',congrArg,congr,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_pow,Eq.refl,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.IsNatPowT.run,Mathlib.Meta.NormNum.IsNatPowT.bit1,Mathlib.Meta.NormNum.isNat_minFac_4,Mathlib.Meta.NormNum.isNat_add,Mathlib.Meta.NormNum.IsNatPowT.transand 11 more16 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA358684.a_4line 122 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA358684.a,OfNat.ofNatProof uses:
id,HSub.hSub,HPow.hPow,Nat.log2,Nat.minFac,Nat.fermatNumber,Eq.mpr,HAdd.hAdd,congrFun',congrArg,congr,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_pow,Eq.refl,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.IsNatPowT.run,Mathlib.Meta.NormNum.IsNatPowT.trans,Nat.pow,Mathlib.Meta.NormNum.IsNatPowT.bit0,Mathlib.Meta.NormNum.isNat_minFac_4and 10 more16 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA358684.a_5line 128 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA358684.a,OfNat.ofNatProof uses:
id,HSub.hSub,HPow.hPow,Nat.log2,Nat.minFac,Nat.fermatNumber,Eq.mpr,HAdd.hAdd,congrFun',congrArg,congr,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_pow,Eq.refl,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.IsNatPowT.run,Mathlib.Meta.NormNum.IsNatPowT.trans,Nat.pow,Mathlib.Meta.NormNum.IsNatPowT.bit0,Mathlib.Meta.NormNum.IsNatPowT.bit1and 11 more16 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA358684.a_6line 134 sourceextra axioms: _private.0.OeisA358684.a_6._native.decide.ax_1 what this means
Statement uses:
Eq,Nat, OeisA358684.a,OfNat.ofNatProof uses:
of_decide_eq_true4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA358684.a_7sorry line 138 sourcedepends on sorry what this means
Statement uses:
Eq,Nat, OeisA358684.a,OfNat.ofNatProof 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
OeisA358684.oeis_358684_conjecture_0Conjecture: the dyadic valuation of A93179(n) - 1 does not exceed 2^n - a(n) line 152 sourceSource documentation
Conjecture: the dyadic valuation of A93179(n) - 1 does not exceed 2^n - a(n).
A93179(n) is minFac(fermatNumber n), the smallest prime factor of the n-th Fermat number. The conjecture states that if $P_n$ is the smallest prime factor of the $n$-th Fermat number, then $\nu_2(P_n - 1) \le 2^n - a(n)$. Substituting the definition of $a(n)$, this is equivalent to $\nu_2(P_n - 1) \le \lfloor \log_2(P_n) \rfloor$.
This is Conjecture 3.4 in [SA22].
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,padicValNat,OfNat.ofNat,HSub.hSub,Nat.minFac,Nat.fermatNumber,HPow.hPow, OeisA358684.aProof uses:
id,Eq.mpr,HAdd.hAdd,Nat.log2,Eq,congrArg,Nat.sub_sub_self,Nat.log,Nat.log2_eq_log_two,LT.lt,of_eq_true,Eq.trans,True,HMul.hMul,pow_add,pow_one,mul_two,Not,False,Andand 33 more66 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
theorem oeis_358684_conjecture_0 (n : ℕ) : padicValNat 2 (minFac (fermatNumber n) - 1) ≤ 2 ^ n - a n := by …Mentions: OeisA358684.a