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 PA statement
forall p e a r q. ((~(p = 1) /\ forall frm_prime_left_bpd_prime frm_prime_right_bpd_prime. p = frm_prime_left_bpd_prime * frm_prime_right_bpd_prime -> frm_prime_left_bpd_prime = 1 \/ frm_prime_right_bpd_prime = 1)) -> (exists ff_b_bpd_cancel_prefix ff_c_bpd_cancel_prefix. ((forall ff_i_bpd_cancel_prefix_repeat. (exists ff_lt_bpd_cancel_prefix_repeat_bound. ff_lt_bpd_cancel_prefix_repeat_bound + S ff_i_bpd_cancel_prefix_repeat = e) -> (((exists ff_h_bpd_cancel_prefix_repeat_decoded. ff_h_bpd_cancel_prefix_repeat_decoded + S (p) = S ((S (ff_i_bpd_cancel_prefix_repeat)) * ff_c_bpd_cancel_prefix)) /\ exists ff_q_bpd_cancel_prefix_repeat_decoded. ff_b_bpd_cancel_prefix = ff_q_bpd_cancel_prefix_repeat_decoded * S ((S (ff_i_bpd_cancel_prefix_repeat)) * ff_c_bpd_cancel_prefix) + (p)))) /\ (exists ff_u_bpd_cancel_prefix_product ff_v_bpd_cancel_prefix_product. ((((exists ff_h_bpd_cancel_prefix_product_start. ff_h_bpd_cancel_prefix_product_start + S (1) = S ((S (0)) * ff_v_bpd_cancel_prefix_product)) /\ exists ff_q_bpd_cancel_prefix_product_start. ff_u_bpd_cancel_prefix_product = ff_q_bpd_cancel_prefix_product_start * S ((S (0)) * ff_v_bpd_cancel_prefix_product) + (1))) /\ ((((exists ff_h_bpd_cancel_prefix_product_terminal. ff_h_bpd_cancel_prefix_product_terminal + S (r) = S ((S (e)) * ff_v_bpd_cancel_prefix_product)) /\ exists ff_q_bpd_cancel_prefix_product_terminal. ff_u_bpd_cancel_prefix_product = ff_q_bpd_cancel_prefix_product_terminal * S ((S (e)) * ff_v_bpd_cancel_prefix_product) + (r))) /\ forall ff_i_bpd_cancel_prefix_product. (exists ff_lt_bpd_cancel_prefix_product_bound. ff_lt_bpd_cancel_prefix_product_bound + S ff_i_bpd_cancel_prefix_product = e) -> exists ff_p_bpd_cancel_prefix_product ff_r_bpd_cancel_prefix_product ff_s_bpd_cancel_prefix_product. ((((exists ff_h_bpd_cancel_prefix_product_factor. ff_h_bpd_cancel_prefix_product_factor + S (ff_p_bpd_cancel_prefix_product) = S ((S (ff_i_bpd_cancel_prefix_product)) * ff_c_bpd_cancel_prefix)) /\ exists ff_q_bpd_cancel_prefix_product_factor. ff_b_bpd_cancel_prefix = ff_q_bpd_cancel_prefix_product_factor * S ((S (ff_i_bpd_cancel_prefix_product)) * ff_c_bpd_cancel_prefix) + (ff_p_bpd_cancel_prefix_product))) /\ ((((exists ff_h_bpd_cancel_prefix_product_partial. ff_h_bpd_cancel_prefix_product_partial + S (ff_r_bpd_cancel_prefix_product) = S ((S (ff_i_bpd_cancel_prefix_product)) * ff_v_bpd_cancel_prefix_product)) /\ exists ff_q_bpd_cancel_prefix_product_partial. ff_u_bpd_cancel_prefix_product = ff_q_bpd_cancel_prefix_product_partial * S ((S (ff_i_bpd_cancel_prefix_product)) * ff_v_bpd_cancel_prefix_product) + (ff_r_bpd_cancel_prefix_product))) /\ ((((exists ff_h_bpd_cancel_prefix_product_successor. ff_h_bpd_cancel_prefix_product_successor + S (ff_s_bpd_cancel_prefix_product) = S ((S (S ff_i_bpd_cancel_prefix_product)) * ff_v_bpd_cancel_prefix_product)) /\ exists ff_q_bpd_cancel_prefix_product_successor. ff_u_bpd_cancel_prefix_product = ff_q_bpd_cancel_prefix_product_successor * S ((S (S ff_i_bpd_cancel_prefix_product)) * ff_v_bpd_cancel_prefix_product) + (ff_s_bpd_cancel_prefix_product))) /\ ff_s_bpd_cancel_prefix_product = ff_r_bpd_cancel_prefix_product * ff_p_bpd_cancel_prefix_product)))))))) -> a = r * q -> (exists bpvi_result_cancel_successor. ((exists bpvi_b_cancel_successor_power bpvi_c_cancel_successor_power. ((forall bpvi_i_cancel_successor_power. (exists bpvi_repeat_gap_cancel_successor_power. bpvi_repeat_gap_cancel_successor_power + S bpvi_i_cancel_successor_power = S e) -> (((exists bpvi_h_cancel_successor_power_repeat. bpvi_h_cancel_successor_power_repeat + S (p) = S ((S (bpvi_i_cancel_successor_power)) * bpvi_c_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_repeat. bpvi_b_cancel_successor_power = bpvi_q_cancel_successor_power_repeat * S ((S (bpvi_i_cancel_successor_power)) * bpvi_c_cancel_successor_power) + (p)))) /\ (exists bpvi_u_cancel_successor_power bpvi_v_cancel_successor_power. ((((exists bpvi_h_cancel_successor_power_start. bpvi_h_cancel_successor_power_start + S (1) = S ((S (0)) * bpvi_v_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_start. bpvi_u_cancel_successor_power = bpvi_q_cancel_successor_power_start * S ((S (0)) * bpvi_v_cancel_successor_power) + (1))) /\ ((((exists bpvi_h_cancel_successor_power_terminal. bpvi_h_cancel_successor_power_terminal + S (bpvi_result_cancel_successor) = S ((S (S e)) * bpvi_v_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_terminal. bpvi_u_cancel_successor_power = bpvi_q_cancel_successor_power_terminal * S ((S (S e)) * bpvi_v_cancel_successor_power) + (bpvi_result_cancel_successor))) /\ forall bpvi_j_cancel_successor_power. (exists bpvi_product_gap_cancel_successor_power. bpvi_product_gap_cancel_successor_power + S bpvi_j_cancel_successor_power = S e) -> exists bpvi_factor_cancel_successor_power bpvi_partial_cancel_successor_power bpvi_successor_cancel_successor_power. ((((exists bpvi_h_cancel_successor_power_factor. bpvi_h_cancel_successor_power_factor + S (bpvi_factor_cancel_successor_power) = S ((S (bpvi_j_cancel_successor_power)) * bpvi_c_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_factor. bpvi_b_cancel_successor_power = bpvi_q_cancel_successor_power_factor * S ((S (bpvi_j_cancel_successor_power)) * bpvi_c_cancel_successor_power) + (bpvi_factor_cancel_successor_power))) /\ ((((exists bpvi_h_cancel_successor_power_partial. bpvi_h_cancel_successor_power_partial + S (bpvi_partial_cancel_successor_power) = S ((S (bpvi_j_cancel_successor_power)) * bpvi_v_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_partial. bpvi_u_cancel_successor_power = bpvi_q_cancel_successor_power_partial * S ((S (bpvi_j_cancel_successor_power)) * bpvi_v_cancel_successor_power) + (bpvi_partial_cancel_successor_power))) /\ ((((exists bpvi_h_cancel_successor_power_successor. bpvi_h_cancel_successor_power_successor + S (bpvi_successor_cancel_successor_power) = S ((S (S bpvi_j_cancel_successor_power)) * bpvi_v_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_successor. bpvi_u_cancel_successor_power = bpvi_q_cancel_successor_power_successor * S ((S (S bpvi_j_cancel_successor_power)) * bpvi_v_cancel_successor_power) + (bpvi_successor_cancel_successor_power))) /\ bpvi_successor_cancel_successor_power = bpvi_partial_cancel_successor_power * bpvi_factor_cancel_successor_power)))))))) /\ exists bpvi_divisor_factor_cancel_successor. a = bpvi_result_cancel_successor * bpvi_divisor_factor_cancel_successor)) -> (exists bpd_factor_cancel_cofactor_result. q = (p) * bpd_factor_cancel_cofactor_result)Structural proof guide
A successor power divisor cancels to a prime divisor of the exact cofactor.
Direct prerequisites: prime_nonzero, one_le_of_ne_zero, pow_nonzero_of_one_le, pow_successor_pair_mul, mul_left_cancel_nonzero, mul_assoc. The authored body proceeds by case analysis (3), intermediate claims (5).
Proof neighborhood
Direct dependencies
BT003G prime_nonzero BT0010 one_le_of_ne_zero BT00Q1 pow_nonzero_of_one_le BT0095 pow_successor_pair_mul BT0022 mul_left_cancel_nonzero BT0008 mul_assocDirect dependents
Formal native tactic body
Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing 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 (6)
01Fix variables and assumptionsL1–9
02Separate the logical casesL10–12
03Establish hp0L13–18
04Establish hp1L19–22
05Establish hr0L23–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow nonzero of one le.
06Establish hsuccessor_valueL32–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor pair mul.
- L32
have hsuccessor_value : x = r * p - L33
specialize pow_successor_pair_mul p - L34
specialize pow_successor_pair_mul e - L35
specialize pow_successor_pair_mul (S e) - L36
specialize pow_successor_pair_mul r - L37
specialize pow_successor_pair_mul x - L38
apply pow_successor_pair_mul - L39
refl - L40
exact hr - L41
exact hsuccessor_witness_left
07Establish hcancelL42–51
08Use earlier factsL52–52
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L52
apply mul_assoc
09Construct an explicit witnessL53–53
Supply the displayed value, then prove that it has the required property.
- L53
exists x1
Original exact command ledger · 59 lines
- 0001
intro p - 0002
intro e - 0003
intro a - 0004
intro r - 0005
intro q - 0006
intro hp - 0007
intro hr - 0008
intro harq - 0009
intro hsuccessor - 0010
cases hsuccessor - 0011
cases hsuccessor_witness - 0012
cases hsuccessor_witness_right - 0013
have hp0 : ~(p = 0) - 0014
intro hpzero - 0015
specialize prime_nonzero p - 0016
apply prime_nonzero - 0017
exact hp - 0018
exact hpzero - 0019
have hp1 : exists k. k + 1 = p - 0020
specialize one_le_of_ne_zero p - 0021
apply one_le_of_ne_zero - 0022
exact hp0 - 0023
have hr0 : ~(r = 0) - 0024
intro hrzero - 0025
specialize pow_nonzero_of_one_le p - 0026
specialize pow_nonzero_of_one_le e - 0027
specialize pow_nonzero_of_one_le r - 0028
apply pow_nonzero_of_one_le - 0029
exact hp1 - 0030
exact hr - 0031
exact hrzero - 0032
have hsuccessor_value : x = r * p - 0033
specialize pow_successor_pair_mul p - 0034
specialize pow_successor_pair_mul e - 0035
specialize pow_successor_pair_mul (S e) - 0036
specialize pow_successor_pair_mul r - 0037
specialize pow_successor_pair_mul x - 0038
apply pow_successor_pair_mul - 0039
refl - 0040
exact hr - 0041
exact hsuccessor_witness_left - 0042
have hcancel : r * q = r * (p * x1) - 0043
trans a - 0044
symm - 0045
exact harq - 0046
trans x * x1 - 0047
exact hsuccessor_witness_right_witness - 0048
trans (r * p) * x1 - 0049
congr - 0050
exact hsuccessor_value - 0051
refl - 0052
apply mul_assoc - 0053
exists x1 - 0054
specialize mul_left_cancel_nonzero r - 0055
specialize mul_left_cancel_nonzero q - 0056
specialize mul_left_cancel_nonzero (p * x1) - 0057
apply mul_left_cancel_nonzero - 0058
exact hr0 - 0059
exact hcancel