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
LU001A lucas_prime_digit_chain_exists beta_at_exists · Stable closed LU001M lucas_prime_digit_chain_terminal_zeroDirect 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
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.
Named ingredients (2)
01Fix variables and assumptionsL1–5
02Use earlier factsL6–8
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.
- 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 - L10
apply lucas_prime_digit_chain_exists - L11
exact hprime
04Separate the logical casesL12–15
05Establish hterminalL16–20
Establish this local claim before using it. It is not an additional assumption.
- L16
have hterminal : ∃ q. BetaAt(x,x1,l,q)Definitions: BetaAt(x,x1,l,q)Original native command in the exact edition - L17
specialize beta_at_exists x - L18
specialize beta_at_exists x1 - L19
specialize beta_at_exists l - L20
exact beta_at_exists
06Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- 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.
- L22
have hzero : x4 = 0 - L23
specialize lucas_prime_digit_chain_terminal_zero p - L24
specialize lucas_prime_digit_chain_terminal_zero n - L25
specialize lucas_prime_digit_chain_terminal_zero x - L26
specialize lucas_prime_digit_chain_terminal_zero x1 - L27
specialize lucas_prime_digit_chain_terminal_zero x2 - L28
specialize lucas_prime_digit_chain_terminal_zero x3 - L29
specialize lucas_prime_digit_chain_terminal_zero l - L30
specialize lucas_prime_digit_chain_terminal_zero x4 - L31
apply lucas_prime_digit_chain_terminal_zero
08Use earlier factsL32–35
09Calculate and transport equalitiesL36–37
10Construct an explicit witnessL38–41
11Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
Original defined command ledger · 44 lines
- 0001
intro p - 0002
intro n - 0003
intro l - 0004
intro hprime - 0005
intro hlength - 0006
specialize lucas_prime_digit_chain_exists p - 0007
specialize lucas_prime_digit_chain_exists n - 0008
specialize lucas_prime_digit_chain_exists l - 0009
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))))Exact native replay line
have 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)))))))) - 0010
apply lucas_prime_digit_chain_exists - 0011
exact hprime - 0012
cases hcodes - 0013
cases hcodes_witness - 0014
cases hcodes_witness_witness - 0015
cases hcodes_witness_witness_witness - 0016
have hterminal : ∃ q. BetaAt(x,x1,l,q)Exact native replay line
have 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))) - 0017
specialize beta_at_exists x - 0018
specialize beta_at_exists x1 - 0019
specialize beta_at_exists l - 0020
exact beta_at_exists - 0021
cases hterminal - 0022
have hzero : x4 = 0 - 0023
specialize lucas_prime_digit_chain_terminal_zero p - 0024
specialize lucas_prime_digit_chain_terminal_zero n - 0025
specialize lucas_prime_digit_chain_terminal_zero x - 0026
specialize lucas_prime_digit_chain_terminal_zero x1 - 0027
specialize lucas_prime_digit_chain_terminal_zero x2 - 0028
specialize lucas_prime_digit_chain_terminal_zero x3 - 0029
specialize lucas_prime_digit_chain_terminal_zero l - 0030
specialize lucas_prime_digit_chain_terminal_zero x4 - 0031
apply lucas_prime_digit_chain_terminal_zero - 0032
exact hprime - 0033
exact hlength - 0034
exact hcodes_witness_witness_witness_witness - 0035
exact hterminal_witness - 0036
rewrite hzero at hterminal_witness - 0037
rewrite hzero at hterminal_witness - 0038
exists x - 0039
exists x1 - 0040
exists x2 - 0041
exists x3 - 0042
split - 0043
exact hcodes_witness_witness_witness_witness - 0044
exact hterminal_witness