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 e p q. (exists pa_b_bl_power pa_c_bl_power. ((forall pa_i_bl_power_repeat. (exists pa_lt_bl_power_repeat_bound. pa_lt_bl_power_repeat_bound + S pa_i_bl_power_repeat = e) -> (((exists pa_h_bl_power_repeat_decoded. pa_h_bl_power_repeat_decoded + S (2) = S ((S (pa_i_bl_power_repeat)) * pa_c_bl_power)) /\ exists pa_q_bl_power_repeat_decoded. pa_b_bl_power = pa_q_bl_power_repeat_decoded * S ((S (pa_i_bl_power_repeat)) * pa_c_bl_power) + (2)))) /\ (exists pa_u_bl_power_product pa_v_bl_power_product. ((((exists pa_h_bl_power_product_start. pa_h_bl_power_product_start + S (1) = S ((S (0)) * pa_v_bl_power_product)) /\ exists pa_q_bl_power_product_start. pa_u_bl_power_product = pa_q_bl_power_product_start * S ((S (0)) * pa_v_bl_power_product) + (1))) /\ ((((exists pa_h_bl_power_product_terminal. pa_h_bl_power_product_terminal + S (p) = S ((S (e)) * pa_v_bl_power_product)) /\ exists pa_q_bl_power_product_terminal. pa_u_bl_power_product = pa_q_bl_power_product_terminal * S ((S (e)) * pa_v_bl_power_product) + (p))) /\ forall pa_i_bl_power_product. (exists pa_lt_bl_power_product_bound. pa_lt_bl_power_product_bound + S pa_i_bl_power_product = e) -> exists pa_p_bl_power_product pa_r_bl_power_product pa_s_bl_power_product. ((((exists pa_h_bl_power_product_factor. pa_h_bl_power_product_factor + S (pa_p_bl_power_product) = S ((S (pa_i_bl_power_product)) * pa_c_bl_power)) /\ exists pa_q_bl_power_product_factor. pa_b_bl_power = pa_q_bl_power_product_factor * S ((S (pa_i_bl_power_product)) * pa_c_bl_power) + (pa_p_bl_power_product))) /\ ((((exists pa_h_bl_power_product_partial. pa_h_bl_power_product_partial + S (pa_r_bl_power_product) = S ((S (pa_i_bl_power_product)) * pa_v_bl_power_product)) /\ exists pa_q_bl_power_product_partial. pa_u_bl_power_product = pa_q_bl_power_product_partial * S ((S (pa_i_bl_power_product)) * pa_v_bl_power_product) + (pa_r_bl_power_product))) /\ ((((exists pa_h_bl_power_product_successor. pa_h_bl_power_product_successor + S (pa_s_bl_power_product) = S ((S (S pa_i_bl_power_product)) * pa_v_bl_power_product)) /\ exists pa_q_bl_power_product_successor. pa_u_bl_power_product = pa_q_bl_power_product_successor * S ((S (S pa_i_bl_power_product)) * pa_v_bl_power_product) + (pa_s_bl_power_product))) /\ pa_s_bl_power_product = pa_r_bl_power_product * pa_p_bl_power_product)))))))) -> (exists pa_b_bl_next_power pa_c_bl_next_power. ((forall pa_i_bl_next_power_repeat. (exists pa_lt_bl_next_power_repeat_bound. pa_lt_bl_next_power_repeat_bound + S pa_i_bl_next_power_repeat = S e) -> (((exists pa_h_bl_next_power_repeat_decoded. pa_h_bl_next_power_repeat_decoded + S (2) = S ((S (pa_i_bl_next_power_repeat)) * pa_c_bl_next_power)) /\ exists pa_q_bl_next_power_repeat_decoded. pa_b_bl_next_power = pa_q_bl_next_power_repeat_decoded * S ((S (pa_i_bl_next_power_repeat)) * pa_c_bl_next_power) + (2)))) /\ (exists pa_u_bl_next_power_product pa_v_bl_next_power_product. ((((exists pa_h_bl_next_power_product_start. pa_h_bl_next_power_product_start + S (1) = S ((S (0)) * pa_v_bl_next_power_product)) /\ exists pa_q_bl_next_power_product_start. pa_u_bl_next_power_product = pa_q_bl_next_power_product_start * S ((S (0)) * pa_v_bl_next_power_product) + (1))) /\ ((((exists pa_h_bl_next_power_product_terminal. pa_h_bl_next_power_product_terminal + S (q) = S ((S (S e)) * pa_v_bl_next_power_product)) /\ exists pa_q_bl_next_power_product_terminal. pa_u_bl_next_power_product = pa_q_bl_next_power_product_terminal * S ((S (S e)) * pa_v_bl_next_power_product) + (q))) /\ forall pa_i_bl_next_power_product. (exists pa_lt_bl_next_power_product_bound. pa_lt_bl_next_power_product_bound + S pa_i_bl_next_power_product = S e) -> exists pa_p_bl_next_power_product pa_r_bl_next_power_product pa_s_bl_next_power_product. ((((exists pa_h_bl_next_power_product_factor. pa_h_bl_next_power_product_factor + S (pa_p_bl_next_power_product) = S ((S (pa_i_bl_next_power_product)) * pa_c_bl_next_power)) /\ exists pa_q_bl_next_power_product_factor. pa_b_bl_next_power = pa_q_bl_next_power_product_factor * S ((S (pa_i_bl_next_power_product)) * pa_c_bl_next_power) + (pa_p_bl_next_power_product))) /\ ((((exists pa_h_bl_next_power_product_partial. pa_h_bl_next_power_product_partial + S (pa_r_bl_next_power_product) = S ((S (pa_i_bl_next_power_product)) * pa_v_bl_next_power_product)) /\ exists pa_q_bl_next_power_product_partial. pa_u_bl_next_power_product = pa_q_bl_next_power_product_partial * S ((S (pa_i_bl_next_power_product)) * pa_v_bl_next_power_product) + (pa_r_bl_next_power_product))) /\ ((((exists pa_h_bl_next_power_product_successor. pa_h_bl_next_power_product_successor + S (pa_s_bl_next_power_product) = S ((S (S pa_i_bl_next_power_product)) * pa_v_bl_next_power_product)) /\ exists pa_q_bl_next_power_product_successor. pa_u_bl_next_power_product = pa_q_bl_next_power_product_successor * S ((S (S pa_i_bl_next_power_product)) * pa_v_bl_next_power_product) + (pa_s_bl_next_power_product))) /\ pa_s_bl_next_power_product = pa_r_bl_next_power_product * pa_p_bl_next_power_product)))))))) -> exists gap. gap + S p = qConstructive proof overview
Generated structural guide
Successive beta-coded powers of two grow strictly.
The unchanged tactic script uses 4 declared prerequisites and contains 31 exact native proof lines.
Alpha v34 checked-use · first admitted v22 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
BL0008 binary_power_two_nonzero BL0009 binary_power_two_successor_double four_square_branch_positive_half_strict Alpha theorem; checked-use authorized two_mul_eq_add_self Alpha 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.
Named ingredients (2)
01Fix variables and assumptionsL1–5
02Establish hnonzeroL6–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary power two nonzero.
03Establish hdoubleL13–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary power two successor double.
04Establish hstrictL20–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square branch positive half strict.
05Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hstrict
06Construct an explicit witnessL25–25
Supply the displayed value, then prove that it has the required property.
- L25
exists x
07Calculate and transport equalitiesL26–26
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L26
trans 2 * p
08Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hstrict_witness
09Calculate and transport equalitiesL28–28
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L28
trans p + p
10Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
apply two_mul_eq_add_self
11Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
symm
12Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact hdouble
Original exact command ledger · 31 lines
- 0001
intro e - 0002
intro p - 0003
intro q - 0004
intro hp - 0005
intro hq - 0006
have hnonzero : ~(p = 0) - 0007
intro hzero - 0008
specialize binary_power_two_nonzero e - 0009
specialize binary_power_two_nonzero p - 0010
apply binary_power_two_nonzero - 0011
exact hp - 0012
exact hzero - 0013
have hdouble : q = p + p - 0014
specialize binary_power_two_successor_double e - 0015
specialize binary_power_two_successor_double p - 0016
specialize binary_power_two_successor_double q - 0017
apply binary_power_two_successor_double - 0018
exact hp - 0019
exact hq - 0020
have hstrict : exists gap. gap + S p = 2 * p - 0021
specialize four_square_branch_positive_half_strict p - 0022
apply four_square_branch_positive_half_strict - 0023
exact hnonzero - 0024
cases hstrict - 0025
exists x - 0026
trans 2 * p - 0027
exact hstrict_witness - 0028
trans p + p - 0029
apply two_mul_eq_add_self - 0030
symm - 0031
exact hdouble