LU001N · theorem body

lucas_terminating_prime_digit_chain_exists

Alpha v34 checked-use · independently kernel and Lean verified; not Stable

For every prime base and every length strictly above n, a genuinely coherent beta-coded digit chain exists and provably terminates with quotient zero.

historical independently replay-verified empty-context experiment; the experiment itself persisted no certificate and granted no release authority; current checked use follows separately sealed proof bundles; no Stable promotion.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Statement with defined notation

∀ p. ∀ n. ∀ l. Prime(p)Lt(n,l) → ∃ x. ∃ y. ∃ z. ∃ m. BetaAt(x,y,0,n) ∧ (∀ k. Lt(k,l) → ∃ i. ∃ j. ∃ u. BetaAt(x,y,k,i) ∧ (BetaAt(x,y,S k,j) ∧ (BetaAt(z,m,k,u)DivRem(i,p,j,u)))) ∧ BetaAt(x,y,l,0)

Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.

Definitions used by this theorem

In the theorem statement

In local proof propositions

Exact expanded first-order statement
forall p n l. ((~(p = 1) /\ forall frm_prime_left_lmd_terminating_prime frm_prime_right_lmd_terminating_prime. p = frm_prime_left_lmd_terminating_prime * frm_prime_right_lmd_terminating_prime -> frm_prime_left_lmd_terminating_prime = 1 \/ frm_prime_right_lmd_terminating_prime = 1)) -> (exists lmd_gap_terminating_length. lmd_gap_terminating_length + S (n) = (l)) -> exists qb qc db dc. ((((((exists ff_h_lmd_zero_terminal_chain_initial. ff_h_lmd_zero_terminal_chain_initial + S (n) = S ((S (0)) * qc)) /\ exists ff_q_lmd_zero_terminal_chain_initial. qb = ff_q_lmd_zero_terminal_chain_initial * S ((S (0)) * qc) + (n))) /\ forall lmd_index_zero_terminal_chain. (exists lmd_gap_zero_terminal_chain_index. lmd_gap_zero_terminal_chain_index + S (lmd_index_zero_terminal_chain) = (l)) -> exists lmd_current_zero_terminal_chain lmd_successor_zero_terminal_chain lmd_digit_zero_terminal_chain. ((((exists ff_h_lmd_zero_terminal_chain_current. ff_h_lmd_zero_terminal_chain_current + S (lmd_current_zero_terminal_chain) = S ((S (lmd_index_zero_terminal_chain)) * qc)) /\ exists ff_q_lmd_zero_terminal_chain_current. qb = ff_q_lmd_zero_terminal_chain_current * S ((S (lmd_index_zero_terminal_chain)) * qc) + (lmd_current_zero_terminal_chain))) /\ ((((exists ff_h_lmd_zero_terminal_chain_successor. ff_h_lmd_zero_terminal_chain_successor + S (lmd_successor_zero_terminal_chain) = S ((S (S lmd_index_zero_terminal_chain)) * qc)) /\ exists ff_q_lmd_zero_terminal_chain_successor. qb = ff_q_lmd_zero_terminal_chain_successor * S ((S (S lmd_index_zero_terminal_chain)) * qc) + (lmd_successor_zero_terminal_chain))) /\ ((((exists ff_h_lmd_zero_terminal_chain_digit. ff_h_lmd_zero_terminal_chain_digit + S (lmd_digit_zero_terminal_chain) = S ((S (lmd_index_zero_terminal_chain)) * dc)) /\ exists ff_q_lmd_zero_terminal_chain_digit. db = ff_q_lmd_zero_terminal_chain_digit * S ((S (lmd_index_zero_terminal_chain)) * dc) + (lmd_digit_zero_terminal_chain))) /\ ((lmd_current_zero_terminal_chain = (p) * (lmd_successor_zero_terminal_chain) + (lmd_digit_zero_terminal_chain)) /\ (exists lmd_gap_zero_terminal_chain_digit_bound. lmd_gap_zero_terminal_chain_digit_bound + S (lmd_digit_zero_terminal_chain) = (p)))))))) /\ (((exists ff_h_lmd_zero_terminal_result. ff_h_lmd_zero_terminal_result + S (0) = S ((S (l)) * qc)) /\ exists ff_q_lmd_zero_terminal_result. qb = ff_q_lmd_zero_terminal_result * S ((S (l)) * qc) + (0))))

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.

Read the argument

