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
∀ i. ∀ p. ∀ n. ∀ qb. ∀ qc. ∀ db. ∀ dc. ∀ l. ∀ q. Le(i,l) → Prime(p) → 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)))) → BetaAt(qb,qc,i,q) → ¬q = 0 → Le(q + i,n)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 i p n qb qc db dc l q. (exists lmd_le_gap_index_domain. lmd_le_gap_index_domain + (i) = (l)) -> ((~(p = 1) /\ forall frm_prime_left_lmd_index_prime frm_prime_right_lmd_index_prime. p = frm_prime_left_lmd_index_prime * frm_prime_right_lmd_index_prime -> frm_prime_left_lmd_index_prime = 1 \/ frm_prime_right_lmd_index_prime = 1)) -> (((((exists ff_h_lmd_index_chain_initial. ff_h_lmd_index_chain_initial + S (n) = S ((S (0)) * qc)) /\ exists ff_q_lmd_index_chain_initial. qb = ff_q_lmd_index_chain_initial * S ((S (0)) * qc) + (n))) /\ forall lmd_index_index_chain. (exists lmd_gap_index_chain_index. lmd_gap_index_chain_index + S (lmd_index_index_chain) = (l)) -> exists lmd_current_index_chain lmd_successor_index_chain lmd_digit_index_chain. ((((exists ff_h_lmd_index_chain_current. ff_h_lmd_index_chain_current + S (lmd_current_index_chain) = S ((S (lmd_index_index_chain)) * qc)) /\ exists ff_q_lmd_index_chain_current. qb = ff_q_lmd_index_chain_current * S ((S (lmd_index_index_chain)) * qc) + (lmd_current_index_chain))) /\ ((((exists ff_h_lmd_index_chain_successor. ff_h_lmd_index_chain_successor + S (lmd_successor_index_chain) = S ((S (S lmd_index_index_chain)) * qc)) /\ exists ff_q_lmd_index_chain_successor. qb = ff_q_lmd_index_chain_successor * S ((S (S lmd_index_index_chain)) * qc) + (lmd_successor_index_chain))) /\ ((((exists ff_h_lmd_index_chain_digit. ff_h_lmd_index_chain_digit + S (lmd_digit_index_chain) = S ((S (lmd_index_index_chain)) * dc)) /\ exists ff_q_lmd_index_chain_digit. db = ff_q_lmd_index_chain_digit * S ((S (lmd_index_index_chain)) * dc) + (lmd_digit_index_chain))) /\ ((lmd_current_index_chain = (p) * (lmd_successor_index_chain) + (lmd_digit_index_chain)) /\ (exists lmd_gap_index_chain_digit_bound. lmd_gap_index_chain_digit_bound + S (lmd_digit_index_chain) = (p)))))))) -> (((exists ff_h_lmd_index_entry. ff_h_lmd_index_entry + S (q) = S ((S (i)) * qc)) /\ exists ff_q_lmd_index_entry. qb = ff_q_lmd_index_entry * S ((S (i)) * qc) + (q))) -> ~(q = 0) -> (exists lmd_le_gap_index_bound_result. lmd_le_gap_index_bound_result + (q + i) = (n))Proof neighborhood
Direct theorem prerequisites
LU001K lucas_prime_digit_nonzero_quotient_strict add_le_add_right · Stable closed add_succ_left · Stable closedDirect 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 (1)
01Fix variables and assumptionsL1–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro i
02Induction on iL2–11
03Fix variables and assumptionsL12–15
04Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
cases hchain
05Establish hequalL17–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists 0
07Calculate and transport equalitiesL27–28
08Use earlier factsL29–30
09Calculate and transport equalitiesL31–31
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L31
symm
10Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact hequal
11Fix variables and assumptionsL33–42
12Fix variables and assumptionsL43–45
13Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
cases hchain
14Establish hpreviousL47–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hchain right.
- L47
have hprevious : ∃ a. ∃ Q. ∃ d. BetaAt(qb,qc,i,a) ∧ (BetaAt(qb,qc,S i,Q) ∧ (BetaAt(db,dc,i,d) ∧ DivRem(a,p,Q,d)))Definitions: BetaAt(qb,qc,i,a)BetaAt(qb,qc,S i,Q)BetaAt(db,dc,i,d)DivRem(a,p,Q,d)Original native command in the exact edition - L48
specialize hchain_right i - L49
apply hchain_right - L50
exact hdomain
15Separate the logical casesL51–57
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
16Establish hquotientL58–66
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
17Establish hqnonzeroL67–73
18Establish hstrictL74–82
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lucas prime digit nonzero quotient strict.
- L74
- L75
specialize lucas_prime_digit_nonzero_quotient_strict p - L76
specialize lucas_prime_digit_nonzero_quotient_strict x - L77
specialize lucas_prime_digit_nonzero_quotient_strict x1 - L78
specialize lucas_prime_digit_nonzero_quotient_strict x2 - L79
apply lucas_prime_digit_nonzero_quotient_strict - L80
exact hprime - L81
exact hqnonzero - L82
exact hprevious_witness_witness_witness_right_right_right_left
19Establish hprevious_nonzeroL83–85
20Separate the logical casesL86–86
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L86
cases hstrict
21Calculate and transport equalitiesL87–87
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L87
rewrite PA4 at hstrict_witness
22Use earlier factsL88–89
23Establish hprevious_domainL90–97
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
24Establish hprevious_boundL98–107
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
25Use earlier factsL108–109
26Separate the logical casesL110–110
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L110
split
27Use earlier factsL111–114
28Calculate and transport equalitiesL115–115
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L115
rewrite hquotient at hstrict
29Establish haddedL116–121
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add le add right.
- L116
have hadded : Le(S q + i,x + i)Definitions: Le(S q + i,x + i)Original native command in the exact edition - L117
specialize add_le_add_right (S q) - L118
specialize add_le_add_right x - L119
specialize add_le_add_right i - L120
apply add_le_add_right - L121
exact hstrict
30Establish hswapL122–131
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add succ left.
Original defined command ledger · 133 lines
- 0001
intro i - 0002
induction i - 0003
intro p - 0004
intro n - 0005
intro qb - 0006
intro qc - 0007
intro db - 0008
intro dc - 0009
intro l - 0010
intro q - 0011
intro hdomain - 0012
intro hprime - 0013
intro hchain - 0014
intro hentry - 0015
intro hnonzero - 0016
cases hchain - 0017
have hequal : n = q - 0018
specialize beta_at_unique qb - 0019
specialize beta_at_unique qc - 0020
specialize beta_at_unique 0 - 0021
specialize beta_at_unique n - 0022
specialize beta_at_unique q - 0023
apply beta_at_unique - 0024
exact hchain_left - 0025
exact hentry - 0026
exists 0 - 0027
trans q - 0028
trans q + 0 - 0029
apply zero_add - 0030
apply PA3 - 0031
symm - 0032
exact hequal - 0033
intro p - 0034
intro n - 0035
intro qb - 0036
intro qc - 0037
intro db - 0038
intro dc - 0039
intro l - 0040
intro q - 0041
intro hdomain - 0042
intro hprime - 0043
intro hchain - 0044
intro hentry - 0045
intro hnonzero - 0046
cases hchain - 0047
have hprevious : ∃ a. ∃ Q. ∃ d. BetaAt(qb,qc,i,a) ∧ (BetaAt(qb,qc,S i,Q) ∧ (BetaAt(db,dc,i,d) ∧ DivRem(a,p,Q,d)))Exact native replay line
have hprevious : exists a Q d. ((((exists ff_h_lmd_index_previous. ff_h_lmd_index_previous + S (a) = S ((S (i)) * qc)) /\ exists ff_q_lmd_index_previous. qb = ff_q_lmd_index_previous * S ((S (i)) * qc) + (a))) /\ ((((exists ff_h_lmd_index_successor. ff_h_lmd_index_successor + S (Q) = S ((S (S i)) * qc)) /\ exists ff_q_lmd_index_successor. qb = ff_q_lmd_index_successor * S ((S (S i)) * qc) + (Q))) /\ ((((exists ff_h_lmd_index_digit. ff_h_lmd_index_digit + S (d) = S ((S (i)) * dc)) /\ exists ff_q_lmd_index_digit. db = ff_q_lmd_index_digit * S ((S (i)) * dc) + (d))) /\ ((a = p * Q + d) /\ (exists lmd_gap_index_digit_bound. lmd_gap_index_digit_bound + S (d) = (p)))))) - 0048
specialize hchain_right i - 0049
apply hchain_right - 0050
exact hdomain - 0051
cases hprevious - 0052
cases hprevious_witness - 0053
cases hprevious_witness_witness - 0054
cases hprevious_witness_witness_witness - 0055
cases hprevious_witness_witness_witness_right - 0056
cases hprevious_witness_witness_witness_right_right - 0057
cases hprevious_witness_witness_witness_right_right_right - 0058
have hquotient : x1 = q - 0059
specialize beta_at_unique qb - 0060
specialize beta_at_unique qc - 0061
specialize beta_at_unique (S i) - 0062
specialize beta_at_unique x1 - 0063
specialize beta_at_unique q - 0064
apply beta_at_unique - 0065
exact hprevious_witness_witness_witness_right_left - 0066
exact hentry - 0067
have hqnonzero : ~(x1 = 0) - 0068
intro hzero - 0069
apply hnonzero - 0070
trans x1 - 0071
symm - 0072
exact hquotient - 0073
exact hzero - 0074
have hstrict : Lt(x1,x)Exact native replay line
have hstrict : exists gap. gap + S x1 = x - 0075
specialize lucas_prime_digit_nonzero_quotient_strict p - 0076
specialize lucas_prime_digit_nonzero_quotient_strict x - 0077
specialize lucas_prime_digit_nonzero_quotient_strict x1 - 0078
specialize lucas_prime_digit_nonzero_quotient_strict x2 - 0079
apply lucas_prime_digit_nonzero_quotient_strict - 0080
exact hprime - 0081
exact hqnonzero - 0082
exact hprevious_witness_witness_witness_right_right_right_left - 0083
have hprevious_nonzero : ~(x = 0) - 0084
intro hzero - 0085
rewrite hzero at hstrict - 0086
cases hstrict - 0087
rewrite PA4 at hstrict_witness - 0088
apply PA1 - 0089
exact hstrict_witness - 0090
have hprevious_domain : Le(i,l)Exact native replay line
have hprevious_domain : exists gap. gap + i = l - 0091
specialize le_trans i - 0092
specialize le_trans (S i) - 0093
specialize le_trans l - 0094
apply le_trans - 0095
specialize le_succ_self i - 0096
exact le_succ_self - 0097
exact hdomain - 0098
have hprevious_bound : Le(x + i,n)Exact native replay line
have hprevious_bound : exists gap. gap + (x + i) = n - 0099
specialize IH p - 0100
specialize IH n - 0101
specialize IH qb - 0102
specialize IH qc - 0103
specialize IH db - 0104
specialize IH dc - 0105
specialize IH l - 0106
specialize IH x - 0107
apply IH - 0108
exact hprevious_domain - 0109
exact hprime - 0110
split - 0111
exact hchain_left - 0112
exact hchain_right - 0113
exact hprevious_witness_witness_witness_left - 0114
exact hprevious_nonzero - 0115
rewrite hquotient at hstrict - 0116
have hadded : Le(S q + i,x + i)Exact native replay line
have hadded : exists gap. gap + (S q + i) = x + i - 0117
specialize add_le_add_right (S q) - 0118
specialize add_le_add_right x - 0119
specialize add_le_add_right i - 0120
apply add_le_add_right - 0121
exact hstrict - 0122
have hswap : S q + i = q + S i - 0123
trans S (q + i) - 0124
apply add_succ_left - 0125
symm - 0126
apply PA4 - 0127
rewrite hswap at hadded - 0128
specialize le_trans (q + S i) - 0129
specialize le_trans (x + i) - 0130
specialize le_trans n - 0131
apply le_trans - 0132
exact hadded - 0133
exact hprevious_bound