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 a h e x z. (((e = S (h + h)) /\ ((exists ff_b_binary_odd_half ff_c_binary_odd_half. ((forall ff_i_binary_odd_half_repeat. (exists ff_lt_binary_odd_half_repeat_bound. ff_lt_binary_odd_half_repeat_bound + S ff_i_binary_odd_half_repeat = h) -> (((exists ff_h_binary_odd_half_repeat_decoded. ff_h_binary_odd_half_repeat_decoded + S (a) = S ((S (ff_i_binary_odd_half_repeat)) * ff_c_binary_odd_half)) /\ exists ff_q_binary_odd_half_repeat_decoded. ff_b_binary_odd_half = ff_q_binary_odd_half_repeat_decoded * S ((S (ff_i_binary_odd_half_repeat)) * ff_c_binary_odd_half) + (a)))) /\ (exists ff_u_binary_odd_half_product ff_v_binary_odd_half_product. ((((exists ff_h_binary_odd_half_product_start. ff_h_binary_odd_half_product_start + S (1) = S ((S (0)) * ff_v_binary_odd_half_product)) /\ exists ff_q_binary_odd_half_product_start. ff_u_binary_odd_half_product = ff_q_binary_odd_half_product_start * S ((S (0)) * ff_v_binary_odd_half_product) + (1))) /\ ((((exists ff_h_binary_odd_half_product_terminal. ff_h_binary_odd_half_product_terminal + S (x) = S ((S (h)) * ff_v_binary_odd_half_product)) /\ exists ff_q_binary_odd_half_product_terminal. ff_u_binary_odd_half_product = ff_q_binary_odd_half_product_terminal * S ((S (h)) * ff_v_binary_odd_half_product) + (x))) /\ forall ff_i_binary_odd_half_product. (exists ff_lt_binary_odd_half_product_bound. ff_lt_binary_odd_half_product_bound + S ff_i_binary_odd_half_product = h) -> exists ff_p_binary_odd_half_product ff_r_binary_odd_half_product ff_s_binary_odd_half_product. ((((exists ff_h_binary_odd_half_product_factor. ff_h_binary_odd_half_product_factor + S (ff_p_binary_odd_half_product) = S ((S (ff_i_binary_odd_half_product)) * ff_c_binary_odd_half)) /\ exists ff_q_binary_odd_half_product_factor. ff_b_binary_odd_half = ff_q_binary_odd_half_product_factor * S ((S (ff_i_binary_odd_half_product)) * ff_c_binary_odd_half) + (ff_p_binary_odd_half_product))) /\ ((((exists ff_h_binary_odd_half_product_partial. ff_h_binary_odd_half_product_partial + S (ff_r_binary_odd_half_product) = S ((S (ff_i_binary_odd_half_product)) * ff_v_binary_odd_half_product)) /\ exists ff_q_binary_odd_half_product_partial. ff_u_binary_odd_half_product = ff_q_binary_odd_half_product_partial * S ((S (ff_i_binary_odd_half_product)) * ff_v_binary_odd_half_product) + (ff_r_binary_odd_half_product))) /\ ((((exists ff_h_binary_odd_half_product_successor. ff_h_binary_odd_half_product_successor + S (ff_s_binary_odd_half_product) = S ((S (S ff_i_binary_odd_half_product)) * ff_v_binary_odd_half_product)) /\ exists ff_q_binary_odd_half_product_successor. ff_u_binary_odd_half_product = ff_q_binary_odd_half_product_successor * S ((S (S ff_i_binary_odd_half_product)) * ff_v_binary_odd_half_product) + (ff_s_binary_odd_half_product))) /\ ff_s_binary_odd_half_product = ff_r_binary_odd_half_product * ff_p_binary_odd_half_product)))))))) /\ (exists ff_b_binary_odd_full ff_c_binary_odd_full. ((forall ff_i_binary_odd_full_repeat. (exists ff_lt_binary_odd_full_repeat_bound. ff_lt_binary_odd_full_repeat_bound + S ff_i_binary_odd_full_repeat = e) -> (((exists ff_h_binary_odd_full_repeat_decoded. ff_h_binary_odd_full_repeat_decoded + S (a) = S ((S (ff_i_binary_odd_full_repeat)) * ff_c_binary_odd_full)) /\ exists ff_q_binary_odd_full_repeat_decoded. ff_b_binary_odd_full = ff_q_binary_odd_full_repeat_decoded * S ((S (ff_i_binary_odd_full_repeat)) * ff_c_binary_odd_full) + (a)))) /\ (exists ff_u_binary_odd_full_product ff_v_binary_odd_full_product. ((((exists ff_h_binary_odd_full_product_start. ff_h_binary_odd_full_product_start + S (1) = S ((S (0)) * ff_v_binary_odd_full_product)) /\ exists ff_q_binary_odd_full_product_start. ff_u_binary_odd_full_product = ff_q_binary_odd_full_product_start * S ((S (0)) * ff_v_binary_odd_full_product) + (1))) /\ ((((exists ff_h_binary_odd_full_product_terminal. ff_h_binary_odd_full_product_terminal + S (z) = S ((S (e)) * ff_v_binary_odd_full_product)) /\ exists ff_q_binary_odd_full_product_terminal. ff_u_binary_odd_full_product = ff_q_binary_odd_full_product_terminal * S ((S (e)) * ff_v_binary_odd_full_product) + (z))) /\ forall ff_i_binary_odd_full_product. (exists ff_lt_binary_odd_full_product_bound. ff_lt_binary_odd_full_product_bound + S ff_i_binary_odd_full_product = e) -> exists ff_p_binary_odd_full_product ff_r_binary_odd_full_product ff_s_binary_odd_full_product. ((((exists ff_h_binary_odd_full_product_factor. ff_h_binary_odd_full_product_factor + S (ff_p_binary_odd_full_product) = S ((S (ff_i_binary_odd_full_product)) * ff_c_binary_odd_full)) /\ exists ff_q_binary_odd_full_product_factor. ff_b_binary_odd_full = ff_q_binary_odd_full_product_factor * S ((S (ff_i_binary_odd_full_product)) * ff_c_binary_odd_full) + (ff_p_binary_odd_full_product))) /\ ((((exists ff_h_binary_odd_full_product_partial. ff_h_binary_odd_full_product_partial + S (ff_r_binary_odd_full_product) = S ((S (ff_i_binary_odd_full_product)) * ff_v_binary_odd_full_product)) /\ exists ff_q_binary_odd_full_product_partial. ff_u_binary_odd_full_product = ff_q_binary_odd_full_product_partial * S ((S (ff_i_binary_odd_full_product)) * ff_v_binary_odd_full_product) + (ff_r_binary_odd_full_product))) /\ ((((exists ff_h_binary_odd_full_product_successor. ff_h_binary_odd_full_product_successor + S (ff_s_binary_odd_full_product) = S ((S (S ff_i_binary_odd_full_product)) * ff_v_binary_odd_full_product)) /\ exists ff_q_binary_odd_full_product_successor. ff_u_binary_odd_full_product = ff_q_binary_odd_full_product_successor * S ((S (S ff_i_binary_odd_full_product)) * ff_v_binary_odd_full_product) + (ff_s_binary_odd_full_product))) /\ ff_s_binary_odd_full_product = ff_r_binary_odd_full_product * ff_p_binary_odd_full_product))))))))))) -> z = (x * x) * aConstructive proof overview
Generated structural guide
The relational power at an odd exponent is its squared half power times the base.
The unchanged tactic script uses 3 declared prerequisites and contains 40 exact native proof lines.
Alpha v34 checked-use · first admitted v21 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
pow_exists Stable theorem; checked-use authorized BX0006 binary_exponent_doubled_power pow_successor_pair_mul 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.
Named ingredients (1)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–8
03Establish hdoubleL9–12
04Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hdouble
05Establish hsquareL14–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary exponent doubled power.
06Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
split
07Calculate and transport equalitiesL22–22
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L22
refl
08Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
split
09Use earlier factsL24–25
10Establish hsuccessorL26–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor pair mul.
- L26
have hsuccessor : z = x1 * a - L27
specialize pow_successor_pair_mul a - L28
specialize pow_successor_pair_mul (h + h) - L29
specialize pow_successor_pair_mul e - L30
specialize pow_successor_pair_mul x1 - L31
specialize pow_successor_pair_mul z - L32
apply pow_successor_pair_mul - L33
exact hodd_left - L34
exact hdouble_witness - L35
exact hodd_right_right
11Calculate and transport equalitiesL36–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L36
trans x1 * a
12Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact hsuccessor
13Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
congr
14Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hsquare
15Calculate and transport equalitiesL40–40
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L40
refl
Original exact command ledger · 40 lines
- 0001
intro a - 0002
intro h - 0003
intro e - 0004
intro x - 0005
intro z - 0006
intro hodd - 0007
cases hodd - 0008
cases hodd_right - 0009
have hdouble : exists y. (exists pa_b_binary_odd_double pa_c_binary_odd_double. ((forall pa_i_binary_odd_double_repeat. (exists pa_lt_binary_odd_double_repeat_bound. pa_lt_binary_odd_double_repeat_bound + S pa_i_binary_odd_double_repeat = h + h) -> (((exists pa_h_binary_odd_double_repeat_decoded. pa_h_binary_odd_double_repeat_decoded + S (a) = S ((S (pa_i_binary_odd_double_repeat)) * pa_c_binary_odd_double)) /\ exists pa_q_binary_odd_double_repeat_decoded. pa_b_binary_odd_double = pa_q_binary_odd_double_repeat_decoded * S ((S (pa_i_binary_odd_double_repeat)) * pa_c_binary_odd_double) + (a)))) /\ (exists pa_u_binary_odd_double_product pa_v_binary_odd_double_product. ((((exists pa_h_binary_odd_double_product_start. pa_h_binary_odd_double_product_start + S (1) = S ((S (0)) * pa_v_binary_odd_double_product)) /\ exists pa_q_binary_odd_double_product_start. pa_u_binary_odd_double_product = pa_q_binary_odd_double_product_start * S ((S (0)) * pa_v_binary_odd_double_product) + (1))) /\ ((((exists pa_h_binary_odd_double_product_terminal. pa_h_binary_odd_double_product_terminal + S (y) = S ((S (h + h)) * pa_v_binary_odd_double_product)) /\ exists pa_q_binary_odd_double_product_terminal. pa_u_binary_odd_double_product = pa_q_binary_odd_double_product_terminal * S ((S (h + h)) * pa_v_binary_odd_double_product) + (y))) /\ forall pa_i_binary_odd_double_product. (exists pa_lt_binary_odd_double_product_bound. pa_lt_binary_odd_double_product_bound + S pa_i_binary_odd_double_product = h + h) -> exists pa_p_binary_odd_double_product pa_r_binary_odd_double_product pa_s_binary_odd_double_product. ((((exists pa_h_binary_odd_double_product_factor. pa_h_binary_odd_double_product_factor + S (pa_p_binary_odd_double_product) = S ((S (pa_i_binary_odd_double_product)) * pa_c_binary_odd_double)) /\ exists pa_q_binary_odd_double_product_factor. pa_b_binary_odd_double = pa_q_binary_odd_double_product_factor * S ((S (pa_i_binary_odd_double_product)) * pa_c_binary_odd_double) + (pa_p_binary_odd_double_product))) /\ ((((exists pa_h_binary_odd_double_product_partial. pa_h_binary_odd_double_product_partial + S (pa_r_binary_odd_double_product) = S ((S (pa_i_binary_odd_double_product)) * pa_v_binary_odd_double_product)) /\ exists pa_q_binary_odd_double_product_partial. pa_u_binary_odd_double_product = pa_q_binary_odd_double_product_partial * S ((S (pa_i_binary_odd_double_product)) * pa_v_binary_odd_double_product) + (pa_r_binary_odd_double_product))) /\ ((((exists pa_h_binary_odd_double_product_successor. pa_h_binary_odd_double_product_successor + S (pa_s_binary_odd_double_product) = S ((S (S pa_i_binary_odd_double_product)) * pa_v_binary_odd_double_product)) /\ exists pa_q_binary_odd_double_product_successor. pa_u_binary_odd_double_product = pa_q_binary_odd_double_product_successor * S ((S (S pa_i_binary_odd_double_product)) * pa_v_binary_odd_double_product) + (pa_s_binary_odd_double_product))) /\ pa_s_binary_odd_double_product = pa_r_binary_odd_double_product * pa_p_binary_odd_double_product)))))))) - 0010
specialize pow_exists a - 0011
specialize pow_exists (h + h) - 0012
exact pow_exists - 0013
cases hdouble - 0014
have hsquare : x1 = x * x - 0015
specialize binary_exponent_doubled_power a - 0016
specialize binary_exponent_doubled_power h - 0017
specialize binary_exponent_doubled_power (h + h) - 0018
specialize binary_exponent_doubled_power x - 0019
specialize binary_exponent_doubled_power x1 - 0020
apply binary_exponent_doubled_power - 0021
split - 0022
refl - 0023
split - 0024
exact hodd_right_left - 0025
exact hdouble_witness - 0026
have hsuccessor : z = x1 * a - 0027
specialize pow_successor_pair_mul a - 0028
specialize pow_successor_pair_mul (h + h) - 0029
specialize pow_successor_pair_mul e - 0030
specialize pow_successor_pair_mul x1 - 0031
specialize pow_successor_pair_mul z - 0032
apply pow_successor_pair_mul - 0033
exact hodd_left - 0034
exact hdouble_witness - 0035
exact hodd_right_right - 0036
trans x1 * a - 0037
exact hsuccessor - 0038
congr - 0039
exact hsquare - 0040
refl