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. ∀ one. ∀ e. one = 1 → Prime(p) → PowerValuation(p,one,e) → e = 0Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
2 occurrences
In local proof propositions
2 occurrences
Exact expanded native-PA statement
forall p one e. one = 1 -> ((~(p = 1) /\ forall frm_prime_left_bfv_prime frm_prime_right_bfv_prime. p = frm_prime_left_bfv_prime * frm_prime_right_bfv_prime -> frm_prime_left_bfv_prime = 1 \/ frm_prime_right_bfv_prime = 1)) -> (((exists bpv_gap_bfv_one_exponent_bound. bpv_gap_bfv_one_exponent_bound + e = one) /\ (exists bpv_result_bfv_one_selected. ((exists ff_b_bfv_one_selected_power ff_c_bfv_one_selected_power. ((forall ff_i_bfv_one_selected_power_repeat. (exists ff_lt_bfv_one_selected_power_repeat_bound. ff_lt_bfv_one_selected_power_repeat_bound + S ff_i_bfv_one_selected_power_repeat = e) -> (((exists ff_h_bfv_one_selected_power_repeat_decoded. ff_h_bfv_one_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_one_selected_power_repeat)) * ff_c_bfv_one_selected_power)) /\ exists ff_q_bfv_one_selected_power_repeat_decoded. ff_b_bfv_one_selected_power = ff_q_bfv_one_selected_power_repeat_decoded * S ((S (ff_i_bfv_one_selected_power_repeat)) * ff_c_bfv_one_selected_power) + (p)))) /\ (exists ff_u_bfv_one_selected_power_product ff_v_bfv_one_selected_power_product. ((((exists ff_h_bfv_one_selected_power_product_start. ff_h_bfv_one_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_start. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_start * S ((S (0)) * ff_v_bfv_one_selected_power_product) + (1))) /\ ((((exists ff_h_bfv_one_selected_power_product_terminal. ff_h_bfv_one_selected_power_product_terminal + S (bpv_result_bfv_one_selected) = S ((S (e)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_terminal. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_terminal * S ((S (e)) * ff_v_bfv_one_selected_power_product) + (bpv_result_bfv_one_selected))) /\ forall ff_i_bfv_one_selected_power_product. (exists ff_lt_bfv_one_selected_power_product_bound. ff_lt_bfv_one_selected_power_product_bound + S ff_i_bfv_one_selected_power_product = e) -> exists ff_p_bfv_one_selected_power_product ff_r_bfv_one_selected_power_product ff_s_bfv_one_selected_power_product. ((((exists ff_h_bfv_one_selected_power_product_factor. ff_h_bfv_one_selected_power_product_factor + S (ff_p_bfv_one_selected_power_product) = S ((S (ff_i_bfv_one_selected_power_product)) * ff_c_bfv_one_selected_power)) /\ exists ff_q_bfv_one_selected_power_product_factor. ff_b_bfv_one_selected_power = ff_q_bfv_one_selected_power_product_factor * S ((S (ff_i_bfv_one_selected_power_product)) * ff_c_bfv_one_selected_power) + (ff_p_bfv_one_selected_power_product))) /\ ((((exists ff_h_bfv_one_selected_power_product_partial. ff_h_bfv_one_selected_power_product_partial + S (ff_r_bfv_one_selected_power_product) = S ((S (ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_partial. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_partial * S ((S (ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product) + (ff_r_bfv_one_selected_power_product))) /\ ((((exists ff_h_bfv_one_selected_power_product_successor. ff_h_bfv_one_selected_power_product_successor + S (ff_s_bfv_one_selected_power_product) = S ((S (S ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_successor. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_successor * S ((S (S ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product) + (ff_s_bfv_one_selected_power_product))) /\ ff_s_bfv_one_selected_power_product = ff_r_bfv_one_selected_power_product * ff_p_bfv_one_selected_power_product)))))))) /\ (exists bpv_factor_bfv_one_selected_divides. one = bpv_result_bfv_one_selected * bpv_factor_bfv_one_selected_divides)))) /\ forall bpv_candidate_bfv_one. (exists bpv_gap_bfv_one_candidate_bound. bpv_gap_bfv_one_candidate_bound + bpv_candidate_bfv_one = one) -> (exists bpv_result_bfv_one_candidate. ((exists ff_b_bfv_one_candidate_power ff_c_bfv_one_candidate_power. ((forall ff_i_bfv_one_candidate_power_repeat. (exists ff_lt_bfv_one_candidate_power_repeat_bound. ff_lt_bfv_one_candidate_power_repeat_bound + S ff_i_bfv_one_candidate_power_repeat = bpv_candidate_bfv_one) -> (((exists ff_h_bfv_one_candidate_power_repeat_decoded. ff_h_bfv_one_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_one_candidate_power_repeat)) * ff_c_bfv_one_candidate_power)) /\ exists ff_q_bfv_one_candidate_power_repeat_decoded. ff_b_bfv_one_candidate_power = ff_q_bfv_one_candidate_power_repeat_decoded * S ((S (ff_i_bfv_one_candidate_power_repeat)) * ff_c_bfv_one_candidate_power) + (p)))) /\ (exists ff_u_bfv_one_candidate_power_product ff_v_bfv_one_candidate_power_product. ((((exists ff_h_bfv_one_candidate_power_product_start. ff_h_bfv_one_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_one_candidate_power_product)) /\ exists ff_q_bfv_one_candidate_power_product_start. ff_u_bfv_one_candidate_power_product = ff_q_bfv_one_candidate_power_product_start * S ((S (0)) * ff_v_bfv_one_candidate_power_product) + (1))) /\ ((((exists ff_h_bfv_one_candidate_power_product_terminal. ff_h_bfv_one_candidate_power_product_terminal + S (bpv_result_bfv_one_candidate) = S ((S (bpv_candidate_bfv_one)) * ff_v_bfv_one_candidate_power_product)) /\ exists ff_q_bfv_one_candidate_power_product_terminal. ff_u_bfv_one_candidate_power_product = ff_q_bfv_one_candidate_power_product_terminal * S ((S (bpv_candidate_bfv_one)) * ff_v_bfv_one_candidate_power_product) + (bpv_result_bfv_one_candidate))) /\ forall ff_i_bfv_one_candidate_power_product. (exists ff_lt_bfv_one_candidate_power_product_bound. ff_lt_bfv_one_candidate_power_product_bound + S ff_i_bfv_one_candidate_power_product = bpv_candidate_bfv_one) -> exists ff_p_bfv_one_candidate_power_product ff_r_bfv_one_candidate_power_product ff_s_bfv_one_candidate_power_product. ((((exists ff_h_bfv_one_candidate_power_product_factor. ff_h_bfv_one_candidate_power_product_factor + S (ff_p_bfv_one_candidate_power_product) = S ((S (ff_i_bfv_one_candidate_power_product)) * ff_c_bfv_one_candidate_power)) /\ exists ff_q_bfv_one_candidate_power_product_factor. ff_b_bfv_one_candidate_power = ff_q_bfv_one_candidate_power_product_factor * S ((S (ff_i_bfv_one_candidate_power_product)) * ff_c_bfv_one_candidate_power) + (ff_p_bfv_one_candidate_power_product))) /\ ((((exists ff_h_bfv_one_candidate_power_product_partial. ff_h_bfv_one_candidate_power_product_partial + S (ff_r_bfv_one_candidate_power_product) = S ((S (ff_i_bfv_one_candidate_power_product)) * ff_v_bfv_one_candidate_power_product)) /\ exists ff_q_bfv_one_candidate_power_product_partial. ff_u_bfv_one_candidate_power_product = ff_q_bfv_one_candidate_power_product_partial * S ((S (ff_i_bfv_one_candidate_power_product)) * ff_v_bfv_one_candidate_power_product) + (ff_r_bfv_one_candidate_power_product))) /\ ((((exists ff_h_bfv_one_candidate_power_product_successor. ff_h_bfv_one_candidate_power_product_successor + S (ff_s_bfv_one_candidate_power_product) = S ((S (S ff_i_bfv_one_candidate_power_product)) * ff_v_bfv_one_candidate_power_product)) /\ exists ff_q_bfv_one_candidate_power_product_successor. ff_u_bfv_one_candidate_power_product = ff_q_bfv_one_candidate_power_product_successor * S ((S (S ff_i_bfv_one_candidate_power_product)) * ff_v_bfv_one_candidate_power_product) + (ff_s_bfv_one_candidate_power_product))) /\ ff_s_bfv_one_candidate_power_product = ff_r_bfv_one_candidate_power_product * ff_p_bfv_one_candidate_power_product)))))))) /\ (exists bpv_factor_bfv_one_candidate_divides. one = bpv_result_bfv_one_candidate * bpv_factor_bfv_one_candidate_divides))) -> (exists bpv_gap_bfv_one_maximal. bpv_gap_bfv_one_maximal + bpv_candidate_bfv_one = e)) -> e = 0Proof neighborhood
Direct theorem prerequisites
BT00Q9 power_valuation_power_divides BT000Q zero_or_succ BT0083 pow_successor_decompose BT0020 mul_eq_one_componentsDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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–6
02Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
cases hp
03Establish hselectedL8–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation power divides.
- L8
have hselected : PowerDivides(p,e,one)Definitions: PowerDivides(p,e,one)Original native command in the exact edition - L9
specialize power_valuation_power_divides p - L10
specialize power_valuation_power_divides one - L11
specialize power_valuation_power_divides e - L12
apply power_valuation_power_divides - L13
exact hvaluation
04Separate the logical casesL14–16
05Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
specialize zero_or_succ e
06Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases zero_or_succ
07Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
exact zero_or_succ_left
08Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
cases zero_or_succ_right
09Establish hstepL21–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
- L21
have hstep : ∃ R. Pow(p,x2,R) ∧ x = R · pDefinitions: Pow(p,x2,R)Original native command in the exact edition - L22
specialize pow_successor_decompose p - L23
specialize pow_successor_decompose x2 - L24
specialize pow_successor_decompose e - L25
specialize pow_successor_decompose x - L26
apply pow_successor_decompose - L27
exact zero_or_succ_right_witness - L28
exact hselected_witness_left
10Separate the logical casesL29–30
11Establish hresult_oneL31–33
12Establish hresult_partsL34–40
13Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
cases hresult_parts
14Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hresult_parts_left
15Establish hprime_oneL43–45
16Establish hstep_partsL46–51
17Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
cases hstep_parts
18Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
exact hstep_parts_right
19Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
exfalso
Original defined command ledger · 56 lines
- 0001
intro p - 0002
intro one - 0003
intro e - 0004
intro hone - 0005
intro hp - 0006
intro hvaluation - 0007
cases hp - 0008
have hselected : PowerDivides(p,e,one)Exact native replay line
have hselected : exists bpv_result_bfv_one_selected. ((exists ff_b_bfv_one_selected_power ff_c_bfv_one_selected_power. ((forall ff_i_bfv_one_selected_power_repeat. (exists ff_lt_bfv_one_selected_power_repeat_bound. ff_lt_bfv_one_selected_power_repeat_bound + S ff_i_bfv_one_selected_power_repeat = e) -> (((exists ff_h_bfv_one_selected_power_repeat_decoded. ff_h_bfv_one_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_one_selected_power_repeat)) * ff_c_bfv_one_selected_power)) /\ exists ff_q_bfv_one_selected_power_repeat_decoded. ff_b_bfv_one_selected_power = ff_q_bfv_one_selected_power_repeat_decoded * S ((S (ff_i_bfv_one_selected_power_repeat)) * ff_c_bfv_one_selected_power) + (p)))) /\ (exists ff_u_bfv_one_selected_power_product ff_v_bfv_one_selected_power_product. ((((exists ff_h_bfv_one_selected_power_product_start. ff_h_bfv_one_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_start. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_start * S ((S (0)) * ff_v_bfv_one_selected_power_product) + (1))) /\ ((((exists ff_h_bfv_one_selected_power_product_terminal. ff_h_bfv_one_selected_power_product_terminal + S (bpv_result_bfv_one_selected) = S ((S (e)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_terminal. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_terminal * S ((S (e)) * ff_v_bfv_one_selected_power_product) + (bpv_result_bfv_one_selected))) /\ forall ff_i_bfv_one_selected_power_product. (exists ff_lt_bfv_one_selected_power_product_bound. ff_lt_bfv_one_selected_power_product_bound + S ff_i_bfv_one_selected_power_product = e) -> exists ff_p_bfv_one_selected_power_product ff_r_bfv_one_selected_power_product ff_s_bfv_one_selected_power_product. ((((exists ff_h_bfv_one_selected_power_product_factor. ff_h_bfv_one_selected_power_product_factor + S (ff_p_bfv_one_selected_power_product) = S ((S (ff_i_bfv_one_selected_power_product)) * ff_c_bfv_one_selected_power)) /\ exists ff_q_bfv_one_selected_power_product_factor. ff_b_bfv_one_selected_power = ff_q_bfv_one_selected_power_product_factor * S ((S (ff_i_bfv_one_selected_power_product)) * ff_c_bfv_one_selected_power) + (ff_p_bfv_one_selected_power_product))) /\ ((((exists ff_h_bfv_one_selected_power_product_partial. ff_h_bfv_one_selected_power_product_partial + S (ff_r_bfv_one_selected_power_product) = S ((S (ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_partial. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_partial * S ((S (ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product) + (ff_r_bfv_one_selected_power_product))) /\ ((((exists ff_h_bfv_one_selected_power_product_successor. ff_h_bfv_one_selected_power_product_successor + S (ff_s_bfv_one_selected_power_product) = S ((S (S ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_successor. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_successor * S ((S (S ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product) + (ff_s_bfv_one_selected_power_product))) /\ ff_s_bfv_one_selected_power_product = ff_r_bfv_one_selected_power_product * ff_p_bfv_one_selected_power_product)))))))) /\ (exists bpv_factor_bfv_one_selected_divides. one = bpv_result_bfv_one_selected * bpv_factor_bfv_one_selected_divides)) - 0009
specialize power_valuation_power_divides p - 0010
specialize power_valuation_power_divides one - 0011
specialize power_valuation_power_divides e - 0012
apply power_valuation_power_divides - 0013
exact hvaluation - 0014
cases hselected - 0015
cases hselected_witness - 0016
cases hselected_witness_right - 0017
specialize zero_or_succ e - 0018
cases zero_or_succ - 0019
exact zero_or_succ_left - 0020
cases zero_or_succ_right - 0021
have hstep : ∃ R. Pow(p,x2,R) ∧ x = R · pExact native replay line
have hstep : exists R. (exists ff_b_bfv_one_prefix ff_c_bfv_one_prefix. ((forall ff_i_bfv_one_prefix_repeat. (exists ff_lt_bfv_one_prefix_repeat_bound. ff_lt_bfv_one_prefix_repeat_bound + S ff_i_bfv_one_prefix_repeat = x2) -> (((exists ff_h_bfv_one_prefix_repeat_decoded. ff_h_bfv_one_prefix_repeat_decoded + S (p) = S ((S (ff_i_bfv_one_prefix_repeat)) * ff_c_bfv_one_prefix)) /\ exists ff_q_bfv_one_prefix_repeat_decoded. ff_b_bfv_one_prefix = ff_q_bfv_one_prefix_repeat_decoded * S ((S (ff_i_bfv_one_prefix_repeat)) * ff_c_bfv_one_prefix) + (p)))) /\ (exists ff_u_bfv_one_prefix_product ff_v_bfv_one_prefix_product. ((((exists ff_h_bfv_one_prefix_product_start. ff_h_bfv_one_prefix_product_start + S (1) = S ((S (0)) * ff_v_bfv_one_prefix_product)) /\ exists ff_q_bfv_one_prefix_product_start. ff_u_bfv_one_prefix_product = ff_q_bfv_one_prefix_product_start * S ((S (0)) * ff_v_bfv_one_prefix_product) + (1))) /\ ((((exists ff_h_bfv_one_prefix_product_terminal. ff_h_bfv_one_prefix_product_terminal + S (R) = S ((S (x2)) * ff_v_bfv_one_prefix_product)) /\ exists ff_q_bfv_one_prefix_product_terminal. ff_u_bfv_one_prefix_product = ff_q_bfv_one_prefix_product_terminal * S ((S (x2)) * ff_v_bfv_one_prefix_product) + (R))) /\ forall ff_i_bfv_one_prefix_product. (exists ff_lt_bfv_one_prefix_product_bound. ff_lt_bfv_one_prefix_product_bound + S ff_i_bfv_one_prefix_product = x2) -> exists ff_p_bfv_one_prefix_product ff_r_bfv_one_prefix_product ff_s_bfv_one_prefix_product. ((((exists ff_h_bfv_one_prefix_product_factor. ff_h_bfv_one_prefix_product_factor + S (ff_p_bfv_one_prefix_product) = S ((S (ff_i_bfv_one_prefix_product)) * ff_c_bfv_one_prefix)) /\ exists ff_q_bfv_one_prefix_product_factor. ff_b_bfv_one_prefix = ff_q_bfv_one_prefix_product_factor * S ((S (ff_i_bfv_one_prefix_product)) * ff_c_bfv_one_prefix) + (ff_p_bfv_one_prefix_product))) /\ ((((exists ff_h_bfv_one_prefix_product_partial. ff_h_bfv_one_prefix_product_partial + S (ff_r_bfv_one_prefix_product) = S ((S (ff_i_bfv_one_prefix_product)) * ff_v_bfv_one_prefix_product)) /\ exists ff_q_bfv_one_prefix_product_partial. ff_u_bfv_one_prefix_product = ff_q_bfv_one_prefix_product_partial * S ((S (ff_i_bfv_one_prefix_product)) * ff_v_bfv_one_prefix_product) + (ff_r_bfv_one_prefix_product))) /\ ((((exists ff_h_bfv_one_prefix_product_successor. ff_h_bfv_one_prefix_product_successor + S (ff_s_bfv_one_prefix_product) = S ((S (S ff_i_bfv_one_prefix_product)) * ff_v_bfv_one_prefix_product)) /\ exists ff_q_bfv_one_prefix_product_successor. ff_u_bfv_one_prefix_product = ff_q_bfv_one_prefix_product_successor * S ((S (S ff_i_bfv_one_prefix_product)) * ff_v_bfv_one_prefix_product) + (ff_s_bfv_one_prefix_product))) /\ ff_s_bfv_one_prefix_product = ff_r_bfv_one_prefix_product * ff_p_bfv_one_prefix_product)))))))) /\ x = R * p - 0022
specialize pow_successor_decompose p - 0023
specialize pow_successor_decompose x2 - 0024
specialize pow_successor_decompose e - 0025
specialize pow_successor_decompose x - 0026
apply pow_successor_decompose - 0027
exact zero_or_succ_right_witness - 0028
exact hselected_witness_left - 0029
cases hstep - 0030
cases hstep_witness - 0031
have hresult_one : x = 1 - 0032
specialize mul_eq_one_components x - 0033
specialize mul_eq_one_components x1 - 0034
have hresult_parts : x = 1 /\ x1 = 1 - 0035
apply mul_eq_one_components - 0036
symm - 0037
trans one - 0038
symm - 0039
exact hone - 0040
exact hselected_witness_right_witness - 0041
cases hresult_parts - 0042
exact hresult_parts_left - 0043
have hprime_one : p = 1 - 0044
specialize mul_eq_one_components x3 - 0045
specialize mul_eq_one_components p - 0046
have hstep_parts : x3 = 1 /\ p = 1 - 0047
apply mul_eq_one_components - 0048
trans x - 0049
symm - 0050
exact hstep_witness_right - 0051
exact hresult_one - 0052
cases hstep_parts - 0053
exact hstep_parts_right - 0054
exfalso - 0055
apply hp_left - 0056
exact hprime_one