FormalConjectures/OEIS/37274.lean

GitHub source file

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:

Imports (1)
  1. def OeisA37274.decimalDigitCount The number of decimal digits of a natural number, counting zero as one digit line 42 source

    Source 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: Nat

    Proof uses: ite, Eq, OfNat.ofNat, List.length, Nat.digits

    2 instances, coercions and auxiliary constants left out.

    def decimalDigitCount (n : ℕ) : ℕ :=
    …
  2. def OeisA37274.decimalAppend Append the decimal digits of b to those of a line 46 source

    Source documentation

    Append the decimal digits of b to those of a.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: HAdd.hAdd, HMul.hMul, HPow.hPow, OfNat.ofNat, OeisA37274.decimalDigitCount

    9 instances, coercions and auxiliary constants left out.

    def decimalAppend (a b : ℕ) : ℕ :=
    …
  3. def OeisA37274.primeFactorSplice Concatenate the prime factors of n in nondecreasing order, retaining multiplicity line 50 source

    Source documentation

    Concatenate the prime factors of n in nondecreasing order, retaining multiplicity.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: List.foldl, OeisA37274.decimalAppend, OfNat.ofNat, Nat.primeFactorsList

    1 instances, coercions and auxiliary constants left out.

    def primeFactorSplice (n : ℕ) : ℕ :=
    …
  4. def OeisA37274.ReachesPrime A starting value reaches a prime after finitely many prime-factor splicing steps line 54 source

    Source 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: Nat

    Proof uses: Exists, Nat.Prime, Nat.iterate, OeisA37274.primeFactorSplice

    def ReachesPrime (n : ℕ) : Prop :=
    …
  5. theorem OeisA37274.home_prime_conjecture Every integer at least two reaches a home prime sorry line 59 source

    Source documentation

    Every integer at least two reaches a home prime.

    depends on sorry what this means

    Statement uses: Nat, LE.le, OfNat.ofNat, OeisA37274.ReachesPrime

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    4 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

  6. theorem OeisA37274.primeFactorSplice_25 The first step in the trajectory from $25$ is $25\mapsto55$ line 64 source

    Source 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.ofNat

    Proof 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_add and 35 more

    34 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

  7. theorem OeisA37274.primeFactorSplice_55 The second step in the trajectory from $25$ is $55\mapsto511$ line 69 source

    Source 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.ofNat

    Proof 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_add and 38 more

    34 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

  8. theorem OeisA37274.primeFactorSplice_511 The third step in the trajectory from $25$ is $511\mapsto773$ line 74 source

    Source 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.ofNat

    Proof 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_add and 38 more

    34 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

  9. theorem OeisA37274.primeFactorSplice_prime A prime is a fixed point of prime-factor splicing line 79 source

    Source 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.primeFactorSplice

    Proof 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_self

    14 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

  10. theorem OeisA37274.reachesPrime_25 The trajectory from $25$ reaches the prime $773$ after three steps line 84 source

    Source 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, Nat

    Proof 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, congr and 47 more

    34 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