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 b k u v. (exists pa_b_pvs_product_first pa_c_pvs_product_first. ((forall pa_i_pvs_product_first_repeat. (exists pa_lt_pvs_product_first_repeat_bound. pa_lt_pvs_product_first_repeat_bound + S pa_i_pvs_product_first_repeat = k) -> (((exists pa_h_pvs_product_first_repeat_decoded. pa_h_pvs_product_first_repeat_decoded + S (a) = S ((S (pa_i_pvs_product_first_repeat)) * pa_c_pvs_product_first)) /\ exists pa_q_pvs_product_first_repeat_decoded. pa_b_pvs_product_first = pa_q_pvs_product_first_repeat_decoded * S ((S (pa_i_pvs_product_first_repeat)) * pa_c_pvs_product_first) + (a)))) /\ (exists pa_u_pvs_product_first_product pa_v_pvs_product_first_product. ((((exists pa_h_pvs_product_first_product_start. pa_h_pvs_product_first_product_start + S (1) = S ((S (0)) * pa_v_pvs_product_first_product)) /\ exists pa_q_pvs_product_first_product_start. pa_u_pvs_product_first_product = pa_q_pvs_product_first_product_start * S ((S (0)) * pa_v_pvs_product_first_product) + (1))) /\ ((((exists pa_h_pvs_product_first_product_terminal. pa_h_pvs_product_first_product_terminal + S (u) = S ((S (k)) * pa_v_pvs_product_first_product)) /\ exists pa_q_pvs_product_first_product_terminal. pa_u_pvs_product_first_product = pa_q_pvs_product_first_product_terminal * S ((S (k)) * pa_v_pvs_product_first_product) + (u))) /\ forall pa_i_pvs_product_first_product. (exists pa_lt_pvs_product_first_product_bound. pa_lt_pvs_product_first_product_bound + S pa_i_pvs_product_first_product = k) -> exists pa_p_pvs_product_first_product pa_r_pvs_product_first_product pa_s_pvs_product_first_product. ((((exists pa_h_pvs_product_first_product_factor. pa_h_pvs_product_first_product_factor + S (pa_p_pvs_product_first_product) = S ((S (pa_i_pvs_product_first_product)) * pa_c_pvs_product_first)) /\ exists pa_q_pvs_product_first_product_factor. pa_b_pvs_product_first = pa_q_pvs_product_first_product_factor * S ((S (pa_i_pvs_product_first_product)) * pa_c_pvs_product_first) + (pa_p_pvs_product_first_product))) /\ ((((exists pa_h_pvs_product_first_product_partial. pa_h_pvs_product_first_product_partial + S (pa_r_pvs_product_first_product) = S ((S (pa_i_pvs_product_first_product)) * pa_v_pvs_product_first_product)) /\ exists pa_q_pvs_product_first_product_partial. pa_u_pvs_product_first_product = pa_q_pvs_product_first_product_partial * S ((S (pa_i_pvs_product_first_product)) * pa_v_pvs_product_first_product) + (pa_r_pvs_product_first_product))) /\ ((((exists pa_h_pvs_product_first_product_successor. pa_h_pvs_product_first_product_successor + S (pa_s_pvs_product_first_product) = S ((S (S pa_i_pvs_product_first_product)) * pa_v_pvs_product_first_product)) /\ exists pa_q_pvs_product_first_product_successor. pa_u_pvs_product_first_product = pa_q_pvs_product_first_product_successor * S ((S (S pa_i_pvs_product_first_product)) * pa_v_pvs_product_first_product) + (pa_s_pvs_product_first_product))) /\ pa_s_pvs_product_first_product = pa_r_pvs_product_first_product * pa_p_pvs_product_first_product)))))))) -> (exists pa_b_pvs_product_second pa_c_pvs_product_second. ((forall pa_i_pvs_product_second_repeat. (exists pa_lt_pvs_product_second_repeat_bound. pa_lt_pvs_product_second_repeat_bound + S pa_i_pvs_product_second_repeat = k) -> (((exists pa_h_pvs_product_second_repeat_decoded. pa_h_pvs_product_second_repeat_decoded + S (b) = S ((S (pa_i_pvs_product_second_repeat)) * pa_c_pvs_product_second)) /\ exists pa_q_pvs_product_second_repeat_decoded. pa_b_pvs_product_second = pa_q_pvs_product_second_repeat_decoded * S ((S (pa_i_pvs_product_second_repeat)) * pa_c_pvs_product_second) + (b)))) /\ (exists pa_u_pvs_product_second_product pa_v_pvs_product_second_product. ((((exists pa_h_pvs_product_second_product_start. pa_h_pvs_product_second_product_start + S (1) = S ((S (0)) * pa_v_pvs_product_second_product)) /\ exists pa_q_pvs_product_second_product_start. pa_u_pvs_product_second_product = pa_q_pvs_product_second_product_start * S ((S (0)) * pa_v_pvs_product_second_product) + (1))) /\ ((((exists pa_h_pvs_product_second_product_terminal. pa_h_pvs_product_second_product_terminal + S (v) = S ((S (k)) * pa_v_pvs_product_second_product)) /\ exists pa_q_pvs_product_second_product_terminal. pa_u_pvs_product_second_product = pa_q_pvs_product_second_product_terminal * S ((S (k)) * pa_v_pvs_product_second_product) + (v))) /\ forall pa_i_pvs_product_second_product. (exists pa_lt_pvs_product_second_product_bound. pa_lt_pvs_product_second_product_bound + S pa_i_pvs_product_second_product = k) -> exists pa_p_pvs_product_second_product pa_r_pvs_product_second_product pa_s_pvs_product_second_product. ((((exists pa_h_pvs_product_second_product_factor. pa_h_pvs_product_second_product_factor + S (pa_p_pvs_product_second_product) = S ((S (pa_i_pvs_product_second_product)) * pa_c_pvs_product_second)) /\ exists pa_q_pvs_product_second_product_factor. pa_b_pvs_product_second = pa_q_pvs_product_second_product_factor * S ((S (pa_i_pvs_product_second_product)) * pa_c_pvs_product_second) + (pa_p_pvs_product_second_product))) /\ ((((exists pa_h_pvs_product_second_product_partial. pa_h_pvs_product_second_product_partial + S (pa_r_pvs_product_second_product) = S ((S (pa_i_pvs_product_second_product)) * pa_v_pvs_product_second_product)) /\ exists pa_q_pvs_product_second_product_partial. pa_u_pvs_product_second_product = pa_q_pvs_product_second_product_partial * S ((S (pa_i_pvs_product_second_product)) * pa_v_pvs_product_second_product) + (pa_r_pvs_product_second_product))) /\ ((((exists pa_h_pvs_product_second_product_successor. pa_h_pvs_product_second_product_successor + S (pa_s_pvs_product_second_product) = S ((S (S pa_i_pvs_product_second_product)) * pa_v_pvs_product_second_product)) /\ exists pa_q_pvs_product_second_product_successor. pa_u_pvs_product_second_product = pa_q_pvs_product_second_product_successor * S ((S (S pa_i_pvs_product_second_product)) * pa_v_pvs_product_second_product) + (pa_s_pvs_product_second_product))) /\ pa_s_pvs_product_second_product = pa_r_pvs_product_second_product * pa_p_pvs_product_second_product)))))))) -> (exists pa_b_pvs_product_constructed pa_c_pvs_product_constructed. ((forall pa_i_pvs_product_constructed_repeat. (exists pa_lt_pvs_product_constructed_repeat_bound. pa_lt_pvs_product_constructed_repeat_bound + S pa_i_pvs_product_constructed_repeat = k) -> (((exists pa_h_pvs_product_constructed_repeat_decoded. pa_h_pvs_product_constructed_repeat_decoded + S (a * b) = S ((S (pa_i_pvs_product_constructed_repeat)) * pa_c_pvs_product_constructed)) /\ exists pa_q_pvs_product_constructed_repeat_decoded. pa_b_pvs_product_constructed = pa_q_pvs_product_constructed_repeat_decoded * S ((S (pa_i_pvs_product_constructed_repeat)) * pa_c_pvs_product_constructed) + (a * b)))) /\ (exists pa_u_pvs_product_constructed_product pa_v_pvs_product_constructed_product. ((((exists pa_h_pvs_product_constructed_product_start. pa_h_pvs_product_constructed_product_start + S (1) = S ((S (0)) * pa_v_pvs_product_constructed_product)) /\ exists pa_q_pvs_product_constructed_product_start. pa_u_pvs_product_constructed_product = pa_q_pvs_product_constructed_product_start * S ((S (0)) * pa_v_pvs_product_constructed_product) + (1))) /\ ((((exists pa_h_pvs_product_constructed_product_terminal. pa_h_pvs_product_constructed_product_terminal + S (u * v) = S ((S (k)) * pa_v_pvs_product_constructed_product)) /\ exists pa_q_pvs_product_constructed_product_terminal. pa_u_pvs_product_constructed_product = pa_q_pvs_product_constructed_product_terminal * S ((S (k)) * pa_v_pvs_product_constructed_product) + (u * v))) /\ forall pa_i_pvs_product_constructed_product. (exists pa_lt_pvs_product_constructed_product_bound. pa_lt_pvs_product_constructed_product_bound + S pa_i_pvs_product_constructed_product = k) -> exists pa_p_pvs_product_constructed_product pa_r_pvs_product_constructed_product pa_s_pvs_product_constructed_product. ((((exists pa_h_pvs_product_constructed_product_factor. pa_h_pvs_product_constructed_product_factor + S (pa_p_pvs_product_constructed_product) = S ((S (pa_i_pvs_product_constructed_product)) * pa_c_pvs_product_constructed)) /\ exists pa_q_pvs_product_constructed_product_factor. pa_b_pvs_product_constructed = pa_q_pvs_product_constructed_product_factor * S ((S (pa_i_pvs_product_constructed_product)) * pa_c_pvs_product_constructed) + (pa_p_pvs_product_constructed_product))) /\ ((((exists pa_h_pvs_product_constructed_product_partial. pa_h_pvs_product_constructed_product_partial + S (pa_r_pvs_product_constructed_product) = S ((S (pa_i_pvs_product_constructed_product)) * pa_v_pvs_product_constructed_product)) /\ exists pa_q_pvs_product_constructed_product_partial. pa_u_pvs_product_constructed_product = pa_q_pvs_product_constructed_product_partial * S ((S (pa_i_pvs_product_constructed_product)) * pa_v_pvs_product_constructed_product) + (pa_r_pvs_product_constructed_product))) /\ ((((exists pa_h_pvs_product_constructed_product_successor. pa_h_pvs_product_constructed_product_successor + S (pa_s_pvs_product_constructed_product) = S ((S (S pa_i_pvs_product_constructed_product)) * pa_v_pvs_product_constructed_product)) /\ exists pa_q_pvs_product_constructed_product_successor. pa_u_pvs_product_constructed_product = pa_q_pvs_product_constructed_product_successor * S ((S (S pa_i_pvs_product_constructed_product)) * pa_v_pvs_product_constructed_product) + (pa_s_pvs_product_constructed_product))) /\ pa_s_pvs_product_constructed_product = pa_r_pvs_product_constructed_product * pa_p_pvs_product_constructed_product))))))))Constructive proof overview
Generated structural guide
Two actual k-th power traces construct the power trace of the product of their roots.
The unchanged tactic script uses 3 declared prerequisites and contains 28 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
pow_exists Stable theorem; checked-use authorized pow_mul_base Alpha theorem; checked-use authorized SK0011 power_value_eq_transportDirect 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–7
02Establish hexL8–11
03Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hex
04Use earlier factsL13–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
specialize power_value_eq_transport (a * b) - L14
specialize power_value_eq_transport (k) - L15
specialize power_value_eq_transport (x) - L16
specialize power_value_eq_transport (u * v) - L17
apply power_value_eq_transport - L18
specialize pow_mul_base (a) - L19
specialize pow_mul_base (b) - L20
specialize pow_mul_base (k) - L21
specialize pow_mul_base (u) - L22
specialize pow_mul_base (v)
Original exact command ledger · 28 lines
- 0001
intro a - 0002
intro b - 0003
intro k - 0004
intro u - 0005
intro v - 0006
intro hfirst - 0007
intro hsecond - 0008
have hex : exists z. (exists pa_b_pvs_product_total pa_c_pvs_product_total. ((forall pa_i_pvs_product_total_repeat. (exists pa_lt_pvs_product_total_repeat_bound. pa_lt_pvs_product_total_repeat_bound + S pa_i_pvs_product_total_repeat = k) -> (((exists pa_h_pvs_product_total_repeat_decoded. pa_h_pvs_product_total_repeat_decoded + S (a * b) = S ((S (pa_i_pvs_product_total_repeat)) * pa_c_pvs_product_total)) /\ exists pa_q_pvs_product_total_repeat_decoded. pa_b_pvs_product_total = pa_q_pvs_product_total_repeat_decoded * S ((S (pa_i_pvs_product_total_repeat)) * pa_c_pvs_product_total) + (a * b)))) /\ (exists pa_u_pvs_product_total_product pa_v_pvs_product_total_product. ((((exists pa_h_pvs_product_total_product_start. pa_h_pvs_product_total_product_start + S (1) = S ((S (0)) * pa_v_pvs_product_total_product)) /\ exists pa_q_pvs_product_total_product_start. pa_u_pvs_product_total_product = pa_q_pvs_product_total_product_start * S ((S (0)) * pa_v_pvs_product_total_product) + (1))) /\ ((((exists pa_h_pvs_product_total_product_terminal. pa_h_pvs_product_total_product_terminal + S (z) = S ((S (k)) * pa_v_pvs_product_total_product)) /\ exists pa_q_pvs_product_total_product_terminal. pa_u_pvs_product_total_product = pa_q_pvs_product_total_product_terminal * S ((S (k)) * pa_v_pvs_product_total_product) + (z))) /\ forall pa_i_pvs_product_total_product. (exists pa_lt_pvs_product_total_product_bound. pa_lt_pvs_product_total_product_bound + S pa_i_pvs_product_total_product = k) -> exists pa_p_pvs_product_total_product pa_r_pvs_product_total_product pa_s_pvs_product_total_product. ((((exists pa_h_pvs_product_total_product_factor. pa_h_pvs_product_total_product_factor + S (pa_p_pvs_product_total_product) = S ((S (pa_i_pvs_product_total_product)) * pa_c_pvs_product_total)) /\ exists pa_q_pvs_product_total_product_factor. pa_b_pvs_product_total = pa_q_pvs_product_total_product_factor * S ((S (pa_i_pvs_product_total_product)) * pa_c_pvs_product_total) + (pa_p_pvs_product_total_product))) /\ ((((exists pa_h_pvs_product_total_product_partial. pa_h_pvs_product_total_product_partial + S (pa_r_pvs_product_total_product) = S ((S (pa_i_pvs_product_total_product)) * pa_v_pvs_product_total_product)) /\ exists pa_q_pvs_product_total_product_partial. pa_u_pvs_product_total_product = pa_q_pvs_product_total_product_partial * S ((S (pa_i_pvs_product_total_product)) * pa_v_pvs_product_total_product) + (pa_r_pvs_product_total_product))) /\ ((((exists pa_h_pvs_product_total_product_successor. pa_h_pvs_product_total_product_successor + S (pa_s_pvs_product_total_product) = S ((S (S pa_i_pvs_product_total_product)) * pa_v_pvs_product_total_product)) /\ exists pa_q_pvs_product_total_product_successor. pa_u_pvs_product_total_product = pa_q_pvs_product_total_product_successor * S ((S (S pa_i_pvs_product_total_product)) * pa_v_pvs_product_total_product) + (pa_s_pvs_product_total_product))) /\ pa_s_pvs_product_total_product = pa_r_pvs_product_total_product * pa_p_pvs_product_total_product)))))))) - 0009
specialize pow_exists (a * b) - 0010
specialize pow_exists (k) - 0011
apply pow_exists - 0012
cases hex - 0013
specialize power_value_eq_transport (a * b) - 0014
specialize power_value_eq_transport (k) - 0015
specialize power_value_eq_transport (x) - 0016
specialize power_value_eq_transport (u * v) - 0017
apply power_value_eq_transport - 0018
specialize pow_mul_base (a) - 0019
specialize pow_mul_base (b) - 0020
specialize pow_mul_base (k) - 0021
specialize pow_mul_base (u) - 0022
specialize pow_mul_base (v) - 0023
specialize pow_mul_base (x) - 0024
apply pow_mul_base - 0025
exact hfirst - 0026
exact hsecond - 0027
exact hex_witness - 0028
exact hex_witness