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. ∀ c. ∀ e. PowerValuation(p,c,e) → ¬e = 0 → Dvd(p,c)Every 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
3 occurrences
Exact expanded native-PA statement
forall p c e. (((exists bpv_gap_bpvnedb_source_exponent_bound. bpv_gap_bpvnedb_source_exponent_bound + e = c) /\ (exists bpv_result_bpvnedb_source_selected. ((exists ff_b_bpvnedb_source_selected_power ff_c_bpvnedb_source_selected_power. ((forall ff_i_bpvnedb_source_selected_power_repeat. (exists ff_lt_bpvnedb_source_selected_power_repeat_bound. ff_lt_bpvnedb_source_selected_power_repeat_bound + S ff_i_bpvnedb_source_selected_power_repeat = e) -> (((exists ff_h_bpvnedb_source_selected_power_repeat_decoded. ff_h_bpvnedb_source_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpvnedb_source_selected_power_repeat)) * ff_c_bpvnedb_source_selected_power)) /\ exists ff_q_bpvnedb_source_selected_power_repeat_decoded. ff_b_bpvnedb_source_selected_power = ff_q_bpvnedb_source_selected_power_repeat_decoded * S ((S (ff_i_bpvnedb_source_selected_power_repeat)) * ff_c_bpvnedb_source_selected_power) + (p)))) /\ (exists ff_u_bpvnedb_source_selected_power_product ff_v_bpvnedb_source_selected_power_product. ((((exists ff_h_bpvnedb_source_selected_power_product_start. ff_h_bpvnedb_source_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpvnedb_source_selected_power_product)) /\ exists ff_q_bpvnedb_source_selected_power_product_start. ff_u_bpvnedb_source_selected_power_product = ff_q_bpvnedb_source_selected_power_product_start * S ((S (0)) * ff_v_bpvnedb_source_selected_power_product) + (1))) /\ ((((exists ff_h_bpvnedb_source_selected_power_product_terminal. ff_h_bpvnedb_source_selected_power_product_terminal + S (bpv_result_bpvnedb_source_selected) = S ((S (e)) * ff_v_bpvnedb_source_selected_power_product)) /\ exists ff_q_bpvnedb_source_selected_power_product_terminal. ff_u_bpvnedb_source_selected_power_product = ff_q_bpvnedb_source_selected_power_product_terminal * S ((S (e)) * ff_v_bpvnedb_source_selected_power_product) + (bpv_result_bpvnedb_source_selected))) /\ forall ff_i_bpvnedb_source_selected_power_product. (exists ff_lt_bpvnedb_source_selected_power_product_bound. ff_lt_bpvnedb_source_selected_power_product_bound + S ff_i_bpvnedb_source_selected_power_product = e) -> exists ff_p_bpvnedb_source_selected_power_product ff_r_bpvnedb_source_selected_power_product ff_s_bpvnedb_source_selected_power_product. ((((exists ff_h_bpvnedb_source_selected_power_product_factor. ff_h_bpvnedb_source_selected_power_product_factor + S (ff_p_bpvnedb_source_selected_power_product) = S ((S (ff_i_bpvnedb_source_selected_power_product)) * ff_c_bpvnedb_source_selected_power)) /\ exists ff_q_bpvnedb_source_selected_power_product_factor. ff_b_bpvnedb_source_selected_power = ff_q_bpvnedb_source_selected_power_product_factor * S ((S (ff_i_bpvnedb_source_selected_power_product)) * ff_c_bpvnedb_source_selected_power) + (ff_p_bpvnedb_source_selected_power_product))) /\ ((((exists ff_h_bpvnedb_source_selected_power_product_partial. ff_h_bpvnedb_source_selected_power_product_partial + S (ff_r_bpvnedb_source_selected_power_product) = S ((S (ff_i_bpvnedb_source_selected_power_product)) * ff_v_bpvnedb_source_selected_power_product)) /\ exists ff_q_bpvnedb_source_selected_power_product_partial. ff_u_bpvnedb_source_selected_power_product = ff_q_bpvnedb_source_selected_power_product_partial * S ((S (ff_i_bpvnedb_source_selected_power_product)) * ff_v_bpvnedb_source_selected_power_product) + (ff_r_bpvnedb_source_selected_power_product))) /\ ((((exists ff_h_bpvnedb_source_selected_power_product_successor. ff_h_bpvnedb_source_selected_power_product_successor + S (ff_s_bpvnedb_source_selected_power_product) = S ((S (S ff_i_bpvnedb_source_selected_power_product)) * ff_v_bpvnedb_source_selected_power_product)) /\ exists ff_q_bpvnedb_source_selected_power_product_successor. ff_u_bpvnedb_source_selected_power_product = ff_q_bpvnedb_source_selected_power_product_successor * S ((S (S ff_i_bpvnedb_source_selected_power_product)) * ff_v_bpvnedb_source_selected_power_product) + (ff_s_bpvnedb_source_selected_power_product))) /\ ff_s_bpvnedb_source_selected_power_product = ff_r_bpvnedb_source_selected_power_product * ff_p_bpvnedb_source_selected_power_product)))))))) /\ (exists bpv_factor_bpvnedb_source_selected_divides. c = bpv_result_bpvnedb_source_selected * bpv_factor_bpvnedb_source_selected_divides)))) /\ forall bpv_candidate_bpvnedb_source. (exists bpv_gap_bpvnedb_source_candidate_bound. bpv_gap_bpvnedb_source_candidate_bound + bpv_candidate_bpvnedb_source = c) -> (exists bpv_result_bpvnedb_source_candidate. ((exists ff_b_bpvnedb_source_candidate_power ff_c_bpvnedb_source_candidate_power. ((forall ff_i_bpvnedb_source_candidate_power_repeat. (exists ff_lt_bpvnedb_source_candidate_power_repeat_bound. ff_lt_bpvnedb_source_candidate_power_repeat_bound + S ff_i_bpvnedb_source_candidate_power_repeat = bpv_candidate_bpvnedb_source) -> (((exists ff_h_bpvnedb_source_candidate_power_repeat_decoded. ff_h_bpvnedb_source_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpvnedb_source_candidate_power_repeat)) * ff_c_bpvnedb_source_candidate_power)) /\ exists ff_q_bpvnedb_source_candidate_power_repeat_decoded. ff_b_bpvnedb_source_candidate_power = ff_q_bpvnedb_source_candidate_power_repeat_decoded * S ((S (ff_i_bpvnedb_source_candidate_power_repeat)) * ff_c_bpvnedb_source_candidate_power) + (p)))) /\ (exists ff_u_bpvnedb_source_candidate_power_product ff_v_bpvnedb_source_candidate_power_product. ((((exists ff_h_bpvnedb_source_candidate_power_product_start. ff_h_bpvnedb_source_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpvnedb_source_candidate_power_product)) /\ exists ff_q_bpvnedb_source_candidate_power_product_start. ff_u_bpvnedb_source_candidate_power_product = ff_q_bpvnedb_source_candidate_power_product_start * S ((S (0)) * ff_v_bpvnedb_source_candidate_power_product) + (1))) /\ ((((exists ff_h_bpvnedb_source_candidate_power_product_terminal. ff_h_bpvnedb_source_candidate_power_product_terminal + S (bpv_result_bpvnedb_source_candidate) = S ((S (bpv_candidate_bpvnedb_source)) * ff_v_bpvnedb_source_candidate_power_product)) /\ exists ff_q_bpvnedb_source_candidate_power_product_terminal. ff_u_bpvnedb_source_candidate_power_product = ff_q_bpvnedb_source_candidate_power_product_terminal * S ((S (bpv_candidate_bpvnedb_source)) * ff_v_bpvnedb_source_candidate_power_product) + (bpv_result_bpvnedb_source_candidate))) /\ forall ff_i_bpvnedb_source_candidate_power_product. (exists ff_lt_bpvnedb_source_candidate_power_product_bound. ff_lt_bpvnedb_source_candidate_power_product_bound + S ff_i_bpvnedb_source_candidate_power_product = bpv_candidate_bpvnedb_source) -> exists ff_p_bpvnedb_source_candidate_power_product ff_r_bpvnedb_source_candidate_power_product ff_s_bpvnedb_source_candidate_power_product. ((((exists ff_h_bpvnedb_source_candidate_power_product_factor. ff_h_bpvnedb_source_candidate_power_product_factor + S (ff_p_bpvnedb_source_candidate_power_product) = S ((S (ff_i_bpvnedb_source_candidate_power_product)) * ff_c_bpvnedb_source_candidate_power)) /\ exists ff_q_bpvnedb_source_candidate_power_product_factor. ff_b_bpvnedb_source_candidate_power = ff_q_bpvnedb_source_candidate_power_product_factor * S ((S (ff_i_bpvnedb_source_candidate_power_product)) * ff_c_bpvnedb_source_candidate_power) + (ff_p_bpvnedb_source_candidate_power_product))) /\ ((((exists ff_h_bpvnedb_source_candidate_power_product_partial. ff_h_bpvnedb_source_candidate_power_product_partial + S (ff_r_bpvnedb_source_candidate_power_product) = S ((S (ff_i_bpvnedb_source_candidate_power_product)) * ff_v_bpvnedb_source_candidate_power_product)) /\ exists ff_q_bpvnedb_source_candidate_power_product_partial. ff_u_bpvnedb_source_candidate_power_product = ff_q_bpvnedb_source_candidate_power_product_partial * S ((S (ff_i_bpvnedb_source_candidate_power_product)) * ff_v_bpvnedb_source_candidate_power_product) + (ff_r_bpvnedb_source_candidate_power_product))) /\ ((((exists ff_h_bpvnedb_source_candidate_power_product_successor. ff_h_bpvnedb_source_candidate_power_product_successor + S (ff_s_bpvnedb_source_candidate_power_product) = S ((S (S ff_i_bpvnedb_source_candidate_power_product)) * ff_v_bpvnedb_source_candidate_power_product)) /\ exists ff_q_bpvnedb_source_candidate_power_product_successor. ff_u_bpvnedb_source_candidate_power_product = ff_q_bpvnedb_source_candidate_power_product_successor * S ((S (S ff_i_bpvnedb_source_candidate_power_product)) * ff_v_bpvnedb_source_candidate_power_product) + (ff_s_bpvnedb_source_candidate_power_product))) /\ ff_s_bpvnedb_source_candidate_power_product = ff_r_bpvnedb_source_candidate_power_product * ff_p_bpvnedb_source_candidate_power_product)))))))) /\ (exists bpv_factor_bpvnedb_source_candidate_divides. c = bpv_result_bpvnedb_source_candidate * bpv_factor_bpvnedb_source_candidate_divides))) -> (exists bpv_gap_bpvnedb_source_maximal. bpv_gap_bpvnedb_source_maximal + bpv_candidate_bpvnedb_source = e)) -> ~(e = 0) -> (exists bpr_quotient_bpvnedb_result. c = (p) * bpr_quotient_bpvnedb_result)Proof neighborhood
Direct theorem prerequisites
BT0010 one_le_of_ne_zero BT00Q9 power_valuation_power_divides BT00QK power_divides_exponent_antitone BT0094 pow_oneDirect 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–5
02Establish honeL6–9
03Establish hselectedL10–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation power divides.
- L10
have hselected : PowerDivides(p,e,c)Definitions: PowerDivides(p,e,c)Original native command in the exact edition - L11
specialize power_valuation_power_divides p - L12
specialize power_valuation_power_divides c - L13
specialize power_valuation_power_divides e - L14
apply power_valuation_power_divides - L15
exact hvaluation
04Establish hunitL16–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power divides exponent antitone.
- L16
have hunit : PowerDivides(p,1,c)Definitions: PowerDivides(p,1,c)Original native command in the exact edition - L17
specialize power_divides_exponent_antitone p - L18
specialize power_divides_exponent_antitone 1 - L19
specialize power_divides_exponent_antitone e - L20
specialize power_divides_exponent_antitone c - L21
apply power_divides_exponent_antitone - L22
exact hone - L23
exact hselected
05Separate the logical casesL24–25
06Establish hvalueL26–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow one.
Original defined command ledger · 34 lines
- 0001
intro p - 0002
intro c - 0003
intro e - 0004
intro hvaluation - 0005
intro hexponent - 0006
have hone : Lt(0,e)Exact native replay line
have hone : exists bpr_le_gap_bpvnedb_one_bound. bpr_le_gap_bpvnedb_one_bound + (1) = (e) - 0007
specialize one_le_of_ne_zero e - 0008
apply one_le_of_ne_zero - 0009
exact hexponent - 0010
have hselected : PowerDivides(p,e,c)Exact native replay line
have hselected : exists bpvi_result_bpvnedb_selected. ((exists bpvi_b_bpvnedb_selected_power bpvi_c_bpvnedb_selected_power. ((forall bpvi_i_bpvnedb_selected_power. (exists bpvi_repeat_gap_bpvnedb_selected_power. bpvi_repeat_gap_bpvnedb_selected_power + S bpvi_i_bpvnedb_selected_power = e) -> (((exists bpvi_h_bpvnedb_selected_power_repeat. bpvi_h_bpvnedb_selected_power_repeat + S (p) = S ((S (bpvi_i_bpvnedb_selected_power)) * bpvi_c_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_repeat. bpvi_b_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_repeat * S ((S (bpvi_i_bpvnedb_selected_power)) * bpvi_c_bpvnedb_selected_power) + (p)))) /\ (exists bpvi_u_bpvnedb_selected_power bpvi_v_bpvnedb_selected_power. ((((exists bpvi_h_bpvnedb_selected_power_start. bpvi_h_bpvnedb_selected_power_start + S (1) = S ((S (0)) * bpvi_v_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_start. bpvi_u_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_start * S ((S (0)) * bpvi_v_bpvnedb_selected_power) + (1))) /\ ((((exists bpvi_h_bpvnedb_selected_power_terminal. bpvi_h_bpvnedb_selected_power_terminal + S (bpvi_result_bpvnedb_selected) = S ((S (e)) * bpvi_v_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_terminal. bpvi_u_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_terminal * S ((S (e)) * bpvi_v_bpvnedb_selected_power) + (bpvi_result_bpvnedb_selected))) /\ forall bpvi_j_bpvnedb_selected_power. (exists bpvi_product_gap_bpvnedb_selected_power. bpvi_product_gap_bpvnedb_selected_power + S bpvi_j_bpvnedb_selected_power = e) -> exists bpvi_factor_bpvnedb_selected_power bpvi_partial_bpvnedb_selected_power bpvi_successor_bpvnedb_selected_power. ((((exists bpvi_h_bpvnedb_selected_power_factor. bpvi_h_bpvnedb_selected_power_factor + S (bpvi_factor_bpvnedb_selected_power) = S ((S (bpvi_j_bpvnedb_selected_power)) * bpvi_c_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_factor. bpvi_b_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_factor * S ((S (bpvi_j_bpvnedb_selected_power)) * bpvi_c_bpvnedb_selected_power) + (bpvi_factor_bpvnedb_selected_power))) /\ ((((exists bpvi_h_bpvnedb_selected_power_partial. bpvi_h_bpvnedb_selected_power_partial + S (bpvi_partial_bpvnedb_selected_power) = S ((S (bpvi_j_bpvnedb_selected_power)) * bpvi_v_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_partial. bpvi_u_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_partial * S ((S (bpvi_j_bpvnedb_selected_power)) * bpvi_v_bpvnedb_selected_power) + (bpvi_partial_bpvnedb_selected_power))) /\ ((((exists bpvi_h_bpvnedb_selected_power_successor. bpvi_h_bpvnedb_selected_power_successor + S (bpvi_successor_bpvnedb_selected_power) = S ((S (S bpvi_j_bpvnedb_selected_power)) * bpvi_v_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_successor. bpvi_u_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_successor * S ((S (S bpvi_j_bpvnedb_selected_power)) * bpvi_v_bpvnedb_selected_power) + (bpvi_successor_bpvnedb_selected_power))) /\ bpvi_successor_bpvnedb_selected_power = bpvi_partial_bpvnedb_selected_power * bpvi_factor_bpvnedb_selected_power)))))))) /\ exists bpvi_divisor_factor_bpvnedb_selected. c = bpvi_result_bpvnedb_selected * bpvi_divisor_factor_bpvnedb_selected) - 0011
specialize power_valuation_power_divides p - 0012
specialize power_valuation_power_divides c - 0013
specialize power_valuation_power_divides e - 0014
apply power_valuation_power_divides - 0015
exact hvaluation - 0016
have hunit : PowerDivides(p,1,c)Exact native replay line
have hunit : exists bpvi_result_bpvnedb_unit. ((exists bpvi_b_bpvnedb_unit_power bpvi_c_bpvnedb_unit_power. ((forall bpvi_i_bpvnedb_unit_power. (exists bpvi_repeat_gap_bpvnedb_unit_power. bpvi_repeat_gap_bpvnedb_unit_power + S bpvi_i_bpvnedb_unit_power = 1) -> (((exists bpvi_h_bpvnedb_unit_power_repeat. bpvi_h_bpvnedb_unit_power_repeat + S (p) = S ((S (bpvi_i_bpvnedb_unit_power)) * bpvi_c_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_repeat. bpvi_b_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_repeat * S ((S (bpvi_i_bpvnedb_unit_power)) * bpvi_c_bpvnedb_unit_power) + (p)))) /\ (exists bpvi_u_bpvnedb_unit_power bpvi_v_bpvnedb_unit_power. ((((exists bpvi_h_bpvnedb_unit_power_start. bpvi_h_bpvnedb_unit_power_start + S (1) = S ((S (0)) * bpvi_v_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_start. bpvi_u_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_start * S ((S (0)) * bpvi_v_bpvnedb_unit_power) + (1))) /\ ((((exists bpvi_h_bpvnedb_unit_power_terminal. bpvi_h_bpvnedb_unit_power_terminal + S (bpvi_result_bpvnedb_unit) = S ((S (1)) * bpvi_v_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_terminal. bpvi_u_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_terminal * S ((S (1)) * bpvi_v_bpvnedb_unit_power) + (bpvi_result_bpvnedb_unit))) /\ forall bpvi_j_bpvnedb_unit_power. (exists bpvi_product_gap_bpvnedb_unit_power. bpvi_product_gap_bpvnedb_unit_power + S bpvi_j_bpvnedb_unit_power = 1) -> exists bpvi_factor_bpvnedb_unit_power bpvi_partial_bpvnedb_unit_power bpvi_successor_bpvnedb_unit_power. ((((exists bpvi_h_bpvnedb_unit_power_factor. bpvi_h_bpvnedb_unit_power_factor + S (bpvi_factor_bpvnedb_unit_power) = S ((S (bpvi_j_bpvnedb_unit_power)) * bpvi_c_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_factor. bpvi_b_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_factor * S ((S (bpvi_j_bpvnedb_unit_power)) * bpvi_c_bpvnedb_unit_power) + (bpvi_factor_bpvnedb_unit_power))) /\ ((((exists bpvi_h_bpvnedb_unit_power_partial. bpvi_h_bpvnedb_unit_power_partial + S (bpvi_partial_bpvnedb_unit_power) = S ((S (bpvi_j_bpvnedb_unit_power)) * bpvi_v_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_partial. bpvi_u_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_partial * S ((S (bpvi_j_bpvnedb_unit_power)) * bpvi_v_bpvnedb_unit_power) + (bpvi_partial_bpvnedb_unit_power))) /\ ((((exists bpvi_h_bpvnedb_unit_power_successor. bpvi_h_bpvnedb_unit_power_successor + S (bpvi_successor_bpvnedb_unit_power) = S ((S (S bpvi_j_bpvnedb_unit_power)) * bpvi_v_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_successor. bpvi_u_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_successor * S ((S (S bpvi_j_bpvnedb_unit_power)) * bpvi_v_bpvnedb_unit_power) + (bpvi_successor_bpvnedb_unit_power))) /\ bpvi_successor_bpvnedb_unit_power = bpvi_partial_bpvnedb_unit_power * bpvi_factor_bpvnedb_unit_power)))))))) /\ exists bpvi_divisor_factor_bpvnedb_unit. c = bpvi_result_bpvnedb_unit * bpvi_divisor_factor_bpvnedb_unit) - 0017
specialize power_divides_exponent_antitone p - 0018
specialize power_divides_exponent_antitone 1 - 0019
specialize power_divides_exponent_antitone e - 0020
specialize power_divides_exponent_antitone c - 0021
apply power_divides_exponent_antitone - 0022
exact hone - 0023
exact hselected - 0024
cases hunit - 0025
cases hunit_witness - 0026
have hvalue : x = p - 0027
specialize pow_one p - 0028
specialize pow_one 1 - 0029
specialize pow_one x - 0030
apply pow_one - 0031
refl - 0032
exact hunit_witness_left - 0033
rewrite hvalue at hunit_witness_right - 0034
exact hunit_witness_right