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.
Exact expanded first-order arithmetic statement
forall b c l. (forall ff_index_be_prefix_next ff_digit_be_prefix_next. (exists ff_lt_be_prefix_next_bound. ff_lt_be_prefix_next_bound + S ff_index_be_prefix_next = S l) -> (((exists ff_h_be_prefix_next_digit. ff_h_be_prefix_next_digit + S (ff_digit_be_prefix_next) = S ((S (ff_index_be_prefix_next)) * c)) /\ exists ff_q_be_prefix_next_digit. b = ff_q_be_prefix_next_digit * S ((S (ff_index_be_prefix_next)) * c) + (ff_digit_be_prefix_next))) -> (ff_digit_be_prefix_next = 0 \/ ff_digit_be_prefix_next = 1)) -> exists x. ((((exists ff_h_be_terminal_digit. ff_h_be_terminal_digit + S (x) = S ((S (l)) * c)) /\ exists ff_q_be_terminal_digit. b = ff_q_be_terminal_digit * S ((S (l)) * c) + (x))) /\ (x = 0 \/ x = 1))Constructive proof overview
Generated structural guide
Every nonempty valid beta-coded binary prefix has a genuine final zero-or-one digit.
The unchanged tactic script uses 2 declared prerequisites and contains 19 exact native proof lines.
Alpha v34 checked-use · first admitted v22 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_exists Stable theorem; checked-use authorized le_refl Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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–4
02Establish hdigitL5–9
Establish this local claim before using it. It is not an additional assumption.
- L5
have hdigit : exists x. (((exists ff_h_be_terminal_digit. ff_h_be_terminal_digit + S (x) = S ((S (l)) * c)) /\ exists ff_q_be_terminal_digit. b = ff_q_be_terminal_digit * S ((S (l)) * c) + (x))) - L6
specialize beta_at_exists b - L7
specialize beta_at_exists c - L8
specialize beta_at_exists l - L9
exact beta_at_exists
03Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
cases hdigit
04Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists x
05Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
split
Original exact command ledger · 19 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro hdigits - 0005
have hdigit : exists x. (((exists ff_h_be_terminal_digit. ff_h_be_terminal_digit + S (x) = S ((S (l)) * c)) /\ exists ff_q_be_terminal_digit. b = ff_q_be_terminal_digit * S ((S (l)) * c) + (x))) - 0006
specialize beta_at_exists b - 0007
specialize beta_at_exists c - 0008
specialize beta_at_exists l - 0009
exact beta_at_exists - 0010
cases hdigit - 0011
exists x - 0012
split - 0013
exact hdigit_witness - 0014
specialize hdigits l - 0015
specialize hdigits x - 0016
apply hdigits - 0017
specialize le_refl (S l) - 0018
exact le_refl - 0019
exact hdigit_witness