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.
Statement with defined notation
∀ p. ∀ n. ∀ e. ∀ h. Prime(p) → ¬n = 0 → PowerValuation(p,n,e) → Dvd(p,n) → e = h + h → Dvd(p · p,n)Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall p n e h. ((~(p = 1) /\ forall frm_prime_left_ftsp_p frm_prime_right_ftsp_p. p = frm_prime_left_ftsp_p * frm_prime_right_ftsp_p -> frm_prime_left_ftsp_p = 1 \/ frm_prime_right_ftsp_p = 1)) -> ~(n = 0) -> (((exists bpv_gap_ftsp_source_exponent_bound. bpv_gap_ftsp_source_exponent_bound + e = n) /\ (exists bpv_result_ftsp_source_selected. ((exists ff_b_ftsp_source_selected_power ff_c_ftsp_source_selected_power. ((forall ff_i_ftsp_source_selected_power_repeat. (exists ff_lt_ftsp_source_selected_power_repeat_bound. ff_lt_ftsp_source_selected_power_repeat_bound + S ff_i_ftsp_source_selected_power_repeat = e) -> (((exists ff_h_ftsp_source_selected_power_repeat_decoded. ff_h_ftsp_source_selected_power_repeat_decoded + S (p) = S ((S (ff_i_ftsp_source_selected_power_repeat)) * ff_c_ftsp_source_selected_power)) /\ exists ff_q_ftsp_source_selected_power_repeat_decoded. ff_b_ftsp_source_selected_power = ff_q_ftsp_source_selected_power_repeat_decoded * S ((S (ff_i_ftsp_source_selected_power_repeat)) * ff_c_ftsp_source_selected_power) + (p)))) /\ (exists ff_u_ftsp_source_selected_power_product ff_v_ftsp_source_selected_power_product. ((((exists ff_h_ftsp_source_selected_power_product_start. ff_h_ftsp_source_selected_power_product_start + S (1) = S ((S (0)) * ff_v_ftsp_source_selected_power_product)) /\ exists ff_q_ftsp_source_selected_power_product_start. ff_u_ftsp_source_selected_power_product = ff_q_ftsp_source_selected_power_product_start * S ((S (0)) * ff_v_ftsp_source_selected_power_product) + (1))) /\ ((((exists ff_h_ftsp_source_selected_power_product_terminal. ff_h_ftsp_source_selected_power_product_terminal + S (bpv_result_ftsp_source_selected) = S ((S (e)) * ff_v_ftsp_source_selected_power_product)) /\ exists ff_q_ftsp_source_selected_power_product_terminal. ff_u_ftsp_source_selected_power_product = ff_q_ftsp_source_selected_power_product_terminal * S ((S (e)) * ff_v_ftsp_source_selected_power_product) + (bpv_result_ftsp_source_selected))) /\ forall ff_i_ftsp_source_selected_power_product. (exists ff_lt_ftsp_source_selected_power_product_bound. ff_lt_ftsp_source_selected_power_product_bound + S ff_i_ftsp_source_selected_power_product = e) -> exists ff_p_ftsp_source_selected_power_product ff_r_ftsp_source_selected_power_product ff_s_ftsp_source_selected_power_product. ((((exists ff_h_ftsp_source_selected_power_product_factor. ff_h_ftsp_source_selected_power_product_factor + S (ff_p_ftsp_source_selected_power_product) = S ((S (ff_i_ftsp_source_selected_power_product)) * ff_c_ftsp_source_selected_power)) /\ exists ff_q_ftsp_source_selected_power_product_factor. ff_b_ftsp_source_selected_power = ff_q_ftsp_source_selected_power_product_factor * S ((S (ff_i_ftsp_source_selected_power_product)) * ff_c_ftsp_source_selected_power) + (ff_p_ftsp_source_selected_power_product))) /\ ((((exists ff_h_ftsp_source_selected_power_product_partial. ff_h_ftsp_source_selected_power_product_partial + S (ff_r_ftsp_source_selected_power_product) = S ((S (ff_i_ftsp_source_selected_power_product)) * ff_v_ftsp_source_selected_power_product)) /\ exists ff_q_ftsp_source_selected_power_product_partial. ff_u_ftsp_source_selected_power_product = ff_q_ftsp_source_selected_power_product_partial * S ((S (ff_i_ftsp_source_selected_power_product)) * ff_v_ftsp_source_selected_power_product) + (ff_r_ftsp_source_selected_power_product))) /\ ((((exists ff_h_ftsp_source_selected_power_product_successor. ff_h_ftsp_source_selected_power_product_successor + S (ff_s_ftsp_source_selected_power_product) = S ((S (S ff_i_ftsp_source_selected_power_product)) * ff_v_ftsp_source_selected_power_product)) /\ exists ff_q_ftsp_source_selected_power_product_successor. ff_u_ftsp_source_selected_power_product = ff_q_ftsp_source_selected_power_product_successor * S ((S (S ff_i_ftsp_source_selected_power_product)) * ff_v_ftsp_source_selected_power_product) + (ff_s_ftsp_source_selected_power_product))) /\ ff_s_ftsp_source_selected_power_product = ff_r_ftsp_source_selected_power_product * ff_p_ftsp_source_selected_power_product)))))))) /\ (exists bpv_factor_ftsp_source_selected_divides. n = bpv_result_ftsp_source_selected * bpv_factor_ftsp_source_selected_divides)))) /\ forall bpv_candidate_ftsp_source. (exists bpv_gap_ftsp_source_candidate_bound. bpv_gap_ftsp_source_candidate_bound + bpv_candidate_ftsp_source = n) -> (exists bpv_result_ftsp_source_candidate. ((exists ff_b_ftsp_source_candidate_power ff_c_ftsp_source_candidate_power. ((forall ff_i_ftsp_source_candidate_power_repeat. (exists ff_lt_ftsp_source_candidate_power_repeat_bound. ff_lt_ftsp_source_candidate_power_repeat_bound + S ff_i_ftsp_source_candidate_power_repeat = bpv_candidate_ftsp_source) -> (((exists ff_h_ftsp_source_candidate_power_repeat_decoded. ff_h_ftsp_source_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_ftsp_source_candidate_power_repeat)) * ff_c_ftsp_source_candidate_power)) /\ exists ff_q_ftsp_source_candidate_power_repeat_decoded. ff_b_ftsp_source_candidate_power = ff_q_ftsp_source_candidate_power_repeat_decoded * S ((S (ff_i_ftsp_source_candidate_power_repeat)) * ff_c_ftsp_source_candidate_power) + (p)))) /\ (exists ff_u_ftsp_source_candidate_power_product ff_v_ftsp_source_candidate_power_product. ((((exists ff_h_ftsp_source_candidate_power_product_start. ff_h_ftsp_source_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_ftsp_source_candidate_power_product)) /\ exists ff_q_ftsp_source_candidate_power_product_start. ff_u_ftsp_source_candidate_power_product = ff_q_ftsp_source_candidate_power_product_start * S ((S (0)) * ff_v_ftsp_source_candidate_power_product) + (1))) /\ ((((exists ff_h_ftsp_source_candidate_power_product_terminal. ff_h_ftsp_source_candidate_power_product_terminal + S (bpv_result_ftsp_source_candidate) = S ((S (bpv_candidate_ftsp_source)) * ff_v_ftsp_source_candidate_power_product)) /\ exists ff_q_ftsp_source_candidate_power_product_terminal. ff_u_ftsp_source_candidate_power_product = ff_q_ftsp_source_candidate_power_product_terminal * S ((S (bpv_candidate_ftsp_source)) * ff_v_ftsp_source_candidate_power_product) + (bpv_result_ftsp_source_candidate))) /\ forall ff_i_ftsp_source_candidate_power_product. (exists ff_lt_ftsp_source_candidate_power_product_bound. ff_lt_ftsp_source_candidate_power_product_bound + S ff_i_ftsp_source_candidate_power_product = bpv_candidate_ftsp_source) -> exists ff_p_ftsp_source_candidate_power_product ff_r_ftsp_source_candidate_power_product ff_s_ftsp_source_candidate_power_product. ((((exists ff_h_ftsp_source_candidate_power_product_factor. ff_h_ftsp_source_candidate_power_product_factor + S (ff_p_ftsp_source_candidate_power_product) = S ((S (ff_i_ftsp_source_candidate_power_product)) * ff_c_ftsp_source_candidate_power)) /\ exists ff_q_ftsp_source_candidate_power_product_factor. ff_b_ftsp_source_candidate_power = ff_q_ftsp_source_candidate_power_product_factor * S ((S (ff_i_ftsp_source_candidate_power_product)) * ff_c_ftsp_source_candidate_power) + (ff_p_ftsp_source_candidate_power_product))) /\ ((((exists ff_h_ftsp_source_candidate_power_product_partial. ff_h_ftsp_source_candidate_power_product_partial + S (ff_r_ftsp_source_candidate_power_product) = S ((S (ff_i_ftsp_source_candidate_power_product)) * ff_v_ftsp_source_candidate_power_product)) /\ exists ff_q_ftsp_source_candidate_power_product_partial. ff_u_ftsp_source_candidate_power_product = ff_q_ftsp_source_candidate_power_product_partial * S ((S (ff_i_ftsp_source_candidate_power_product)) * ff_v_ftsp_source_candidate_power_product) + (ff_r_ftsp_source_candidate_power_product))) /\ ((((exists ff_h_ftsp_source_candidate_power_product_successor. ff_h_ftsp_source_candidate_power_product_successor + S (ff_s_ftsp_source_candidate_power_product) = S ((S (S ff_i_ftsp_source_candidate_power_product)) * ff_v_ftsp_source_candidate_power_product)) /\ exists ff_q_ftsp_source_candidate_power_product_successor. ff_u_ftsp_source_candidate_power_product = ff_q_ftsp_source_candidate_power_product_successor * S ((S (S ff_i_ftsp_source_candidate_power_product)) * ff_v_ftsp_source_candidate_power_product) + (ff_s_ftsp_source_candidate_power_product))) /\ ff_s_ftsp_source_candidate_power_product = ff_r_ftsp_source_candidate_power_product * ff_p_ftsp_source_candidate_power_product)))))))) /\ (exists bpv_factor_ftsp_source_candidate_divides. n = bpv_result_ftsp_source_candidate * bpv_factor_ftsp_source_candidate_divides))) -> (exists bpv_gap_ftsp_source_maximal. bpv_gap_ftsp_source_maximal + bpv_candidate_ftsp_source = e)) -> (exists ftcn_factor_ftsp_value. (n) = (p) * ftcn_factor_ftsp_value) -> e = h + h -> (exists ftcn_factor_ftsp_square. (n) = (p * p) * ftcn_factor_ftsp_square)Proof neighborhood
Direct theorem prerequisites
TS002Y positive_double_at_least_two power_valuation_power_divides · Alpha closed power_divides_exponent_antitone · Alpha closed pow_two · Stable closedDirect theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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–9
02Establish hexponentL10–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor power valuation nonzero.
- L10
have hexponent : ~(e = 0) - L11
specialize prime_divisor_power_valuation_nonzero p - L12
specialize prime_divisor_power_valuation_nonzero n - L13
specialize prime_divisor_power_valuation_nonzero e - L14
intro hezero - L15
apply prime_divisor_power_valuation_nonzero - L16
exact hprime - L17
exact hnonzero - L18
exact hvaluation - L19
exact hdivides
03Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
exact hezero
04Establish hhalfL21–28
05Establish hlowerL29–30
Establish this local claim before using it. It is not an additional assumption.
06Establish hdoubledL31–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply positive double at least two.
07Establish hselectedL36–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation power divides.
- L36
have hselected : PowerDivides(p,e,n)Definitions: PowerDivides(p,e,n)Original native command in the exact edition - L37
specialize power_valuation_power_divides p - L38
specialize power_valuation_power_divides n - L39
specialize power_valuation_power_divides e - L40
apply power_valuation_power_divides - L41
exact hvaluation
08Establish hsquareL42–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power divides exponent antitone.
- L42
have hsquare : PowerDivides(p,2,n)Definitions: PowerDivides(p,2,n)Original native command in the exact edition - L43
specialize power_divides_exponent_antitone p - L44
specialize power_divides_exponent_antitone 2 - L45
specialize power_divides_exponent_antitone e - L46
specialize power_divides_exponent_antitone n - L47
apply power_divides_exponent_antitone - L48
exact hlower - L49
exact hselected
09Separate the logical casesL50–52
10Establish hpower_valueL53–59
11Construct an explicit witnessL60–60
Supply the displayed value, then prove that it has the required property.
- L60
exists x1
12Calculate and transport equalitiesL61–61
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L61
trans x * x1
13Use earlier factsL62–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L62
exact hsquare_witness_right_witness
Original defined command ledger · 64 lines
- 0001
intro p - 0002
intro n - 0003
intro e - 0004
intro h - 0005
intro hprime - 0006
intro hnonzero - 0007
intro hvaluation - 0008
intro hdivides - 0009
intro heven - 0010
have hexponent : ~(e = 0) - 0011
specialize prime_divisor_power_valuation_nonzero p - 0012
specialize prime_divisor_power_valuation_nonzero n - 0013
specialize prime_divisor_power_valuation_nonzero e - 0014
intro hezero - 0015
apply prime_divisor_power_valuation_nonzero - 0016
exact hprime - 0017
exact hnonzero - 0018
exact hvaluation - 0019
exact hdivides - 0020
exact hezero - 0021
have hhalf : ~(h = 0) - 0022
intro hhalf_zero - 0023
apply hexponent - 0024
trans h + h - 0025
exact heven - 0026
rewrite hhalf_zero - 0027
rewrite hhalf_zero - 0028
simp - 0029
have hlower : Lt(1,e)Exact native replay line
have hlower : exists k. k + 2 = e - 0030
specialize positive_double_at_least_two h - 0031
have hdoubled : Lt(1,h + h)Exact native replay line
have hdoubled : exists k. k + 2 = h + h - 0032
apply positive_double_at_least_two - 0033
exact hhalf - 0034
rewrite <- heven at hdoubled - 0035
exact hdoubled - 0036
have hselected : PowerDivides(p,e,n)Exact native replay line
have hselected : exists bpv_result_ftsp_selected. ((exists ff_b_ftsp_selected_power ff_c_ftsp_selected_power. ((forall ff_i_ftsp_selected_power_repeat. (exists ff_lt_ftsp_selected_power_repeat_bound. ff_lt_ftsp_selected_power_repeat_bound + S ff_i_ftsp_selected_power_repeat = e) -> (((exists ff_h_ftsp_selected_power_repeat_decoded. ff_h_ftsp_selected_power_repeat_decoded + S (p) = S ((S (ff_i_ftsp_selected_power_repeat)) * ff_c_ftsp_selected_power)) /\ exists ff_q_ftsp_selected_power_repeat_decoded. ff_b_ftsp_selected_power = ff_q_ftsp_selected_power_repeat_decoded * S ((S (ff_i_ftsp_selected_power_repeat)) * ff_c_ftsp_selected_power) + (p)))) /\ (exists ff_u_ftsp_selected_power_product ff_v_ftsp_selected_power_product. ((((exists ff_h_ftsp_selected_power_product_start. ff_h_ftsp_selected_power_product_start + S (1) = S ((S (0)) * ff_v_ftsp_selected_power_product)) /\ exists ff_q_ftsp_selected_power_product_start. ff_u_ftsp_selected_power_product = ff_q_ftsp_selected_power_product_start * S ((S (0)) * ff_v_ftsp_selected_power_product) + (1))) /\ ((((exists ff_h_ftsp_selected_power_product_terminal. ff_h_ftsp_selected_power_product_terminal + S (bpv_result_ftsp_selected) = S ((S (e)) * ff_v_ftsp_selected_power_product)) /\ exists ff_q_ftsp_selected_power_product_terminal. ff_u_ftsp_selected_power_product = ff_q_ftsp_selected_power_product_terminal * S ((S (e)) * ff_v_ftsp_selected_power_product) + (bpv_result_ftsp_selected))) /\ forall ff_i_ftsp_selected_power_product. (exists ff_lt_ftsp_selected_power_product_bound. ff_lt_ftsp_selected_power_product_bound + S ff_i_ftsp_selected_power_product = e) -> exists ff_p_ftsp_selected_power_product ff_r_ftsp_selected_power_product ff_s_ftsp_selected_power_product. ((((exists ff_h_ftsp_selected_power_product_factor. ff_h_ftsp_selected_power_product_factor + S (ff_p_ftsp_selected_power_product) = S ((S (ff_i_ftsp_selected_power_product)) * ff_c_ftsp_selected_power)) /\ exists ff_q_ftsp_selected_power_product_factor. ff_b_ftsp_selected_power = ff_q_ftsp_selected_power_product_factor * S ((S (ff_i_ftsp_selected_power_product)) * ff_c_ftsp_selected_power) + (ff_p_ftsp_selected_power_product))) /\ ((((exists ff_h_ftsp_selected_power_product_partial. ff_h_ftsp_selected_power_product_partial + S (ff_r_ftsp_selected_power_product) = S ((S (ff_i_ftsp_selected_power_product)) * ff_v_ftsp_selected_power_product)) /\ exists ff_q_ftsp_selected_power_product_partial. ff_u_ftsp_selected_power_product = ff_q_ftsp_selected_power_product_partial * S ((S (ff_i_ftsp_selected_power_product)) * ff_v_ftsp_selected_power_product) + (ff_r_ftsp_selected_power_product))) /\ ((((exists ff_h_ftsp_selected_power_product_successor. ff_h_ftsp_selected_power_product_successor + S (ff_s_ftsp_selected_power_product) = S ((S (S ff_i_ftsp_selected_power_product)) * ff_v_ftsp_selected_power_product)) /\ exists ff_q_ftsp_selected_power_product_successor. ff_u_ftsp_selected_power_product = ff_q_ftsp_selected_power_product_successor * S ((S (S ff_i_ftsp_selected_power_product)) * ff_v_ftsp_selected_power_product) + (ff_s_ftsp_selected_power_product))) /\ ff_s_ftsp_selected_power_product = ff_r_ftsp_selected_power_product * ff_p_ftsp_selected_power_product)))))))) /\ (exists bpv_factor_ftsp_selected_divides. n = bpv_result_ftsp_selected * bpv_factor_ftsp_selected_divides)) - 0037
specialize power_valuation_power_divides p - 0038
specialize power_valuation_power_divides n - 0039
specialize power_valuation_power_divides e - 0040
apply power_valuation_power_divides - 0041
exact hvaluation - 0042
have hsquare : PowerDivides(p,2,n)Exact native replay line
have hsquare : exists bpvi_result_ftsp_second. ((exists bpvi_b_ftsp_second_power bpvi_c_ftsp_second_power. ((forall bpvi_i_ftsp_second_power. (exists bpvi_repeat_gap_ftsp_second_power. bpvi_repeat_gap_ftsp_second_power + S bpvi_i_ftsp_second_power = 2) -> (((exists bpvi_h_ftsp_second_power_repeat. bpvi_h_ftsp_second_power_repeat + S (p) = S ((S (bpvi_i_ftsp_second_power)) * bpvi_c_ftsp_second_power)) /\ exists bpvi_q_ftsp_second_power_repeat. bpvi_b_ftsp_second_power = bpvi_q_ftsp_second_power_repeat * S ((S (bpvi_i_ftsp_second_power)) * bpvi_c_ftsp_second_power) + (p)))) /\ (exists bpvi_u_ftsp_second_power bpvi_v_ftsp_second_power. ((((exists bpvi_h_ftsp_second_power_start. bpvi_h_ftsp_second_power_start + S (1) = S ((S (0)) * bpvi_v_ftsp_second_power)) /\ exists bpvi_q_ftsp_second_power_start. bpvi_u_ftsp_second_power = bpvi_q_ftsp_second_power_start * S ((S (0)) * bpvi_v_ftsp_second_power) + (1))) /\ ((((exists bpvi_h_ftsp_second_power_terminal. bpvi_h_ftsp_second_power_terminal + S (bpvi_result_ftsp_second) = S ((S (2)) * bpvi_v_ftsp_second_power)) /\ exists bpvi_q_ftsp_second_power_terminal. bpvi_u_ftsp_second_power = bpvi_q_ftsp_second_power_terminal * S ((S (2)) * bpvi_v_ftsp_second_power) + (bpvi_result_ftsp_second))) /\ forall bpvi_j_ftsp_second_power. (exists bpvi_product_gap_ftsp_second_power. bpvi_product_gap_ftsp_second_power + S bpvi_j_ftsp_second_power = 2) -> exists bpvi_factor_ftsp_second_power bpvi_partial_ftsp_second_power bpvi_successor_ftsp_second_power. ((((exists bpvi_h_ftsp_second_power_factor. bpvi_h_ftsp_second_power_factor + S (bpvi_factor_ftsp_second_power) = S ((S (bpvi_j_ftsp_second_power)) * bpvi_c_ftsp_second_power)) /\ exists bpvi_q_ftsp_second_power_factor. bpvi_b_ftsp_second_power = bpvi_q_ftsp_second_power_factor * S ((S (bpvi_j_ftsp_second_power)) * bpvi_c_ftsp_second_power) + (bpvi_factor_ftsp_second_power))) /\ ((((exists bpvi_h_ftsp_second_power_partial. bpvi_h_ftsp_second_power_partial + S (bpvi_partial_ftsp_second_power) = S ((S (bpvi_j_ftsp_second_power)) * bpvi_v_ftsp_second_power)) /\ exists bpvi_q_ftsp_second_power_partial. bpvi_u_ftsp_second_power = bpvi_q_ftsp_second_power_partial * S ((S (bpvi_j_ftsp_second_power)) * bpvi_v_ftsp_second_power) + (bpvi_partial_ftsp_second_power))) /\ ((((exists bpvi_h_ftsp_second_power_successor. bpvi_h_ftsp_second_power_successor + S (bpvi_successor_ftsp_second_power) = S ((S (S bpvi_j_ftsp_second_power)) * bpvi_v_ftsp_second_power)) /\ exists bpvi_q_ftsp_second_power_successor. bpvi_u_ftsp_second_power = bpvi_q_ftsp_second_power_successor * S ((S (S bpvi_j_ftsp_second_power)) * bpvi_v_ftsp_second_power) + (bpvi_successor_ftsp_second_power))) /\ bpvi_successor_ftsp_second_power = bpvi_partial_ftsp_second_power * bpvi_factor_ftsp_second_power)))))))) /\ exists bpvi_divisor_factor_ftsp_second. n = bpvi_result_ftsp_second * bpvi_divisor_factor_ftsp_second) - 0043
specialize power_divides_exponent_antitone p - 0044
specialize power_divides_exponent_antitone 2 - 0045
specialize power_divides_exponent_antitone e - 0046
specialize power_divides_exponent_antitone n - 0047
apply power_divides_exponent_antitone - 0048
exact hlower - 0049
exact hselected - 0050
cases hsquare - 0051
cases hsquare_witness - 0052
cases hsquare_witness_right - 0053
have hpower_value : x = p * p - 0054
specialize pow_two p - 0055
specialize pow_two 2 - 0056
specialize pow_two x - 0057
apply pow_two - 0058
refl - 0059
exact hsquare_witness_left - 0060
exists x1 - 0061
trans x * x1 - 0062
exact hsquare_witness_right_witness - 0063
rewrite hpower_value - 0064
refl