FormalConjectures/OEIS/100800.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
10 declarations, 1 contain sorry, 0 declared as axioms
Conjectures associated with A100800
Let $f(n) = n + \text{sum of the digits of } n$. If $f(n)$ is multiple of $n$ then $a(n)= f(n)$ else $a(n) = f(f(f(n)))\dots$ until one gets a multiple of $n$; $a(n) = 0$ if no such number exists.
References:
Imports (1)
- def
OeisA100800.sumDigitsThe sum of the decimal digits of a natural number line 38 sourceSource documentation
The sum of the decimal digits of a natural number.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
List.sum,Nat.digits,OfNat.ofNat4 instances, coercions and auxiliary constants left out.
def sumDigits (n : ℕ) : ℕ := ((10).digits n).sum
- def
OeisA100800.fThe function $f(n) = n + \text{sum of the digits of } n$ line 41 sourceSource documentation
The function $f(n) = n + \text{sum of the digits of } n$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
HAdd.hAdd, OeisA100800.sumDigits2 instances, coercions and auxiliary constants left out.
def f (n : ℕ) : ℕ := n + sumDigits n …
Mentions: OeisA100800.sumDigits
- def
OeisA100800.aa n is the first iteration of $f(n) = n + \text{sum of the digits of } n$ that is a multiple of $n$ line 48 sourceSource documentation
a n is the first iteration of $f(n) = n + \text{sum of the digits of } n$ that is a multiple of $n$. $a(n) = 0$ if no such number exists.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Dvd.dvd,Nat.iterate, OeisA100800.f,HAdd.hAdd,OfNat.ofNat,dite,Exists,Classical.propDecidable,Nat.find,Not5 instances, coercions and auxiliary constants left out.
noncomputable def a (n : ℕ) : ℕ := …
- lemma
OeisA100800.a_of_dvdIfnalready dividesf n, the search stops immediately anda n = f nline 63 sourceSource documentation
If
nalready dividesf n, the search stops immediately anda n = f n.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Dvd.dvd, OeisA100800.f,Eq, OeisA100800.aProof uses:
Exists,Nat.iterate,HAdd.hAdd,OfNat.ofNat,Exists.intro,Eq.mpr,id,congrArg,Eq.trans,congrFun',zero_add,congrFun,Function.iterate_one,Nat.find,Iff.mpr,Nat.find_eq_zero,dite,Classical.propDecidable,Not,OeisA100800.a.eq_1and 4 more8 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma a_of_dvd {n : ℕ} (h : n ∣ f n) : a n = f n := by …Mentions: OeisA100800.f, OeisA100800.a
- theorem
OeisA100800.a_1Term theorems verifying the first few values of the sequence against the official OEIS b-file line 71 sourceSource documentation
Term theorems verifying the first few values of the sequence against the official OEIS b-file
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA100800.a,OfNat.ofNatProof uses:
Eq.mpr, OeisA100800.f,id,congrArg, OeisA100800.a_of_dvd,of_eq_true,Dvd.dvd,Eq.trans,True,IsUnit,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_one,Units,eq_true,Mathlib.Meta.NormNum.isNat_eq_true,Eq.refl,True.intro,congrFun',HAdd.hAddand 21 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
theorem a_1 : a 1 = 2 := by rw [a_of_dvd (by norm_num)]; norm_num [f, sumDigits] …
Mentions: OeisA100800.a, OeisA100800.a_of_dvd, OeisA100800.f, OeisA100800.sumDigits
- theorem
OeisA100800.a_2line 74 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA100800.a,OfNat.ofNatProof uses:
Eq.mpr, OeisA100800.f,id,congrArg, OeisA100800.a_of_dvd,of_eq_true,Dvd.dvd,Eq.trans,True,HAdd.hAdd, OeisA100800.sumDigits,List.sum,Nat.digits,List.cons,List.nil,List,HMod.hMod,HDiv.hDiv,Nat.digits_of_two_le_of_pos,Mathlib.Meta.NormNum.isNat_le_trueand 18 more24 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA100800.a_3line 77 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA100800.a,OfNat.ofNatProof uses:
Eq.mpr, OeisA100800.f,id,congrArg, OeisA100800.a_of_dvd,of_eq_true,Dvd.dvd,Eq.trans,True,HAdd.hAdd, OeisA100800.sumDigits,List.sum,Nat.digits,List.cons,List.nil,List,HMod.hMod,HDiv.hDiv,Nat.digits_of_two_le_of_pos,Mathlib.Meta.NormNum.isNat_le_trueand 18 more24 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA100800.a_4line 80 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA100800.a,OfNat.ofNatProof uses:
Eq.mpr, OeisA100800.f,id,congrArg, OeisA100800.a_of_dvd,of_eq_true,Dvd.dvd,Eq.trans,True,HAdd.hAdd, OeisA100800.sumDigits,List.sum,Nat.digits,List.cons,List.nil,List,HMod.hMod,HDiv.hDiv,Nat.digits_of_two_le_of_pos,Mathlib.Meta.NormNum.isNat_le_trueand 18 more24 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA100800.a_5line 83 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA100800.a,OfNat.ofNatProof uses:
Eq.mpr, OeisA100800.f,id,congrArg, OeisA100800.a_of_dvd,of_eq_true,Dvd.dvd,Eq.trans,True,HAdd.hAdd, OeisA100800.sumDigits,List.sum,Nat.digits,List.cons,List.nil,List,HMod.hMod,HDiv.hDiv,Nat.digits_of_two_le_of_pos,Mathlib.Meta.NormNum.isNat_le_trueand 18 more24 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
OeisA100800.conjectureA100800 Conjecture: No term is zero sorry line 87 sourceSource documentation
A100800 Conjecture: No term is zero.
depends on sorry what this means
Statement uses:
Nat,Ne,OfNat.ofNat, OeisA100800.aProof 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 conjecture : ∀ (n : ℕ), n ≠ 0 → a n ≠ 0 := by …
Mentions: OeisA100800.a