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 q e z. (forall bpr_coprime_divisor_bcpr_source. (exists bpr_coprime_left_bcpr_source. p = bpr_coprime_divisor_bcpr_source * bpr_coprime_left_bcpr_source) -> (exists bpr_coprime_right_bcpr_source. q = bpr_coprime_divisor_bcpr_source * bpr_coprime_right_bcpr_source) -> bpr_coprime_divisor_bcpr_source = 1) -> (exists bpr_power_code_bcpr_power bpr_power_scale_bcpr_power. ((forall bpr_power_index_bcpr_power. (exists bpr_gap_bcpr_power_repeat_bound. bpr_gap_bcpr_power_repeat_bound + S (bpr_power_index_bcpr_power) = e) -> (((exists bpr_height_bcpr_power_repeat_entry. bpr_height_bcpr_power_repeat_entry + S (q) = S ((S (bpr_power_index_bcpr_power)) * bpr_power_scale_bcpr_power)) /\ exists bpr_quotient_bcpr_power_repeat_entry. bpr_power_code_bcpr_power = bpr_quotient_bcpr_power_repeat_entry * S ((S (bpr_power_index_bcpr_power)) * bpr_power_scale_bcpr_power) + (q)))) /\ (exists ff_u_bcpr_power_product ff_v_bcpr_power_product. ((((exists ff_h_bcpr_power_product_start. ff_h_bcpr_power_product_start + S (1) = S ((S (0)) * ff_v_bcpr_power_product)) /\ exists ff_q_bcpr_power_product_start. ff_u_bcpr_power_product = ff_q_bcpr_power_product_start * S ((S (0)) * ff_v_bcpr_power_product) + (1))) /\ ((((exists ff_h_bcpr_power_product_terminal. ff_h_bcpr_power_product_terminal + S (z) = S ((S (e)) * ff_v_bcpr_power_product)) /\ exists ff_q_bcpr_power_product_terminal. ff_u_bcpr_power_product = ff_q_bcpr_power_product_terminal * S ((S (e)) * ff_v_bcpr_power_product) + (z))) /\ forall ff_i_bcpr_power_product. (exists ff_lt_bcpr_power_product_bound. ff_lt_bcpr_power_product_bound + S ff_i_bcpr_power_product = e) -> exists ff_p_bcpr_power_product ff_r_bcpr_power_product ff_s_bcpr_power_product. ((((exists ff_h_bcpr_power_product_factor. ff_h_bcpr_power_product_factor + S (ff_p_bcpr_power_product) = S ((S (ff_i_bcpr_power_product)) * bpr_power_scale_bcpr_power)) /\ exists ff_q_bcpr_power_product_factor. bpr_power_code_bcpr_power = ff_q_bcpr_power_product_factor * S ((S (ff_i_bcpr_power_product)) * bpr_power_scale_bcpr_power) + (ff_p_bcpr_power_product))) /\ ((((exists ff_h_bcpr_power_product_partial. ff_h_bcpr_power_product_partial + S (ff_r_bcpr_power_product) = S ((S (ff_i_bcpr_power_product)) * ff_v_bcpr_power_product)) /\ exists ff_q_bcpr_power_product_partial. ff_u_bcpr_power_product = ff_q_bcpr_power_product_partial * S ((S (ff_i_bcpr_power_product)) * ff_v_bcpr_power_product) + (ff_r_bcpr_power_product))) /\ ((((exists ff_h_bcpr_power_product_successor. ff_h_bcpr_power_product_successor + S (ff_s_bcpr_power_product) = S ((S (S ff_i_bcpr_power_product)) * ff_v_bcpr_power_product)) /\ exists ff_q_bcpr_power_product_successor. ff_u_bcpr_power_product = ff_q_bcpr_power_product_successor * S ((S (S ff_i_bcpr_power_product)) * ff_v_bcpr_power_product) + (ff_s_bcpr_power_product))) /\ ff_s_bcpr_power_product = ff_r_bcpr_power_product * ff_p_bcpr_power_product)))))))) -> (forall bpr_coprime_divisor_bcpr_result. (exists bpr_coprime_left_bcpr_result. p = bpr_coprime_divisor_bcpr_result * bpr_coprime_left_bcpr_result) -> (exists bpr_coprime_right_bcpr_result. z = bpr_coprime_divisor_bcpr_result * bpr_coprime_right_bcpr_result) -> bpr_coprime_divisor_bcpr_result = 1)Structural proof guide
A power preserves coprimality with a fixed left operand.
Direct prerequisites: pow_zero, pow_successor_decompose, coprime_one_right, coprime_mul_right. The authored body proceeds by structural induction (1), case analysis (2), intermediate claims (3), equality transport (2).
Proof neighborhood
Direct dependencies
Direct 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 (4)
01Fix variables and assumptionsL1–2
02Induction on eL3–6
03Establish hvalueL7–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow zero.
04Fix variables and assumptionsL17–19
05Establish hdecompositionL20–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
06Separate the logical casesL28–29
07Establish hprefixL30–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
Original exact command ledger · 38 lines
- 0001
intro p - 0002
intro q - 0003
induction e - 0004
intro z - 0005
intro hcoprime - 0006
intro hpower - 0007
have hvalue : z = 1 - 0008
specialize pow_zero q - 0009
specialize pow_zero 0 - 0010
specialize pow_zero z - 0011
apply pow_zero - 0012
refl - 0013
exact hpower - 0014
rewrite hvalue - 0015
specialize coprime_one_right p - 0016
apply coprime_one_right - 0017
intro z - 0018
intro hcoprime - 0019
intro hpower - 0020
have hdecomposition : exists r. (exists bpr_power_code_bcpr_previous bpr_power_scale_bcpr_previous. ((forall bpr_power_index_bcpr_previous. (exists bpr_gap_bcpr_previous_repeat_bound. bpr_gap_bcpr_previous_repeat_bound + S (bpr_power_index_bcpr_previous) = e) -> (((exists bpr_height_bcpr_previous_repeat_entry. bpr_height_bcpr_previous_repeat_entry + S (q) = S ((S (bpr_power_index_bcpr_previous)) * bpr_power_scale_bcpr_previous)) /\ exists bpr_quotient_bcpr_previous_repeat_entry. bpr_power_code_bcpr_previous = bpr_quotient_bcpr_previous_repeat_entry * S ((S (bpr_power_index_bcpr_previous)) * bpr_power_scale_bcpr_previous) + (q)))) /\ (exists ff_u_bcpr_previous_product ff_v_bcpr_previous_product. ((((exists ff_h_bcpr_previous_product_start. ff_h_bcpr_previous_product_start + S (1) = S ((S (0)) * ff_v_bcpr_previous_product)) /\ exists ff_q_bcpr_previous_product_start. ff_u_bcpr_previous_product = ff_q_bcpr_previous_product_start * S ((S (0)) * ff_v_bcpr_previous_product) + (1))) /\ ((((exists ff_h_bcpr_previous_product_terminal. ff_h_bcpr_previous_product_terminal + S (r) = S ((S (e)) * ff_v_bcpr_previous_product)) /\ exists ff_q_bcpr_previous_product_terminal. ff_u_bcpr_previous_product = ff_q_bcpr_previous_product_terminal * S ((S (e)) * ff_v_bcpr_previous_product) + (r))) /\ forall ff_i_bcpr_previous_product. (exists ff_lt_bcpr_previous_product_bound. ff_lt_bcpr_previous_product_bound + S ff_i_bcpr_previous_product = e) -> exists ff_p_bcpr_previous_product ff_r_bcpr_previous_product ff_s_bcpr_previous_product. ((((exists ff_h_bcpr_previous_product_factor. ff_h_bcpr_previous_product_factor + S (ff_p_bcpr_previous_product) = S ((S (ff_i_bcpr_previous_product)) * bpr_power_scale_bcpr_previous)) /\ exists ff_q_bcpr_previous_product_factor. bpr_power_code_bcpr_previous = ff_q_bcpr_previous_product_factor * S ((S (ff_i_bcpr_previous_product)) * bpr_power_scale_bcpr_previous) + (ff_p_bcpr_previous_product))) /\ ((((exists ff_h_bcpr_previous_product_partial. ff_h_bcpr_previous_product_partial + S (ff_r_bcpr_previous_product) = S ((S (ff_i_bcpr_previous_product)) * ff_v_bcpr_previous_product)) /\ exists ff_q_bcpr_previous_product_partial. ff_u_bcpr_previous_product = ff_q_bcpr_previous_product_partial * S ((S (ff_i_bcpr_previous_product)) * ff_v_bcpr_previous_product) + (ff_r_bcpr_previous_product))) /\ ((((exists ff_h_bcpr_previous_product_successor. ff_h_bcpr_previous_product_successor + S (ff_s_bcpr_previous_product) = S ((S (S ff_i_bcpr_previous_product)) * ff_v_bcpr_previous_product)) /\ exists ff_q_bcpr_previous_product_successor. ff_u_bcpr_previous_product = ff_q_bcpr_previous_product_successor * S ((S (S ff_i_bcpr_previous_product)) * ff_v_bcpr_previous_product) + (ff_s_bcpr_previous_product))) /\ ff_s_bcpr_previous_product = ff_r_bcpr_previous_product * ff_p_bcpr_previous_product)))))))) /\ z = r * q - 0021
specialize pow_successor_decompose q - 0022
specialize pow_successor_decompose e - 0023
specialize pow_successor_decompose (S e) - 0024
specialize pow_successor_decompose z - 0025
apply pow_successor_decompose - 0026
refl - 0027
exact hpower - 0028
cases hdecomposition - 0029
cases hdecomposition_witness - 0030
have hprefix : forall d. (exists a. p = d * a) -> (exists b. x = d * b) -> d = 1 - 0031
specialize IH x - 0032
apply IH - 0033
exact hcoprime - 0034
exact hdecomposition_witness_left - 0035
rewrite hdecomposition_witness_right - 0036
apply coprime_mul_right - 0037
exact hprefix - 0038
exact hcoprime