Proof checkpoints

44 script commands · 12 reading checkpoints · 3 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–5

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro p
  2. L2
    intro n
  3. L3
    intro l
  4. L4
    intro hprime
  5. L5
    intro hlength
02Use earlier factsL6–8

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L6
    specialize lucas_prime_digit_chain_exists p
  2. L7
    specialize lucas_prime_digit_chain_exists n
  3. L8
    specialize lucas_prime_digit_chain_exists l
03Establish hcodesL9–11

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lucas prime digit chain exists.

  1. L9
    have hcodes : ∃ qb. ∃ qc. ∃ db. ∃ dc. BetaAt(qb,qc,0,n) ∧ (∀ x. Lt(x,l) → ∃ y. ∃ z. ∃ m. BetaAt(qb,qc,x,y) ∧ (BetaAt(qb,qc,S x,z) ∧ (BetaAt(db,dc,x,m) ∧ DivRem(y,p,z,m))))Definitions: BetaAt(qb,qc,0,n)Lt(x,l)BetaAt(qb,qc,x,y)BetaAt(qb,qc,S x,z)BetaAt(db,dc,x,m)DivRem(y,p,z,m)Original native command in the exact edition
  2. L10
    apply lucas_prime_digit_chain_exists
  3. L11
    exact hprime
04Separate the logical casesL12–15

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L12
    cases hcodes
  2. L13
    cases hcodes_witness
  3. L14
    cases hcodes_witness_witness
  4. L15
    cases hcodes_witness_witness_witness
05Establish hterminalL16–20

Establish this local claim before using it. It is not an additional assumption.

  1. L16
    have hterminal : ∃ q. BetaAt(x,x1,l,q)Definitions: BetaAt(x,x1,l,q)Original native command in the exact edition
  2. L17
    specialize beta_at_exists x
  3. L18
    specialize beta_at_exists x1
  4. L19
    specialize beta_at_exists l
  5. L20
    exact beta_at_exists
06Separate the logical casesL21–21

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L21
    cases hterminal
07Establish hzeroL22–31

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lucas prime digit chain terminal zero.

  1. L22
    have hzero : x4 = 0
  2. L23
    specialize lucas_prime_digit_chain_terminal_zero p
  3. L24
    specialize lucas_prime_digit_chain_terminal_zero n
  4. L25
    specialize lucas_prime_digit_chain_terminal_zero x
  5. L26
    specialize lucas_prime_digit_chain_terminal_zero x1
  6. L27
    specialize lucas_prime_digit_chain_terminal_zero x2
  7. L28
    specialize lucas_prime_digit_chain_terminal_zero x3
  8. L29
    specialize lucas_prime_digit_chain_terminal_zero l
  9. L30
    specialize lucas_prime_digit_chain_terminal_zero x4
  10. L31
    apply lucas_prime_digit_chain_terminal_zero
08Use earlier factsL32–35

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L32
    exact hprime
  2. L33
    exact hlength
  3. L34
    exact hcodes_witness_witness_witness_witness
  4. L35
    exact hterminal_witness
09Calculate and transport equalitiesL36–37

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L36
    rewrite hzero at hterminal_witness
  2. L37
    rewrite hzero at hterminal_witness
10Construct an explicit witnessL38–41

Supply the displayed value, then prove that it has the required property.

  1. L38
    exists x
  2. L39
    exists x1
  3. L40
    exists x2
  4. L41
    exists x3
11Separate the logical casesL42–42

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L42
    split
12Use earlier factsL43–44

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L43
    exact hcodes_witness_witness_witness_witness
  2. L44
    exact hterminal_witness

Library-wide reading audit

