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 n ell. ((((n) = 0 /\ (ell) = 1) \/ exists ff_exponent_bl_pc_length_positive_source ff_lower_bl_pc_length_positive_source ff_upper_bl_pc_length_positive_source. (((ell) = S ff_exponent_bl_pc_length_positive_source) /\ ((exists ff_positive_bl_pc_length_positive_source. ff_positive_bl_pc_length_positive_source + 1 = (n)) /\ ((exists pa_b_bl_pc_length_positive_source_lower pa_c_bl_pc_length_positive_source_lower. ((forall pa_i_bl_pc_length_positive_source_lower_repeat. (exists pa_lt_bl_pc_length_positive_source_lower_repeat_bound. pa_lt_bl_pc_length_positive_source_lower_repeat_bound + S pa_i_bl_pc_length_positive_source_lower_repeat = ff_exponent_bl_pc_length_positive_source) -> (((exists pa_h_bl_pc_length_positive_source_lower_repeat_decoded. pa_h_bl_pc_length_positive_source_lower_repeat_decoded + S (2) = S ((S (pa_i_bl_pc_length_positive_source_lower_repeat)) * pa_c_bl_pc_length_positive_source_lower)) /\ exists pa_q_bl_pc_length_positive_source_lower_repeat_decoded. pa_b_bl_pc_length_positive_source_lower = pa_q_bl_pc_length_positive_source_lower_repeat_decoded * S ((S (pa_i_bl_pc_length_positive_source_lower_repeat)) * pa_c_bl_pc_length_positive_source_lower) + (2)))) /\ (exists pa_u_bl_pc_length_positive_source_lower_product pa_v_bl_pc_length_positive_source_lower_product. ((((exists pa_h_bl_pc_length_positive_source_lower_product_start. pa_h_bl_pc_length_positive_source_lower_product_start + S (1) = S ((S (0)) * pa_v_bl_pc_length_positive_source_lower_product)) /\ exists pa_q_bl_pc_length_positive_source_lower_product_start. pa_u_bl_pc_length_positive_source_lower_product = pa_q_bl_pc_length_positive_source_lower_product_start * S ((S (0)) * pa_v_bl_pc_length_positive_source_lower_product) + (1))) /\ ((((exists pa_h_bl_pc_length_positive_source_lower_product_terminal. pa_h_bl_pc_length_positive_source_lower_product_terminal + S (ff_lower_bl_pc_length_positive_source) = S ((S (ff_exponent_bl_pc_length_positive_source)) * pa_v_bl_pc_length_positive_source_lower_product)) /\ exists pa_q_bl_pc_length_positive_source_lower_product_terminal. pa_u_bl_pc_length_positive_source_lower_product = pa_q_bl_pc_length_positive_source_lower_product_terminal * S ((S (ff_exponent_bl_pc_length_positive_source)) * pa_v_bl_pc_length_positive_source_lower_product) + (ff_lower_bl_pc_length_positive_source))) /\ forall pa_i_bl_pc_length_positive_source_lower_product. (exists pa_lt_bl_pc_length_positive_source_lower_product_bound. pa_lt_bl_pc_length_positive_source_lower_product_bound + S pa_i_bl_pc_length_positive_source_lower_product = ff_exponent_bl_pc_length_positive_source) -> exists pa_p_bl_pc_length_positive_source_lower_product pa_r_bl_pc_length_positive_source_lower_product pa_s_bl_pc_length_positive_source_lower_product. ((((exists pa_h_bl_pc_length_positive_source_lower_product_factor. pa_h_bl_pc_length_positive_source_lower_product_factor + S (pa_p_bl_pc_length_positive_source_lower_product) = S ((S (pa_i_bl_pc_length_positive_source_lower_product)) * pa_c_bl_pc_length_positive_source_lower)) /\ exists pa_q_bl_pc_length_positive_source_lower_product_factor. pa_b_bl_pc_length_positive_source_lower = pa_q_bl_pc_length_positive_source_lower_product_factor * S ((S (pa_i_bl_pc_length_positive_source_lower_product)) * pa_c_bl_pc_length_positive_source_lower) + (pa_p_bl_pc_length_positive_source_lower_product))) /\ ((((exists pa_h_bl_pc_length_positive_source_lower_product_partial. pa_h_bl_pc_length_positive_source_lower_product_partial + S (pa_r_bl_pc_length_positive_source_lower_product) = S ((S (pa_i_bl_pc_length_positive_source_lower_product)) * pa_v_bl_pc_length_positive_source_lower_product)) /\ exists pa_q_bl_pc_length_positive_source_lower_product_partial. pa_u_bl_pc_length_positive_source_lower_product = pa_q_bl_pc_length_positive_source_lower_product_partial * S ((S (pa_i_bl_pc_length_positive_source_lower_product)) * pa_v_bl_pc_length_positive_source_lower_product) + (pa_r_bl_pc_length_positive_source_lower_product))) /\ ((((exists pa_h_bl_pc_length_positive_source_lower_product_successor. pa_h_bl_pc_length_positive_source_lower_product_successor + S (pa_s_bl_pc_length_positive_source_lower_product) = S ((S (S pa_i_bl_pc_length_positive_source_lower_product)) * pa_v_bl_pc_length_positive_source_lower_product)) /\ exists pa_q_bl_pc_length_positive_source_lower_product_successor. pa_u_bl_pc_length_positive_source_lower_product = pa_q_bl_pc_length_positive_source_lower_product_successor * S ((S (S pa_i_bl_pc_length_positive_source_lower_product)) * pa_v_bl_pc_length_positive_source_lower_product) + (pa_s_bl_pc_length_positive_source_lower_product))) /\ pa_s_bl_pc_length_positive_source_lower_product = pa_r_bl_pc_length_positive_source_lower_product * pa_p_bl_pc_length_positive_source_lower_product)))))))) /\ ((exists pa_b_bl_pc_length_positive_source_upper pa_c_bl_pc_length_positive_source_upper. ((forall pa_i_bl_pc_length_positive_source_upper_repeat. (exists pa_lt_bl_pc_length_positive_source_upper_repeat_bound. pa_lt_bl_pc_length_positive_source_upper_repeat_bound + S pa_i_bl_pc_length_positive_source_upper_repeat = ell) -> (((exists pa_h_bl_pc_length_positive_source_upper_repeat_decoded. pa_h_bl_pc_length_positive_source_upper_repeat_decoded + S (2) = S ((S (pa_i_bl_pc_length_positive_source_upper_repeat)) * pa_c_bl_pc_length_positive_source_upper)) /\ exists pa_q_bl_pc_length_positive_source_upper_repeat_decoded. pa_b_bl_pc_length_positive_source_upper = pa_q_bl_pc_length_positive_source_upper_repeat_decoded * S ((S (pa_i_bl_pc_length_positive_source_upper_repeat)) * pa_c_bl_pc_length_positive_source_upper) + (2)))) /\ (exists pa_u_bl_pc_length_positive_source_upper_product pa_v_bl_pc_length_positive_source_upper_product. ((((exists pa_h_bl_pc_length_positive_source_upper_product_start. pa_h_bl_pc_length_positive_source_upper_product_start + S (1) = S ((S (0)) * pa_v_bl_pc_length_positive_source_upper_product)) /\ exists pa_q_bl_pc_length_positive_source_upper_product_start. pa_u_bl_pc_length_positive_source_upper_product = pa_q_bl_pc_length_positive_source_upper_product_start * S ((S (0)) * pa_v_bl_pc_length_positive_source_upper_product) + (1))) /\ ((((exists pa_h_bl_pc_length_positive_source_upper_product_terminal. pa_h_bl_pc_length_positive_source_upper_product_terminal + S (ff_upper_bl_pc_length_positive_source) = S ((S (ell)) * pa_v_bl_pc_length_positive_source_upper_product)) /\ exists pa_q_bl_pc_length_positive_source_upper_product_terminal. pa_u_bl_pc_length_positive_source_upper_product = pa_q_bl_pc_length_positive_source_upper_product_terminal * S ((S (ell)) * pa_v_bl_pc_length_positive_source_upper_product) + (ff_upper_bl_pc_length_positive_source))) /\ forall pa_i_bl_pc_length_positive_source_upper_product. (exists pa_lt_bl_pc_length_positive_source_upper_product_bound. pa_lt_bl_pc_length_positive_source_upper_product_bound + S pa_i_bl_pc_length_positive_source_upper_product = ell) -> exists pa_p_bl_pc_length_positive_source_upper_product pa_r_bl_pc_length_positive_source_upper_product pa_s_bl_pc_length_positive_source_upper_product. ((((exists pa_h_bl_pc_length_positive_source_upper_product_factor. pa_h_bl_pc_length_positive_source_upper_product_factor + S (pa_p_bl_pc_length_positive_source_upper_product) = S ((S (pa_i_bl_pc_length_positive_source_upper_product)) * pa_c_bl_pc_length_positive_source_upper)) /\ exists pa_q_bl_pc_length_positive_source_upper_product_factor. pa_b_bl_pc_length_positive_source_upper = pa_q_bl_pc_length_positive_source_upper_product_factor * S ((S (pa_i_bl_pc_length_positive_source_upper_product)) * pa_c_bl_pc_length_positive_source_upper) + (pa_p_bl_pc_length_positive_source_upper_product))) /\ ((((exists pa_h_bl_pc_length_positive_source_upper_product_partial. pa_h_bl_pc_length_positive_source_upper_product_partial + S (pa_r_bl_pc_length_positive_source_upper_product) = S ((S (pa_i_bl_pc_length_positive_source_upper_product)) * pa_v_bl_pc_length_positive_source_upper_product)) /\ exists pa_q_bl_pc_length_positive_source_upper_product_partial. pa_u_bl_pc_length_positive_source_upper_product = pa_q_bl_pc_length_positive_source_upper_product_partial * S ((S (pa_i_bl_pc_length_positive_source_upper_product)) * pa_v_bl_pc_length_positive_source_upper_product) + (pa_r_bl_pc_length_positive_source_upper_product))) /\ ((((exists pa_h_bl_pc_length_positive_source_upper_product_successor. pa_h_bl_pc_length_positive_source_upper_product_successor + S (pa_s_bl_pc_length_positive_source_upper_product) = S ((S (S pa_i_bl_pc_length_positive_source_upper_product)) * pa_v_bl_pc_length_positive_source_upper_product)) /\ exists pa_q_bl_pc_length_positive_source_upper_product_successor. pa_u_bl_pc_length_positive_source_upper_product = pa_q_bl_pc_length_positive_source_upper_product_successor * S ((S (S pa_i_bl_pc_length_positive_source_upper_product)) * pa_v_bl_pc_length_positive_source_upper_product) + (pa_s_bl_pc_length_positive_source_upper_product))) /\ pa_s_bl_pc_length_positive_source_upper_product = pa_r_bl_pc_length_positive_source_upper_product * pa_p_bl_pc_length_positive_source_upper_product)))))))) /\ ((exists ff_lower_gap_bl_pc_length_positive_source. ff_lower_gap_bl_pc_length_positive_source + (ff_lower_bl_pc_length_positive_source) = (n)) /\ (exists ff_upper_gap_bl_pc_length_positive_source. ff_upper_gap_bl_pc_length_positive_source + S (n) = (ff_upper_bl_pc_length_positive_source))))))))) -> (exists pc_le_length_positive_result. pc_le_length_positive_result + (1) = (ell))Constructive proof overview
Generated structural guide
The established binary-length convention always has positive length, including zero input.
The unchanged tactic script uses 1 declared prerequisite and contains 15 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
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–3
02Separate the logical casesL4–5
03Calculate and transport equalitiesL6–6
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L6
rewrite h_left_right
04Use earlier factsL7–8
05Separate the logical casesL9–12
06Calculate and transport equalitiesL13–13
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L13
rewrite h_right_witness_witness_witness_left
07Construct an explicit witnessL14–14
Supply the displayed value, then prove that it has the required property.
- L14
exists x
08Calculate and transport equalitiesL15–15
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L15
simp
Original exact command ledger · 15 lines
- 0001
intro n - 0002
intro ell - 0003
intro h - 0004
cases h - 0005
cases h_left - 0006
rewrite h_left_right - 0007
specialize le_refl 1 - 0008
apply le_refl - 0009
cases h_right - 0010
cases h_right_witness - 0011
cases h_right_witness_witness - 0012
cases h_right_witness_witness_witness - 0013
rewrite h_right_witness_witness_witness_left - 0014
exists x - 0015
simp