APNOutputs/OEIS/A382590_conjecture_kth_prime_factor_is_eventually_periodic.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: Google DeepMind published the AlphaProof Nexus proof artifacts. The pinned repository identifies the mathematical sources and collaborators, including OEIS, Erdős Problems, Gergely Bérczi, and Mario Krenn; those source records remain the authority for individual credit.

Project sources: Pinned AlphaProof Nexus results documentation, AlphaProof Nexus paper, Pinned human-written natural-language proof companions

21 declarations, 0 contain sorry, 0 declared as axioms

Imports (1)
  1. def A382590_pair Helper function for A382590, computing the pair $(a(n), b(n))$ such that: $a(n) = a(n-1)b(n-2) + a(n-2)b(n-1)$ $b(n) = a(n-1)b(n-2) - a(n-2)b(n-1)$ line 47 source

    Source documentation

    Helper function for A382590, computing the pair $(a(n), b(n))$ such that: $a(n) = a(n-1)b(n-2) + a(n-2)b(n-1)$ $b(n) = a(n-1)b(n-2) - a(n-2)b(n-1)$

    no axioms what this means

    Statement uses: Nat, Prod, Int

    Proof uses: A382590_pair.match_2, Unit, OfNat.ofNat, Prod.mk, Nat.succ, A382590_pair.match_1, HAdd.hAdd, HMul.hMul, HSub.hSub

    10 instances, coercions and auxiliary constants left out.

    def A382590_pair : ℕ → ℤ × ℤ
    | 0 => (1, 1)
    | 1 => (2, 1)
    | n + 2 =>
      let (a_n_plus_1, b_n_plus_1) := A382590_pair (n + 1)
    …
  2. def A382590 A382590 line 61 source

    Source documentation

    A382590: $a(n)$ is the sequence defined by the mutual recurrence relations: $a(n) = a(n-1)b(n-2) + a(n-2)b(n-1)$ and $b(n) = a(n-1)b(n-2) - a(n-2)b(n-1)$ starting with $a(0) = b(0) = b(1) = 1$ and a(1) = 2. The terms are in $\mathbb{Z}$ due to negative values.

    no axioms what this means

    Statement uses: Nat, Int

    Proof uses: Prod.fst, A382590_pair

    def A382590 (n : ℕ) : ℤ := (A382590_pair n).fst
    …

    Mentions: A382590_pair

  3. def kth_prime_factor The k-th prime factor of an integer n (where k>=1), counted with multiplicity line 70 source

    Source documentation

    The k-th prime factor of an integer n (where k>=1), counted with multiplicity. This is defined as the k-th element (0-indexed k-1) of Nat.primeFactorsList n.natAbs. Returns 1 if n has fewer than k prime factors or if n is 0, 1, or -1, following the informal convention.

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

    Statement uses: Nat, Int

    Proof uses: dite, Eq, OfNat.ofNat, Not, Int.natAbs, List, Nat.primeFactorsList, GE.ge, HSub.hSub, List.length, GetElem.getElem, LT.lt

    9 instances, coercions and auxiliary constants left out.

    def kth_prime_factor (k : ℕ) (n : ℤ) : ℕ :=
    …
  4. def next_state line 114 source

    no axioms what this means

    Statement uses: Prod, Int

    Proof uses: Prod.mk, Prod.snd, HMod.hMod, HAdd.hAdd, HMul.hMul, Prod.fst, OfNat.ofNat, HSub.hSub

    9 instances, coercions and auxiliary constants left out.

    Distinct definitions of this name: APNOutputs/OEIS/oeis_A028859_conjecture_1.lean:107 (different declaration text). Qualify references as next_state@path.

  5. def state_seq line 117 source

    no axioms what this means

    Statement uses: Nat, Prod, Int

    Proof uses: state_seq.match_1, Unit, OfNat.ofNat, Prod.mk, Nat.succ, next_state

    4 instances, coercions and auxiliary constants left out.

  6. lemma A382590_mod_15 line 121 source

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

    Statement uses: Nat, And, Eq, Int, HMod.hMod, Prod.fst, A382590_pair, OfNat.ofNat, Prod, state_seq, Prod.snd, HAdd.hAdd

    Proof uses: Nat.strongRec, LT.lt, A382590_mod_15.match_1, of_decide_eq_true, id, Bool, Decidable.decide, Bool.true, Eq.refl, of_eq_true, HMul.hMul, HSub.hSub, Prod.mk, Eq.trans, True, congr, congrArg, Int.add_emod, Int.mul_emod, Int.emod_emod_of_dvd and 12 more

    48 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

    Open to load the checked before-and-after goal states.

  7. def valid_states line 130 source

    no axioms what this means

    Statement uses: List, Prod, Int

    Proof uses: List.cons, Prod.mk, OfNat.ofNat, List.nil

    1 instances, coercions and auxiliary constants left out.

  8. lemma state_seq_in_valid line 147 source

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

    Statement uses: Nat, Membership.mem, Prod, Int, List, valid_states, state_seq

    Proof uses: Eq.mpr, Or, Eq, Prod.mk, OfNat.ofNat, id, Eq.trans, List.cons, List.nil, congrArg, False, eq_false, not_false, or_false, Nat.strongRec, Nat.casesAuxOn, LT.lt, Or.inl, Eq.refl, HAdd.hAdd and 47 more

    60 instances, coercions and auxiliary constants left out.

    Tactic trace: 55 steps

    Open to load the checked before-and-after goal states.

  9. lemma state_seq_fst_not_zero line 185 source

    no axioms what this means

    Statement uses: Prod, Int, Membership.mem, List, valid_states, Ne, Prod.fst, OfNat.ofNat

    Proof uses: of_decide_eq_true, List.cons, Prod.mk, List.nil, Eq, id, Bool, Decidable.decide, Bool.true, Eq.refl

    7 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  10. lemma a_n_not_zero line 189 source

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

    Statement uses: Nat, Ne, Int, Prod.fst, A382590_pair, OfNat.ofNat

    Proof uses: Eq, HMod.hMod, Prod, state_seq, And.left, And, Prod.snd, HAdd.hAdd, A382590_mod_15, rfl, Membership.mem, List, valid_states, state_seq_in_valid, state_seq_fst_not_zero, Eq.symm, Eq.mp, congrArg

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

  11. def u_seq line 199 source

    no axioms what this means

    Statement uses: Nat

    Proof uses: u_seq.match_1, Unit, OfNat.ofNat, Nat.succ, HAdd.hAdd

    5 instances, coercions and auxiliary constants left out.

  12. lemma div_by_u_seq_step line 208 source

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

    Statement uses: Nat, Int, Dvd.dvd, HPow.hPow, OfNat.ofNat, And, HAdd.hAdd, HMul.hMul, HSub.hSub

    Proof uses: Eq.mpr, id, Eq, congrArg, pow_add, mul_dvd_mul, add_comm, And.intro, dvd_add, dvd_sub

    38 instances, coercions and auxiliary constants left out.

    Tactic trace: 11 steps

    Open to load the checked before-and-after goal states.

  13. lemma div_by_u_seq line 223 source

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

    Statement uses: Nat, And, Dvd.dvd, Int, HPow.hPow, OfNat.ofNat, u_seq, Prod.fst, A382590_pair, Prod.snd

    Proof uses: Nat.strong_induction_on, LT.lt, Nat.casesAuxOn, of_eq_true, Prod.mk, Eq.trans, True, congr, congrArg, pow_zero, Mathlib.Meta.NormNum.IsNat.to_eq, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, eq_true, True.intro, and_self, HAdd.hAdd, IsUnit, Nat.cast_one, HMul.hMul and 26 more

    61 instances, coercions and auxiliary constants left out.

    Tactic trace: 24 steps

    Open to load the checked before-and-after goal states.

  14. lemma u_seq_bound line 247 source

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

    Statement uses: Nat, GE.ge, OfNat.ofNat, u_seq, HSub.hSub

    Proof uses: Eq.rec, HAdd.hAdd, Eq, Nat.strongRec, LT.lt, u_seq_bound.match_1, of_decide_eq_true, id, Bool, Decidable.decide, Bool.true, Eq.refl, Eq.mpr, Eq.trans, LE.le, Nat.casesAuxOn, And, of_eq_true, True, congrArg and 14 more

    47 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

    Open to load the checked before-and-after goal states.

  15. lemma a_n_div_2_pow line 252 source

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

    Statement uses: Nat, GE.ge, HAdd.hAdd, OfNat.ofNat, Dvd.dvd, Int, HPow.hPow, Prod.fst, A382590_pair

    Proof uses: u_seq, HSub.hSub, u_seq_bound, Decidable.byContradiction, Not, And, Prod.snd, div_by_u_seq, LE.le, pow_dvd_pow, dvd_trans, And.left

    24 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

  16. lemma padicValNat_two_ge line 259 source

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

    Statement uses: Nat, Ne, OfNat.ofNat, Dvd.dvd, HPow.hPow, GE.ge, padicValNat

    Proof uses: Iff.mp, LE.le, padicValNat_dvd_iff_le

    13 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  17. lemma count_two_primeFactorsList line 262 source

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

    Statement uses: Nat, Ne, OfNat.ofNat, Eq, List.count, Nat.primeFactorsList, padicValNat

    Proof uses: of_eq_true, Eq.trans, True, congrArg, Finsupp, Nat.factorization, Nat.primeFactorsList_count_eq, Nat.Prime, Nat.factorization_def, Mathlib.Meta.NormNum.isNat_prime_2, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Bool, Bool.true, Mathlib.Meta.NormNum.isNat_minFac_2, Mathlib.Meta.NormNum.IsNat.raw_refl, eq_self, eq_true, True.intro

    11 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  18. lemma sorted_primeFactorsList_ge_two line 266 source

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

    Statement uses: Nat, Ne, OfNat.ofNat, Membership.mem, List, Nat.primeFactorsList, GE.ge

    Proof uses: Nat.Prime, Nat.prime_of_mem_primeFactorsList, Nat.Prime.two_le

    5 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  19. lemma get_eq_two_of_count_ge line 270 source

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

    Statement uses: Nat, Membership.mem, List, Nat.primeFactorsList, GE.ge, OfNat.ofNat, LT.lt, List.count, List.length, Eq, GetElem.getElem

    Proof uses: List.SortedLE, Nat.primeFactorsList_sorted, Finset.sum, List.toFinset, List.sum_toFinset_count_eq_length, le_antisymm, Iff.mp, Not, LE.le, not_lt, LT.lt.not_ge, Trans.simple, Finset.card, Finset.filter, List.getI, Finset.range, ge_of_eq, Eq.trans, ite, Finset.card_filter and 43 more

    70 instances, coercions and auxiliary constants left out.

    Tactic trace: 11 steps

    Open to load the checked before-and-after goal states.

  20. lemma kth_prime_factor_eq_2 line 280 source

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

    Statement uses: Nat, Int, GE.ge, OfNat.ofNat, Ne, Dvd.dvd, HPow.hPow, Eq, kth_prime_factor

    Proof uses: Int.natAbs, Iff.mpr, Int.natAbs_ne_zero, cast, Eq.refl, Iff.mp, Int.natCast_dvd, padicValNat, padicValNat_two_ge, List.count, Nat.primeFactorsList, count_two_primeFactorsList, LE.le, Decidable.byContradiction, Not, LT.lt, HSub.hSub, List.length, List.count_le_length, id and 9 more

    35 instances, coercions and auxiliary constants left out.

    Tactic trace: 22 steps

    Open to load the checked before-and-after goal states.

  21. theorem target_theorem_0 line 303 source

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

    Statement uses: Nat, GE.ge, OfNat.ofNat, Exists, And, GT.gt, Eq, kth_prime_factor, A382590, HAdd.hAdd

    Proof uses: Exists.intro, And.intro, Decidable.byContradiction, Not, Dvd.dvd, Int, HPow.hPow, Prod.fst, A382590_pair, a_n_div_2_pow, Ne, a_n_not_zero, kth_prime_factor_eq_2, Eq.mpr, id, congrArg, Eq.refl

    19 instances, coercions and auxiliary constants left out.

    Distinct definitions of this name: APNOutputs/OEIS/A224515_conjecture_existence.lean:269 (different declaration text), APNOutputs/OEIS/A309132_conjecture_carmichael.lean:375 (different declaration text), APNOutputs/OEIS/a091669_conjecture_primitive_root.lean:275 (different declaration text), APNOutputs/OEIS/a325046_odd_terms_at_k_times_k_plus_1.lean:187 (different declaration text), APNOutputs/OEIS/oeis_103311_conjecture_0.lean:240 (different declaration text), APNOutputs/OEIS/oeis_108_conjecture_2.lean:281 (different declaration text), APNOutputs/OEIS/oeis_113254_conjecture_0.lean:153 (different declaration text), APNOutputs/OEIS/oeis_175386_conjecture_0.lean:326 (different declaration text), APNOutputs/OEIS/oeis_194806_conjecture_0.lean:495 (different declaration text), APNOutputs/OEIS/oeis_227582_conjecture_0.lean:306 (different declaration text), APNOutputs/OEIS/oeis_228143_conjecture_1.lean:730 (different declaration text), APNOutputs/OEIS/oeis_243106_conjecture_0.lean:164 (different declaration text), APNOutputs/OEIS/oeis_248802_conjecture_0.lean:223 (different declaration text), APNOutputs/OEIS/oeis_248802_conjecture_4.lean:841 (different declaration text), APNOutputs/OEIS/oeis_256012_conjecture_0.lean:116 (different declaration text), APNOutputs/OEIS/oeis_267581_conjecture_0.lean:212 (different declaration text), APNOutputs/OEIS/oeis_271591_conjecture_0.lean:518 (different declaration text), APNOutputs/OEIS/oeis_278070_conjecture_0.lean:91 (different declaration text), APNOutputs/OEIS/oeis_282779_conjecture_0.lean:141 (different declaration text), APNOutputs/OEIS/oeis_289411_conjecture_0.lean:189 (different declaration text), APNOutputs/OEIS/oeis_2897_conjecture_0.lean:427 (different declaration text), APNOutputs/OEIS/oeis_306424_conjecture_0.lean:300 (different declaration text), APNOutputs/OEIS/oeis_307865_conjecture_0.lean:212 (different declaration text), APNOutputs/OEIS/oeis_323557_conjecture_0.lean:214 (different declaration text), APNOutputs/OEIS/oeis_340737_conjecture_0.lean:456 (different declaration text), APNOutputs/OEIS/oeis_341254_conjecture_0.lean:136 (different declaration text), APNOutputs/OEIS/oeis_363347_conjecture_2.lean:848 (different declaration text), APNOutputs/OEIS/oeis_372761_conjecture_2.lean:756 (different declaration text), APNOutputs/OEIS/oeis_51293_conjecture_0.lean:517 (different declaration text), APNOutputs/OEIS/oeis_62567_conjecture_0.lean:329 (different declaration text), APNOutputs/OEIS/oeis_A028859_conjecture_1.lean:432 (different declaration text), APNOutputs/OEIS/oeis_A258667_conjecture_0.lean:446 (different declaration text), APNOutputs/OEIS/oeis_a211417_conjecture_specific.lean:264 (different declaration text), APNOutputs/OEIS/oeis_a237271_conjecture_2.lean:124 (different declaration text), APNOutputs/OEIS/oeis_a300997_finite_difference_is_one_or_two.lean:1111 (different declaration text), APNOutputs/OEIS/oeis_a363102_conjecture_1.lean:302 (different declaration text), APNOutputs/OEIS/oeis_a368692_conjecture_integrality.lean:182 (different declaration text). Qualify references as target_theorem_0@path.

    Tactic trace: 18 steps

    Open to load the checked before-and-after goal states.