Original defined command ledger · 44 lines
  1. 0001intro p
  2. 0002intro n
  3. 0003intro l
  4. 0004intro hprime
  5. 0005intro hlength
  6. 0006specialize lucas_prime_digit_chain_exists p
  7. 0007specialize lucas_prime_digit_chain_exists n
  8. 0008specialize lucas_prime_digit_chain_exists l
  9. 0009have hcodes : ∃ qb. ∃ qc. ∃ db. ∃ dc. BetaAt(qb,qc,0,n) ∧ (∀ x. Lt(x,l) → ∃ y. ∃ z. ∃ m. BetaAt(qb,qc,x,y) ∧ (BetaAt(qb,qc,S x,z) ∧ (BetaAt(db,dc,x,m)DivRem(y,p,z,m))))
    Exact native replay linehave hcodes : exists qb qc db dc. (((((exists ff_h_lmd_terminating_codes_initial. ff_h_lmd_terminating_codes_initial + S (n) = S ((S (0)) * qc)) /\ exists ff_q_lmd_terminating_codes_initial. qb = ff_q_lmd_terminating_codes_initial * S ((S (0)) * qc) + (n))) /\ forall lmd_index_terminating_codes. (exists lmd_gap_terminating_codes_index. lmd_gap_terminating_codes_index + S (lmd_index_terminating_codes) = (l)) -> exists lmd_current_terminating_codes lmd_successor_terminating_codes lmd_digit_terminating_codes. ((((exists ff_h_lmd_terminating_codes_current. ff_h_lmd_terminating_codes_current + S (lmd_current_terminating_codes) = S ((S (lmd_index_terminating_codes)) * qc)) /\ exists ff_q_lmd_terminating_codes_current. qb = ff_q_lmd_terminating_codes_current * S ((S (lmd_index_terminating_codes)) * qc) + (lmd_current_terminating_codes))) /\ ((((exists ff_h_lmd_terminating_codes_successor. ff_h_lmd_terminating_codes_successor + S (lmd_successor_terminating_codes) = S ((S (S lmd_index_terminating_codes)) * qc)) /\ exists ff_q_lmd_terminating_codes_successor. qb = ff_q_lmd_terminating_codes_successor * S ((S (S lmd_index_terminating_codes)) * qc) + (lmd_successor_terminating_codes))) /\ ((((exists ff_h_lmd_terminating_codes_digit. ff_h_lmd_terminating_codes_digit + S (lmd_digit_terminating_codes) = S ((S (lmd_index_terminating_codes)) * dc)) /\ exists ff_q_lmd_terminating_codes_digit. db = ff_q_lmd_terminating_codes_digit * S ((S (lmd_index_terminating_codes)) * dc) + (lmd_digit_terminating_codes))) /\ ((lmd_current_terminating_codes = (p) * (lmd_successor_terminating_codes) + (lmd_digit_terminating_codes)) /\ (exists lmd_gap_terminating_codes_digit_bound. lmd_gap_terminating_codes_digit_bound + S (lmd_digit_terminating_codes) = (p))))))))
  10. 0010apply lucas_prime_digit_chain_exists
  11. 0011exact hprime
  12. 0012cases hcodes
  13. 0013cases hcodes_witness
  14. 0014cases hcodes_witness_witness
  15. 0015cases hcodes_witness_witness_witness
  16. 0016have hterminal : ∃ q. BetaAt(x,x1,l,q)
    Exact native replay linehave hterminal : exists q. (((exists ff_h_lmd_terminating_decoded. ff_h_lmd_terminating_decoded + S (q) = S ((S (l)) * x1)) /\ exists ff_q_lmd_terminating_decoded. x = ff_q_lmd_terminating_decoded * S ((S (l)) * x1) + (q)))
  17. 0017specialize beta_at_exists x
  18. 0018specialize beta_at_exists x1
  19. 0019specialize beta_at_exists l
  20. 0020exact beta_at_exists
  21. 0021cases hterminal
  22. 0022have hzero : x4 = 0
  23. 0023specialize lucas_prime_digit_chain_terminal_zero p
  24. 0024specialize lucas_prime_digit_chain_terminal_zero n
  25. 0025specialize lucas_prime_digit_chain_terminal_zero x
  26. 0026specialize lucas_prime_digit_chain_terminal_zero x1
  27. 0027specialize lucas_prime_digit_chain_terminal_zero x2
  28. 0028specialize lucas_prime_digit_chain_terminal_zero x3
  29. 0029specialize lucas_prime_digit_chain_terminal_zero l
  30. 0030specialize lucas_prime_digit_chain_terminal_zero x4
  31. 0031apply lucas_prime_digit_chain_terminal_zero
  32. 0032exact hprime
  33. 0033exact hlength
  34. 0034exact hcodes_witness_witness_witness_witness
  35. 0035exact hterminal_witness
  36. 0036rewrite hzero at hterminal_witness
  37. 0037rewrite hzero at hterminal_witness
  38. 0038exists x
  39. 0039exists x1
  40. 0040exists x2
  41. 0041exists x3
  42. 0042split
  43. 0043exact hcodes_witness_witness_witness_witness
  44. 0044exact hterminal_witness