FormalConjectures/OEIS/37274.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
Home primes (OEIS A037274)
Starting from an integer $n\geq 2$, list its prime factors in nondecreasing order with multiplicity, concatenate their decimal representations, and repeat. The home-prime conjecture says that this process always reaches a prime.
For example,
$$25 \longmapsto 55 \longmapsto 511 \longmapsto 773.$$
References:
- OEIS A037274
- M. Herman and J. Schiffman, Investigating home primes and their families, Mathematics Teacher 107 (2014), 606–614
Imports (1)
- def
OeisA37274.decimalDigitCountThe number of decimal digits of a natural number, counting zero as one digit line 42 sourceSource documentation
The number of decimal digits of a natural number, counting zero as one digit.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
ite,Eq,OfNat.ofNat,List.length,Nat.digits2 instances, coercions and auxiliary constants left out.
def decimalDigitCount (n : ℕ) : ℕ := …
- def
OeisA37274.decimalAppendAppend the decimal digits ofbto those ofaline 46 sourceSource documentation
Append the decimal digits of
bto those ofa.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
HAdd.hAdd,HMul.hMul,HPow.hPow,OfNat.ofNat, OeisA37274.decimalDigitCount9 instances, coercions and auxiliary constants left out.
def decimalAppend (a b : ℕ) : ℕ := …
- def
OeisA37274.primeFactorSpliceConcatenate the prime factors ofnin nondecreasing order, retaining multiplicity line 50 sourceSource documentation
Concatenate the prime factors of
nin nondecreasing order, retaining multiplicity.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
List.foldl, OeisA37274.decimalAppend,OfNat.ofNat,Nat.primeFactorsList1 instances, coercions and auxiliary constants left out.
def primeFactorSplice (n : ℕ) : ℕ := …
- def
OeisA37274.ReachesPrimeA starting value reaches a prime after finitely many prime-factor splicing steps line 54 sourceSource documentation
A starting value reaches a prime after finitely many prime-factor splicing steps.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Exists,Nat.Prime,Nat.iterate, OeisA37274.primeFactorSplicedef ReachesPrime (n : ℕ) : Prop := …
- theorem
OeisA37274.home_prime_conjectureEvery integer at least two reaches a home prime sorry line 59 sourceSource documentation
Every integer at least two reaches a home prime.
depends on sorry what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, OeisA37274.ReachesPrimeProof 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 home_prime_conjecture : ∀ n : ℕ, 2 ≤ n → ReachesPrime n := by …
Mentions: OeisA37274.ReachesPrime
- theorem
OeisA37274.primeFactorSplice_25The first step in the trajectory from $25$ is $25\mapsto55$ line 64 sourceSource documentation
The first step in the trajectory from $25$ is $25\mapsto55$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA37274.primeFactorSplice,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,List.foldl, OeisA37274.decimalAppend,Nat.primeFactorsList,List.cons,List.nil,List,Nat.succ,Nat.minFac,HAdd.hAdd,HDiv.hDiv,Nat.primeFactorsList.eq_3,congr,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_minFac_3,Mathlib.Meta.NormNum.isNat_addand 35 more34 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem primeFactorSplice_25 : primeFactorSplice 25 = 55 := by …
Mentions: OeisA37274.primeFactorSplice
- theorem
OeisA37274.primeFactorSplice_55The second step in the trajectory from $25$ is $55\mapsto511$ line 69 sourceSource documentation
The second step in the trajectory from $25$ is $55\mapsto511$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA37274.primeFactorSplice,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,List.foldl, OeisA37274.decimalAppend,Nat.primeFactorsList,List.cons,List.nil,List,Nat.succ,Nat.minFac,HAdd.hAdd,HDiv.hDiv,Nat.primeFactorsList.eq_3,congr,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_minFac_3,Mathlib.Meta.NormNum.isNat_addand 38 more34 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem primeFactorSplice_55 : primeFactorSplice 55 = 511 := by …
Mentions: OeisA37274.primeFactorSplice
- theorem
OeisA37274.primeFactorSplice_511The third step in the trajectory from $25$ is $511\mapsto773$ line 74 sourceSource documentation
The third step in the trajectory from $25$ is $511\mapsto773$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, OeisA37274.primeFactorSplice,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,List.foldl, OeisA37274.decimalAppend,Nat.primeFactorsList,List.cons,List.nil,List,Nat.succ,Nat.minFac,HAdd.hAdd,HDiv.hDiv,Nat.primeFactorsList.eq_3,congr,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_minFac_3,Mathlib.Meta.NormNum.isNat_addand 38 more34 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem primeFactorSplice_511 : primeFactorSplice 511 = 773 := by …
Mentions: OeisA37274.primeFactorSplice
- theorem
OeisA37274.primeFactorSplice_primeA prime is a fixed point of prime-factor splicing line 79 sourceSource documentation
A prime is a fixed point of prime-factor splicing.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Nat.Prime,Eq, OeisA37274.primeFactorSpliceProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,List.foldl, OeisA37274.decimalAppend,OfNat.ofNat,Nat.primeFactorsList,List.cons,List.nil,List,Nat.primeFactorsList_prime,HAdd.hAdd,HMul.hMul,HPow.hPow, OeisA37274.decimalDigitCount,MulZeroClass.zero_mul,zero_add,eq_self14 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem primeFactorSplice_prime {p : ℕ} (hp : p.Prime) : primeFactorSplice p = p := by …Mentions: OeisA37274.primeFactorSplice
- theorem
OeisA37274.reachesPrime_25The trajectory from $25$ reaches the prime $773$ after three steps line 84 sourceSource documentation
The trajectory from $25$ reaches the prime $773$ after three steps.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: OeisA37274.ReachesPrime,
OfNat.ofNat,NatProof uses:
Exists.intro,Nat.Prime,Nat.iterate, OeisA37274.primeFactorSplice,of_eq_true,Eq.trans,True,congrArg,List.foldl, OeisA37274.decimalAppend,List.nil,Nat.primeFactorsList,List.cons,List,Nat.succ,Nat.minFac,HAdd.hAdd,HDiv.hDiv,Nat.primeFactorsList.eq_3,congrand 47 more34 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
theorem reachesPrime_25 : ReachesPrime 25 := by …
Mentions: OeisA37274.ReachesPrime