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_bd_old ff_digit_be_bd_old. (exists ff_lt_be_bd_old_bound. ff_lt_be_bd_old_bound + S ff_index_be_bd_old = l) -> (((exists ff_h_be_bd_old_digit. ff_h_be_bd_old_digit + S (ff_digit_be_bd_old) = S ((S (ff_index_be_bd_old)) * c)) /\ exists ff_q_be_bd_old_digit. b = ff_q_be_bd_old_digit * S ((S (ff_index_be_bd_old)) * c) + (ff_digit_be_bd_old))) -> (ff_digit_be_bd_old = 0 \/ ff_digit_be_bd_old = 1)) -> exists operations. (exists ff_ones_bd_operation_total. ((((exists ff_u_bd_operation_total_count_sum ff_v_bd_operation_total_count_sum. ((((exists ff_h_bd_operation_total_count_sum_start. ff_h_bd_operation_total_count_sum_start + S (0) = S ((S (0)) * ff_v_bd_operation_total_count_sum)) /\ exists ff_q_bd_operation_total_count_sum_start. ff_u_bd_operation_total_count_sum = ff_q_bd_operation_total_count_sum_start * S ((S (0)) * ff_v_bd_operation_total_count_sum) + (0))) /\ ((((exists ff_h_bd_operation_total_count_sum_terminal. ff_h_bd_operation_total_count_sum_terminal + S (ff_ones_bd_operation_total) = S ((S (l)) * ff_v_bd_operation_total_count_sum)) /\ exists ff_q_bd_operation_total_count_sum_terminal. ff_u_bd_operation_total_count_sum = ff_q_bd_operation_total_count_sum_terminal * S ((S (l)) * ff_v_bd_operation_total_count_sum) + (ff_ones_bd_operation_total))) /\ forall ff_i_bd_operation_total_count_sum. (exists ff_lt_bd_operation_total_count_sum_bound. ff_lt_bd_operation_total_count_sum_bound + S ff_i_bd_operation_total_count_sum = l) -> exists ff_a_bd_operation_total_count_sum ff_r_bd_operation_total_count_sum ff_s_bd_operation_total_count_sum. ((((exists ff_h_bd_operation_total_count_sum_summand. ff_h_bd_operation_total_count_sum_summand + S (ff_a_bd_operation_total_count_sum) = S ((S (ff_i_bd_operation_total_count_sum)) * c)) /\ exists ff_q_bd_operation_total_count_sum_summand. b = ff_q_bd_operation_total_count_sum_summand * S ((S (ff_i_bd_operation_total_count_sum)) * c) + (ff_a_bd_operation_total_count_sum))) /\ ((((exists ff_h_bd_operation_total_count_sum_partial. ff_h_bd_operation_total_count_sum_partial + S (ff_r_bd_operation_total_count_sum) = S ((S (ff_i_bd_operation_total_count_sum)) * ff_v_bd_operation_total_count_sum)) /\ exists ff_q_bd_operation_total_count_sum_partial. ff_u_bd_operation_total_count_sum = ff_q_bd_operation_total_count_sum_partial * S ((S (ff_i_bd_operation_total_count_sum)) * ff_v_bd_operation_total_count_sum) + (ff_r_bd_operation_total_count_sum))) /\ ((((exists ff_h_bd_operation_total_count_sum_successor. ff_h_bd_operation_total_count_sum_successor + S (ff_s_bd_operation_total_count_sum) = S ((S (S ff_i_bd_operation_total_count_sum)) * ff_v_bd_operation_total_count_sum)) /\ exists ff_q_bd_operation_total_count_sum_successor. ff_u_bd_operation_total_count_sum = ff_q_bd_operation_total_count_sum_successor * S ((S (S ff_i_bd_operation_total_count_sum)) * ff_v_bd_operation_total_count_sum) + (ff_s_bd_operation_total_count_sum))) /\ ff_s_bd_operation_total_count_sum = ff_r_bd_operation_total_count_sum + ff_a_bd_operation_total_count_sum)))))) /\ (forall ff_i_bd_operation_total_count_bits. (exists ff_lt_bd_operation_total_count_bits_bound. ff_lt_bd_operation_total_count_bits_bound + S ff_i_bd_operation_total_count_bits = l) -> exists ff_bit_bd_operation_total_count_bits. ((((exists ff_h_bd_operation_total_count_bits_decoded. ff_h_bd_operation_total_count_bits_decoded + S (ff_bit_bd_operation_total_count_bits) = S ((S (ff_i_bd_operation_total_count_bits)) * c)) /\ exists ff_q_bd_operation_total_count_bits_decoded. b = ff_q_bd_operation_total_count_bits_decoded * S ((S (ff_i_bd_operation_total_count_bits)) * c) + (ff_bit_bd_operation_total_count_bits))) /\ (ff_bit_bd_operation_total_count_bits = 0 \/ ff_bit_bd_operation_total_count_bits = 1))))) /\ operations = (2 + (l + l)) + ff_ones_bd_operation_total))Constructive proof overview
Generated structural guide
Every actual coded digit prefix has a witnessed operation cost of two initializations, two operations per digit, and one optional multiply per one bit.
The unchanged tactic script uses 1 declared prerequisite and contains 16 exact native proof lines.
Alpha v34 checked-use · first admitted v23 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
Direct 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.
Named ingredients (1)
01Fix variables and assumptionsL1–4
02Establish hcountL5–10
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary digit prefix bit count exists.
03Separate the logical casesL11–11
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L11
cases hcount
04Construct an explicit witnessL12–13
05Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
split
06Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hcount_witness
07Calculate and transport equalitiesL16–16
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L16
refl
Original exact command ledger · 16 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro hdigits - 0005
have hcount : exists ones. (((exists ff_u_bd_operation_count_sum ff_v_bd_operation_count_sum. ((((exists ff_h_bd_operation_count_sum_start. ff_h_bd_operation_count_sum_start + S (0) = S ((S (0)) * ff_v_bd_operation_count_sum)) /\ exists ff_q_bd_operation_count_sum_start. ff_u_bd_operation_count_sum = ff_q_bd_operation_count_sum_start * S ((S (0)) * ff_v_bd_operation_count_sum) + (0))) /\ ((((exists ff_h_bd_operation_count_sum_terminal. ff_h_bd_operation_count_sum_terminal + S (ones) = S ((S (l)) * ff_v_bd_operation_count_sum)) /\ exists ff_q_bd_operation_count_sum_terminal. ff_u_bd_operation_count_sum = ff_q_bd_operation_count_sum_terminal * S ((S (l)) * ff_v_bd_operation_count_sum) + (ones))) /\ forall ff_i_bd_operation_count_sum. (exists ff_lt_bd_operation_count_sum_bound. ff_lt_bd_operation_count_sum_bound + S ff_i_bd_operation_count_sum = l) -> exists ff_a_bd_operation_count_sum ff_r_bd_operation_count_sum ff_s_bd_operation_count_sum. ((((exists ff_h_bd_operation_count_sum_summand. ff_h_bd_operation_count_sum_summand + S (ff_a_bd_operation_count_sum) = S ((S (ff_i_bd_operation_count_sum)) * c)) /\ exists ff_q_bd_operation_count_sum_summand. b = ff_q_bd_operation_count_sum_summand * S ((S (ff_i_bd_operation_count_sum)) * c) + (ff_a_bd_operation_count_sum))) /\ ((((exists ff_h_bd_operation_count_sum_partial. ff_h_bd_operation_count_sum_partial + S (ff_r_bd_operation_count_sum) = S ((S (ff_i_bd_operation_count_sum)) * ff_v_bd_operation_count_sum)) /\ exists ff_q_bd_operation_count_sum_partial. ff_u_bd_operation_count_sum = ff_q_bd_operation_count_sum_partial * S ((S (ff_i_bd_operation_count_sum)) * ff_v_bd_operation_count_sum) + (ff_r_bd_operation_count_sum))) /\ ((((exists ff_h_bd_operation_count_sum_successor. ff_h_bd_operation_count_sum_successor + S (ff_s_bd_operation_count_sum) = S ((S (S ff_i_bd_operation_count_sum)) * ff_v_bd_operation_count_sum)) /\ exists ff_q_bd_operation_count_sum_successor. ff_u_bd_operation_count_sum = ff_q_bd_operation_count_sum_successor * S ((S (S ff_i_bd_operation_count_sum)) * ff_v_bd_operation_count_sum) + (ff_s_bd_operation_count_sum))) /\ ff_s_bd_operation_count_sum = ff_r_bd_operation_count_sum + ff_a_bd_operation_count_sum)))))) /\ (forall ff_i_bd_operation_count_bits. (exists ff_lt_bd_operation_count_bits_bound. ff_lt_bd_operation_count_bits_bound + S ff_i_bd_operation_count_bits = l) -> exists ff_bit_bd_operation_count_bits. ((((exists ff_h_bd_operation_count_bits_decoded. ff_h_bd_operation_count_bits_decoded + S (ff_bit_bd_operation_count_bits) = S ((S (ff_i_bd_operation_count_bits)) * c)) /\ exists ff_q_bd_operation_count_bits_decoded. b = ff_q_bd_operation_count_bits_decoded * S ((S (ff_i_bd_operation_count_bits)) * c) + (ff_bit_bd_operation_count_bits))) /\ (ff_bit_bd_operation_count_bits = 0 \/ ff_bit_bd_operation_count_bits = 1))))) - 0006
specialize binary_digit_prefix_bit_count_exists b - 0007
specialize binary_digit_prefix_bit_count_exists c - 0008
specialize binary_digit_prefix_bit_count_exists l - 0009
apply binary_digit_prefix_bit_count_exists - 0010
exact hdigits - 0011
cases hcount - 0012
exists (2 + (l + l)) + x - 0013
exists x - 0014
split - 0015
exact hcount_witness - 0016
refl
Separate complete second-wave branches: Full T13 proof · Alpha v27.