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. n = 0 → Prime(p) → FactorialValuation(p,n,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
0 occurrences
Exact expanded native-PA statement
forall p n e. n = 0 -> ((~(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 bfv_factorial_bfv_zero. ((exists ff_b_bfv_zero_factorial ff_c_bfv_zero_factorial. ((forall ff_i_bfv_zero_factorial_range. (exists ff_lt_bfv_zero_factorial_range_bound. ff_lt_bfv_zero_factorial_range_bound + S ff_i_bfv_zero_factorial_range = n) -> (((exists ff_h_bfv_zero_factorial_range_decoded. ff_h_bfv_zero_factorial_range_decoded + S (1 + ff_i_bfv_zero_factorial_range) = S ((S (ff_i_bfv_zero_factorial_range)) * ff_c_bfv_zero_factorial)) /\ exists ff_q_bfv_zero_factorial_range_decoded. ff_b_bfv_zero_factorial = ff_q_bfv_zero_factorial_range_decoded * S ((S (ff_i_bfv_zero_factorial_range)) * ff_c_bfv_zero_factorial) + (1 + ff_i_bfv_zero_factorial_range)))) /\ (exists ff_u_bfv_zero_factorial_product ff_v_bfv_zero_factorial_product. ((((exists ff_h_bfv_zero_factorial_product_start. ff_h_bfv_zero_factorial_product_start + S (1) = S ((S (0)) * ff_v_bfv_zero_factorial_product)) /\ exists ff_q_bfv_zero_factorial_product_start. ff_u_bfv_zero_factorial_product = ff_q_bfv_zero_factorial_product_start * S ((S (0)) * ff_v_bfv_zero_factorial_product) + (1))) /\ ((((exists ff_h_bfv_zero_factorial_product_terminal. ff_h_bfv_zero_factorial_product_terminal + S (bfv_factorial_bfv_zero) = S ((S (n)) * ff_v_bfv_zero_factorial_product)) /\ exists ff_q_bfv_zero_factorial_product_terminal. ff_u_bfv_zero_factorial_product = ff_q_bfv_zero_factorial_product_terminal * S ((S (n)) * ff_v_bfv_zero_factorial_product) + (bfv_factorial_bfv_zero))) /\ forall ff_i_bfv_zero_factorial_product. (exists ff_lt_bfv_zero_factorial_product_bound. ff_lt_bfv_zero_factorial_product_bound + S ff_i_bfv_zero_factorial_product = n) -> exists ff_p_bfv_zero_factorial_product ff_r_bfv_zero_factorial_product ff_s_bfv_zero_factorial_product. ((((exists ff_h_bfv_zero_factorial_product_factor. ff_h_bfv_zero_factorial_product_factor + S (ff_p_bfv_zero_factorial_product) = S ((S (ff_i_bfv_zero_factorial_product)) * ff_c_bfv_zero_factorial)) /\ exists ff_q_bfv_zero_factorial_product_factor. ff_b_bfv_zero_factorial = ff_q_bfv_zero_factorial_product_factor * S ((S (ff_i_bfv_zero_factorial_product)) * ff_c_bfv_zero_factorial) + (ff_p_bfv_zero_factorial_product))) /\ ((((exists ff_h_bfv_zero_factorial_product_partial. ff_h_bfv_zero_factorial_product_partial + S (ff_r_bfv_zero_factorial_product) = S ((S (ff_i_bfv_zero_factorial_product)) * ff_v_bfv_zero_factorial_product)) /\ exists ff_q_bfv_zero_factorial_product_partial. ff_u_bfv_zero_factorial_product = ff_q_bfv_zero_factorial_product_partial * S ((S (ff_i_bfv_zero_factorial_product)) * ff_v_bfv_zero_factorial_product) + (ff_r_bfv_zero_factorial_product))) /\ ((((exists ff_h_bfv_zero_factorial_product_successor. ff_h_bfv_zero_factorial_product_successor + S (ff_s_bfv_zero_factorial_product) = S ((S (S ff_i_bfv_zero_factorial_product)) * ff_v_bfv_zero_factorial_product)) /\ exists ff_q_bfv_zero_factorial_product_successor. ff_u_bfv_zero_factorial_product = ff_q_bfv_zero_factorial_product_successor * S ((S (S ff_i_bfv_zero_factorial_product)) * ff_v_bfv_zero_factorial_product) + (ff_s_bfv_zero_factorial_product))) /\ ff_s_bfv_zero_factorial_product = ff_r_bfv_zero_factorial_product * ff_p_bfv_zero_factorial_product)))))))) /\ (((exists bpv_gap_bfv_zero_valuation_exponent_bound. bpv_gap_bfv_zero_valuation_exponent_bound + e = bfv_factorial_bfv_zero) /\ (exists bpv_result_bfv_zero_valuation_selected. ((exists ff_b_bfv_zero_valuation_selected_power ff_c_bfv_zero_valuation_selected_power. ((forall ff_i_bfv_zero_valuation_selected_power_repeat. (exists ff_lt_bfv_zero_valuation_selected_power_repeat_bound. ff_lt_bfv_zero_valuation_selected_power_repeat_bound + S ff_i_bfv_zero_valuation_selected_power_repeat = e) -> (((exists ff_h_bfv_zero_valuation_selected_power_repeat_decoded. ff_h_bfv_zero_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_zero_valuation_selected_power_repeat)) * ff_c_bfv_zero_valuation_selected_power)) /\ exists ff_q_bfv_zero_valuation_selected_power_repeat_decoded. ff_b_bfv_zero_valuation_selected_power = ff_q_bfv_zero_valuation_selected_power_repeat_decoded * S ((S (ff_i_bfv_zero_valuation_selected_power_repeat)) * ff_c_bfv_zero_valuation_selected_power) + (p)))) /\ (exists ff_u_bfv_zero_valuation_selected_power_product ff_v_bfv_zero_valuation_selected_power_product. ((((exists ff_h_bfv_zero_valuation_selected_power_product_start. ff_h_bfv_zero_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_zero_valuation_selected_power_product)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_start. ff_u_bfv_zero_valuation_selected_power_product = ff_q_bfv_zero_valuation_selected_power_product_start * S ((S (0)) * ff_v_bfv_zero_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bfv_zero_valuation_selected_power_product_terminal. ff_h_bfv_zero_valuation_selected_power_product_terminal + S (bpv_result_bfv_zero_valuation_selected) = S ((S (e)) * ff_v_bfv_zero_valuation_selected_power_product)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_terminal. ff_u_bfv_zero_valuation_selected_power_product = ff_q_bfv_zero_valuation_selected_power_product_terminal * S ((S (e)) * ff_v_bfv_zero_valuation_selected_power_product) + (bpv_result_bfv_zero_valuation_selected))) /\ forall ff_i_bfv_zero_valuation_selected_power_product. (exists ff_lt_bfv_zero_valuation_selected_power_product_bound. ff_lt_bfv_zero_valuation_selected_power_product_bound + S ff_i_bfv_zero_valuation_selected_power_product = e) -> exists ff_p_bfv_zero_valuation_selected_power_product ff_r_bfv_zero_valuation_selected_power_product ff_s_bfv_zero_valuation_selected_power_product. ((((exists ff_h_bfv_zero_valuation_selected_power_product_factor. ff_h_bfv_zero_valuation_selected_power_product_factor + S (ff_p_bfv_zero_valuation_selected_power_product) = S ((S (ff_i_bfv_zero_valuation_selected_power_product)) * ff_c_bfv_zero_valuation_selected_power)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_factor. ff_b_bfv_zero_valuation_selected_power = ff_q_bfv_zero_valuation_selected_power_product_factor * S ((S (ff_i_bfv_zero_valuation_selected_power_product)) * ff_c_bfv_zero_valuation_selected_power) + (ff_p_bfv_zero_valuation_selected_power_product))) /\ ((((exists ff_h_bfv_zero_valuation_selected_power_product_partial. ff_h_bfv_zero_valuation_selected_power_product_partial + S (ff_r_bfv_zero_valuation_selected_power_product) = S ((S (ff_i_bfv_zero_valuation_selected_power_product)) * ff_v_bfv_zero_valuation_selected_power_product)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_partial. ff_u_bfv_zero_valuation_selected_power_product = ff_q_bfv_zero_valuation_selected_power_product_partial * S ((S (ff_i_bfv_zero_valuation_selected_power_product)) * ff_v_bfv_zero_valuation_selected_power_product) + (ff_r_bfv_zero_valuation_selected_power_product))) /\ ((((exists ff_h_bfv_zero_valuation_selected_power_product_successor. ff_h_bfv_zero_valuation_selected_power_product_successor + S (ff_s_bfv_zero_valuation_selected_power_product) = S ((S (S ff_i_bfv_zero_valuation_selected_power_product)) * ff_v_bfv_zero_valuation_selected_power_product)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_successor. ff_u_bfv_zero_valuation_selected_power_product = ff_q_bfv_zero_valuation_selected_power_product_successor * S ((S (S ff_i_bfv_zero_valuation_selected_power_product)) * ff_v_bfv_zero_valuation_selected_power_product) + (ff_s_bfv_zero_valuation_selected_power_product))) /\ ff_s_bfv_zero_valuation_selected_power_product = ff_r_bfv_zero_valuation_selected_power_product * ff_p_bfv_zero_valuation_selected_power_product)))))))) /\ (exists bpv_factor_bfv_zero_valuation_selected_divides. bfv_factorial_bfv_zero = bpv_result_bfv_zero_valuation_selected * bpv_factor_bfv_zero_valuation_selected_divides)))) /\ forall bpv_candidate_bfv_zero_valuation. (exists bpv_gap_bfv_zero_valuation_candidate_bound. bpv_gap_bfv_zero_valuation_candidate_bound + bpv_candidate_bfv_zero_valuation = bfv_factorial_bfv_zero) -> (exists bpv_result_bfv_zero_valuation_candidate. ((exists ff_b_bfv_zero_valuation_candidate_power ff_c_bfv_zero_valuation_candidate_power. ((forall ff_i_bfv_zero_valuation_candidate_power_repeat. (exists ff_lt_bfv_zero_valuation_candidate_power_repeat_bound. ff_lt_bfv_zero_valuation_candidate_power_repeat_bound + S ff_i_bfv_zero_valuation_candidate_power_repeat = bpv_candidate_bfv_zero_valuation) -> (((exists ff_h_bfv_zero_valuation_candidate_power_repeat_decoded. ff_h_bfv_zero_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_zero_valuation_candidate_power_repeat)) * ff_c_bfv_zero_valuation_candidate_power)) /\ exists ff_q_bfv_zero_valuation_candidate_power_repeat_decoded. ff_b_bfv_zero_valuation_candidate_power = ff_q_bfv_zero_valuation_candidate_power_repeat_decoded * S ((S (ff_i_bfv_zero_valuation_candidate_power_repeat)) * ff_c_bfv_zero_valuation_candidate_power) + (p)))) /\ (exists ff_u_bfv_zero_valuation_candidate_power_product ff_v_bfv_zero_valuation_candidate_power_product. ((((exists ff_h_bfv_zero_valuation_candidate_power_product_start. ff_h_bfv_zero_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_zero_valuation_candidate_power_product)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_start. ff_u_bfv_zero_valuation_candidate_power_product = ff_q_bfv_zero_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bfv_zero_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bfv_zero_valuation_candidate_power_product_terminal. ff_h_bfv_zero_valuation_candidate_power_product_terminal + S (bpv_result_bfv_zero_valuation_candidate) = S ((S (bpv_candidate_bfv_zero_valuation)) * ff_v_bfv_zero_valuation_candidate_power_product)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_terminal. ff_u_bfv_zero_valuation_candidate_power_product = ff_q_bfv_zero_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_bfv_zero_valuation)) * ff_v_bfv_zero_valuation_candidate_power_product) + (bpv_result_bfv_zero_valuation_candidate))) /\ forall ff_i_bfv_zero_valuation_candidate_power_product. (exists ff_lt_bfv_zero_valuation_candidate_power_product_bound. ff_lt_bfv_zero_valuation_candidate_power_product_bound + S ff_i_bfv_zero_valuation_candidate_power_product = bpv_candidate_bfv_zero_valuation) -> exists ff_p_bfv_zero_valuation_candidate_power_product ff_r_bfv_zero_valuation_candidate_power_product ff_s_bfv_zero_valuation_candidate_power_product. ((((exists ff_h_bfv_zero_valuation_candidate_power_product_factor. ff_h_bfv_zero_valuation_candidate_power_product_factor + S (ff_p_bfv_zero_valuation_candidate_power_product) = S ((S (ff_i_bfv_zero_valuation_candidate_power_product)) * ff_c_bfv_zero_valuation_candidate_power)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_factor. ff_b_bfv_zero_valuation_candidate_power = ff_q_bfv_zero_valuation_candidate_power_product_factor * S ((S (ff_i_bfv_zero_valuation_candidate_power_product)) * ff_c_bfv_zero_valuation_candidate_power) + (ff_p_bfv_zero_valuation_candidate_power_product))) /\ ((((exists ff_h_bfv_zero_valuation_candidate_power_product_partial. ff_h_bfv_zero_valuation_candidate_power_product_partial + S (ff_r_bfv_zero_valuation_candidate_power_product) = S ((S (ff_i_bfv_zero_valuation_candidate_power_product)) * ff_v_bfv_zero_valuation_candidate_power_product)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_partial. ff_u_bfv_zero_valuation_candidate_power_product = ff_q_bfv_zero_valuation_candidate_power_product_partial * S ((S (ff_i_bfv_zero_valuation_candidate_power_product)) * ff_v_bfv_zero_valuation_candidate_power_product) + (ff_r_bfv_zero_valuation_candidate_power_product))) /\ ((((exists ff_h_bfv_zero_valuation_candidate_power_product_successor. ff_h_bfv_zero_valuation_candidate_power_product_successor + S (ff_s_bfv_zero_valuation_candidate_power_product) = S ((S (S ff_i_bfv_zero_valuation_candidate_power_product)) * ff_v_bfv_zero_valuation_candidate_power_product)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_successor. ff_u_bfv_zero_valuation_candidate_power_product = ff_q_bfv_zero_valuation_candidate_power_product_successor * S ((S (S ff_i_bfv_zero_valuation_candidate_power_product)) * ff_v_bfv_zero_valuation_candidate_power_product) + (ff_s_bfv_zero_valuation_candidate_power_product))) /\ ff_s_bfv_zero_valuation_candidate_power_product = ff_r_bfv_zero_valuation_candidate_power_product * ff_p_bfv_zero_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_bfv_zero_valuation_candidate_divides. bfv_factorial_bfv_zero = bpv_result_bfv_zero_valuation_candidate * bpv_factor_bfv_zero_valuation_candidate_divides))) -> (exists bpv_gap_bfv_zero_valuation_maximal. bpv_gap_bfv_zero_valuation_maximal + bpv_candidate_bfv_zero_valuation = e)))) -> e = 0Proof neighborhood
Direct theorem prerequisites
Direct 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 (2)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–8
03Establish hfactorial_valueL9–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply factorial zero.
- L9
have hfactorial_value : x = 1 - L10
specialize factorial_zero n - L11
specialize factorial_zero x - L12
apply factorial_zero - L13
exact hn - L14
exact hvaluation_witness_left - L15
specialize prime_power_valuation_one_zero p - L16
specialize prime_power_valuation_one_zero x - L17
specialize prime_power_valuation_one_zero e - L18
apply prime_power_valuation_one_zero
Original defined command ledger · 21 lines
- 0001
intro p - 0002
intro n - 0003
intro e - 0004
intro hn - 0005
intro hp - 0006
intro hvaluation - 0007
cases hvaluation - 0008
cases hvaluation_witness - 0009
have hfactorial_value : x = 1 - 0010
specialize factorial_zero n - 0011
specialize factorial_zero x - 0012
apply factorial_zero - 0013
exact hn - 0014
exact hvaluation_witness_left - 0015
specialize prime_power_valuation_one_zero p - 0016
specialize prime_power_valuation_one_zero x - 0017
specialize prime_power_valuation_one_zero e - 0018
apply prime_power_valuation_one_zero - 0019
exact hfactorial_value - 0020
exact hp - 0021
exact hvaluation_witness_right