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. ∀ b. ∀ c. ∀ qb. ∀ qc. ∀ db. ∀ dc. ∀ l. ∀ i. ∀ n. DivisionPrefix(p,b,c,qb,qc,db,dc,l) → Lt(i,l) → BetaAt(b,c,i,n) → ∃ x. ∃ y. BetaAt(qb,qc,i,x) ∧ (BetaAt(db,dc,i,y) ∧ DivRem(n,p,x,y))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 b c qb qc db dc l i n. (forall fdp_index_lucas_digits. (exists gsp_lt_gap_lucas_digits_index_bound. gsp_lt_gap_lucas_digits_index_bound + S fdp_index_lucas_digits = l) -> exists fdp_value_lucas_digits fdp_quotient_lucas_digits fdp_remainder_lucas_digits. (((exists ff_h_fdp_lucas_digits_source. ff_h_fdp_lucas_digits_source + S (fdp_value_lucas_digits) = S ((S (fdp_index_lucas_digits)) * c)) /\ exists ff_q_fdp_lucas_digits_source. b = ff_q_fdp_lucas_digits_source * S ((S (fdp_index_lucas_digits)) * c) + (fdp_value_lucas_digits))) /\ ((((exists ff_h_fdp_lucas_digits_quotient_entry. ff_h_fdp_lucas_digits_quotient_entry + S (fdp_quotient_lucas_digits) = S ((S (fdp_index_lucas_digits)) * qc)) /\ exists ff_q_fdp_lucas_digits_quotient_entry. qb = ff_q_fdp_lucas_digits_quotient_entry * S ((S (fdp_index_lucas_digits)) * qc) + (fdp_quotient_lucas_digits))) /\ ((((exists ff_h_fdp_lucas_digits_remainder_entry. ff_h_fdp_lucas_digits_remainder_entry + S (fdp_remainder_lucas_digits) = S ((S (fdp_index_lucas_digits)) * dc)) /\ exists ff_q_fdp_lucas_digits_remainder_entry. db = ff_q_fdp_lucas_digits_remainder_entry * S ((S (fdp_index_lucas_digits)) * dc) + (fdp_remainder_lucas_digits))) /\ (fdp_value_lucas_digits = p * fdp_quotient_lucas_digits + fdp_remainder_lucas_digits /\ (exists gsp_lt_gap_lucas_digits_remainder_bound. gsp_lt_gap_lucas_digits_remainder_bound + S fdp_remainder_lucas_digits = p))))) -> (exists ldc_lt_prefix_index. ldc_lt_prefix_index + S (i) = l) -> (((exists ff_h_lucas_source. ff_h_lucas_source + S (n) = S ((S (i)) * c)) /\ exists ff_q_lucas_source. b = ff_q_lucas_source * S ((S (i)) * c) + (n))) -> (exists q d. ((((exists ff_h_lucas_quotient. ff_h_lucas_quotient + S (q) = S ((S (i)) * qc)) /\ exists ff_q_lucas_quotient. qb = ff_q_lucas_quotient * S ((S (i)) * qc) + (q))) /\ ((((exists ff_h_lucas_digit. ff_h_lucas_digit + S (d) = S ((S (i)) * dc)) /\ exists ff_q_lucas_digit. db = ff_q_lucas_digit * S ((S (i)) * dc) + (d))) /\ (((n) = (p) * (q) + (d)) /\ (exists ldc_lt_native_bound. ldc_lt_native_bound + S (d) = p)))))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
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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
specialize hprefix i
04Establish hpointL15–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L15
have hpoint : ∃ value. ∃ quotient. ∃ remainder. BetaAt(b,c,i,value) ∧ (BetaAt(qb,qc,i,quotient) ∧ (BetaAt(db,dc,i,remainder) ∧ DivRem(value,p,quotient,remainder)))Definitions: BetaAt(b,c,i,value)BetaAt(qb,qc,i,quotient)BetaAt(db,dc,i,remainder)DivRem(value,p,quotient,remainder)Original native command in the exact edition - L16
apply hprefix - L17
exact hbound
05Separate the logical casesL18–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
06Establish hvalueL25–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
07Construct an explicit witnessL34–35
08Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
split
09Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact hpoint_witness_witness_witness_right_left
10Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
split
11Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hpoint_witness_witness_witness_right_right_left
12Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
split
13Calculate and transport equalitiesL41–41
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L41
rewrite <- hvalue
Original defined command ledger · 43 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro qb - 0005
intro qc - 0006
intro db - 0007
intro dc - 0008
intro l - 0009
intro i - 0010
intro n - 0011
intro hprefix - 0012
intro hbound - 0013
intro hsource - 0014
specialize hprefix i - 0015
have hpoint : ∃ value. ∃ quotient. ∃ remainder. BetaAt(b,c,i,value) ∧ (BetaAt(qb,qc,i,quotient) ∧ (BetaAt(db,dc,i,remainder) ∧ DivRem(value,p,quotient,remainder)))Exact native replay line
have hpoint : exists value quotient remainder. (((exists ff_h_lucas_point_source. ff_h_lucas_point_source + S (value) = S ((S (i)) * c)) /\ exists ff_q_lucas_point_source. b = ff_q_lucas_point_source * S ((S (i)) * c) + (value))) /\ ((((exists ff_h_lucas_point_quotient. ff_h_lucas_point_quotient + S (quotient) = S ((S (i)) * qc)) /\ exists ff_q_lucas_point_quotient. qb = ff_q_lucas_point_quotient * S ((S (i)) * qc) + (quotient))) /\ ((((exists ff_h_lucas_point_remainder. ff_h_lucas_point_remainder + S (remainder) = S ((S (i)) * dc)) /\ exists ff_q_lucas_point_remainder. db = ff_q_lucas_point_remainder * S ((S (i)) * dc) + (remainder))) /\ (value = p * quotient + remainder /\ (exists ldc_lt_point_digit_bound. ldc_lt_point_digit_bound + S (remainder) = p)))) - 0016
apply hprefix - 0017
exact hbound - 0018
cases hpoint - 0019
cases hpoint_witness - 0020
cases hpoint_witness_witness - 0021
cases hpoint_witness_witness_witness - 0022
cases hpoint_witness_witness_witness_right - 0023
cases hpoint_witness_witness_witness_right_right - 0024
cases hpoint_witness_witness_witness_right_right_right - 0025
have hvalue : x = n - 0026
specialize beta_at_unique b - 0027
specialize beta_at_unique c - 0028
specialize beta_at_unique i - 0029
specialize beta_at_unique x - 0030
specialize beta_at_unique n - 0031
apply beta_at_unique - 0032
exact hpoint_witness_witness_witness_left - 0033
exact hsource - 0034
exists x1 - 0035
exists x2 - 0036
split - 0037
exact hpoint_witness_witness_witness_right_left - 0038
split - 0039
exact hpoint_witness_witness_witness_right_right_left - 0040
split - 0041
rewrite <- hvalue - 0042
exact hpoint_witness_witness_witness_right_right_right_left - 0043
exact hpoint_witness_witness_witness_right_right_right_right