BT00QI · Bertrand theorem

power_valuation_selected_and_successor_not_divides

Alpha v34 checked-use theorem · independently kernel and Lean verified; not Stable

Canonical prime valuations have the usual maximal-power characterization.

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. ∀ a. ∀ e. Prime(p) → ¬a = 0 → PowerValuation(p,a,e)PowerDivides(p,e,a) ∧ ¬PowerDivides(p,S e,a)

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

4 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall p a e. ((~(p = 1) /\ forall frm_prime_left_bpvl_prime frm_prime_right_bpvl_prime. p = frm_prime_left_bpvl_prime * frm_prime_right_bpvl_prime -> frm_prime_left_bpvl_prime = 1 \/ frm_prime_right_bpvl_prime = 1)) -> ~(a = 0) -> (((exists bpv_gap_bpvl_valuation_exponent_bound. bpv_gap_bpvl_valuation_exponent_bound + e = a) /\ (exists bpv_result_bpvl_valuation_selected. ((exists ff_b_bpvl_valuation_selected_power ff_c_bpvl_valuation_selected_power. ((forall ff_i_bpvl_valuation_selected_power_repeat. (exists ff_lt_bpvl_valuation_selected_power_repeat_bound. ff_lt_bpvl_valuation_selected_power_repeat_bound + S ff_i_bpvl_valuation_selected_power_repeat = e) -> (((exists ff_h_bpvl_valuation_selected_power_repeat_decoded. ff_h_bpvl_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpvl_valuation_selected_power_repeat)) * ff_c_bpvl_valuation_selected_power)) /\ exists ff_q_bpvl_valuation_selected_power_repeat_decoded. ff_b_bpvl_valuation_selected_power = ff_q_bpvl_valuation_selected_power_repeat_decoded * S ((S (ff_i_bpvl_valuation_selected_power_repeat)) * ff_c_bpvl_valuation_selected_power) + (p)))) /\ (exists ff_u_bpvl_valuation_selected_power_product ff_v_bpvl_valuation_selected_power_product. ((((exists ff_h_bpvl_valuation_selected_power_product_start. ff_h_bpvl_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_start. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_start * S ((S (0)) * ff_v_bpvl_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bpvl_valuation_selected_power_product_terminal. ff_h_bpvl_valuation_selected_power_product_terminal + S (bpv_result_bpvl_valuation_selected) = S ((S (e)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_terminal. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_terminal * S ((S (e)) * ff_v_bpvl_valuation_selected_power_product) + (bpv_result_bpvl_valuation_selected))) /\ forall ff_i_bpvl_valuation_selected_power_product. (exists ff_lt_bpvl_valuation_selected_power_product_bound. ff_lt_bpvl_valuation_selected_power_product_bound + S ff_i_bpvl_valuation_selected_power_product = e) -> exists ff_p_bpvl_valuation_selected_power_product ff_r_bpvl_valuation_selected_power_product ff_s_bpvl_valuation_selected_power_product. ((((exists ff_h_bpvl_valuation_selected_power_product_factor. ff_h_bpvl_valuation_selected_power_product_factor + S (ff_p_bpvl_valuation_selected_power_product) = S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_c_bpvl_valuation_selected_power)) /\ exists ff_q_bpvl_valuation_selected_power_product_factor. ff_b_bpvl_valuation_selected_power = ff_q_bpvl_valuation_selected_power_product_factor * S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_c_bpvl_valuation_selected_power) + (ff_p_bpvl_valuation_selected_power_product))) /\ ((((exists ff_h_bpvl_valuation_selected_power_product_partial. ff_h_bpvl_valuation_selected_power_product_partial + S (ff_r_bpvl_valuation_selected_power_product) = S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_partial. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_partial * S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product) + (ff_r_bpvl_valuation_selected_power_product))) /\ ((((exists ff_h_bpvl_valuation_selected_power_product_successor. ff_h_bpvl_valuation_selected_power_product_successor + S (ff_s_bpvl_valuation_selected_power_product) = S ((S (S ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_successor. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_successor * S ((S (S ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product) + (ff_s_bpvl_valuation_selected_power_product))) /\ ff_s_bpvl_valuation_selected_power_product = ff_r_bpvl_valuation_selected_power_product * ff_p_bpvl_valuation_selected_power_product)))))))) /\ (exists bpv_factor_bpvl_valuation_selected_divides. a = bpv_result_bpvl_valuation_selected * bpv_factor_bpvl_valuation_selected_divides)))) /\ forall bpv_candidate_bpvl_valuation. (exists bpv_gap_bpvl_valuation_candidate_bound. bpv_gap_bpvl_valuation_candidate_bound + bpv_candidate_bpvl_valuation = a) -> (exists bpv_result_bpvl_valuation_candidate. ((exists ff_b_bpvl_valuation_candidate_power ff_c_bpvl_valuation_candidate_power. ((forall ff_i_bpvl_valuation_candidate_power_repeat. (exists ff_lt_bpvl_valuation_candidate_power_repeat_bound. ff_lt_bpvl_valuation_candidate_power_repeat_bound + S ff_i_bpvl_valuation_candidate_power_repeat = bpv_candidate_bpvl_valuation) -> (((exists ff_h_bpvl_valuation_candidate_power_repeat_decoded. ff_h_bpvl_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpvl_valuation_candidate_power_repeat)) * ff_c_bpvl_valuation_candidate_power)) /\ exists ff_q_bpvl_valuation_candidate_power_repeat_decoded. ff_b_bpvl_valuation_candidate_power = ff_q_bpvl_valuation_candidate_power_repeat_decoded * S ((S (ff_i_bpvl_valuation_candidate_power_repeat)) * ff_c_bpvl_valuation_candidate_power) + (p)))) /\ (exists ff_u_bpvl_valuation_candidate_power_product ff_v_bpvl_valuation_candidate_power_product. ((((exists ff_h_bpvl_valuation_candidate_power_product_start. ff_h_bpvl_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_start. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bpvl_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bpvl_valuation_candidate_power_product_terminal. ff_h_bpvl_valuation_candidate_power_product_terminal + S (bpv_result_bpvl_valuation_candidate) = S ((S (bpv_candidate_bpvl_valuation)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_terminal. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_bpvl_valuation)) * ff_v_bpvl_valuation_candidate_power_product) + (bpv_result_bpvl_valuation_candidate))) /\ forall ff_i_bpvl_valuation_candidate_power_product. (exists ff_lt_bpvl_valuation_candidate_power_product_bound. ff_lt_bpvl_valuation_candidate_power_product_bound + S ff_i_bpvl_valuation_candidate_power_product = bpv_candidate_bpvl_valuation) -> exists ff_p_bpvl_valuation_candidate_power_product ff_r_bpvl_valuation_candidate_power_product ff_s_bpvl_valuation_candidate_power_product. ((((exists ff_h_bpvl_valuation_candidate_power_product_factor. ff_h_bpvl_valuation_candidate_power_product_factor + S (ff_p_bpvl_valuation_candidate_power_product) = S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_c_bpvl_valuation_candidate_power)) /\ exists ff_q_bpvl_valuation_candidate_power_product_factor. ff_b_bpvl_valuation_candidate_power = ff_q_bpvl_valuation_candidate_power_product_factor * S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_c_bpvl_valuation_candidate_power) + (ff_p_bpvl_valuation_candidate_power_product))) /\ ((((exists ff_h_bpvl_valuation_candidate_power_product_partial. ff_h_bpvl_valuation_candidate_power_product_partial + S (ff_r_bpvl_valuation_candidate_power_product) = S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_partial. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_partial * S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product) + (ff_r_bpvl_valuation_candidate_power_product))) /\ ((((exists ff_h_bpvl_valuation_candidate_power_product_successor. ff_h_bpvl_valuation_candidate_power_product_successor + S (ff_s_bpvl_valuation_candidate_power_product) = S ((S (S ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_successor. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_successor * S ((S (S ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product) + (ff_s_bpvl_valuation_candidate_power_product))) /\ ff_s_bpvl_valuation_candidate_power_product = ff_r_bpvl_valuation_candidate_power_product * ff_p_bpvl_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_bpvl_valuation_candidate_divides. a = bpv_result_bpvl_valuation_candidate * bpv_factor_bpvl_valuation_candidate_divides))) -> (exists bpv_gap_bpvl_valuation_maximal. bpv_gap_bpvl_valuation_maximal + bpv_candidate_bpvl_valuation = e)) -> ((exists bpv_result_bpvl_selected_divides. ((exists ff_b_bpvl_selected_divides_power ff_c_bpvl_selected_divides_power. ((forall ff_i_bpvl_selected_divides_power_repeat. (exists ff_lt_bpvl_selected_divides_power_repeat_bound. ff_lt_bpvl_selected_divides_power_repeat_bound + S ff_i_bpvl_selected_divides_power_repeat = e) -> (((exists ff_h_bpvl_selected_divides_power_repeat_decoded. ff_h_bpvl_selected_divides_power_repeat_decoded + S (p) = S ((S (ff_i_bpvl_selected_divides_power_repeat)) * ff_c_bpvl_selected_divides_power)) /\ exists ff_q_bpvl_selected_divides_power_repeat_decoded. ff_b_bpvl_selected_divides_power = ff_q_bpvl_selected_divides_power_repeat_decoded * S ((S (ff_i_bpvl_selected_divides_power_repeat)) * ff_c_bpvl_selected_divides_power) + (p)))) /\ (exists ff_u_bpvl_selected_divides_power_product ff_v_bpvl_selected_divides_power_product. ((((exists ff_h_bpvl_selected_divides_power_product_start. ff_h_bpvl_selected_divides_power_product_start + S (1) = S ((S (0)) * ff_v_bpvl_selected_divides_power_product)) /\ exists ff_q_bpvl_selected_divides_power_product_start. ff_u_bpvl_selected_divides_power_product = ff_q_bpvl_selected_divides_power_product_start * S ((S (0)) * ff_v_bpvl_selected_divides_power_product) + (1))) /\ ((((exists ff_h_bpvl_selected_divides_power_product_terminal. ff_h_bpvl_selected_divides_power_product_terminal + S (bpv_result_bpvl_selected_divides) = S ((S (e)) * ff_v_bpvl_selected_divides_power_product)) /\ exists ff_q_bpvl_selected_divides_power_product_terminal. ff_u_bpvl_selected_divides_power_product = ff_q_bpvl_selected_divides_power_product_terminal * S ((S (e)) * ff_v_bpvl_selected_divides_power_product) + (bpv_result_bpvl_selected_divides))) /\ forall ff_i_bpvl_selected_divides_power_product. (exists ff_lt_bpvl_selected_divides_power_product_bound. ff_lt_bpvl_selected_divides_power_product_bound + S ff_i_bpvl_selected_divides_power_product = e) -> exists ff_p_bpvl_selected_divides_power_product ff_r_bpvl_selected_divides_power_product ff_s_bpvl_selected_divides_power_product. ((((exists ff_h_bpvl_selected_divides_power_product_factor. ff_h_bpvl_selected_divides_power_product_factor + S (ff_p_bpvl_selected_divides_power_product) = S ((S (ff_i_bpvl_selected_divides_power_product)) * ff_c_bpvl_selected_divides_power)) /\ exists ff_q_bpvl_selected_divides_power_product_factor. ff_b_bpvl_selected_divides_power = ff_q_bpvl_selected_divides_power_product_factor * S ((S (ff_i_bpvl_selected_divides_power_product)) * ff_c_bpvl_selected_divides_power) + (ff_p_bpvl_selected_divides_power_product))) /\ ((((exists ff_h_bpvl_selected_divides_power_product_partial. ff_h_bpvl_selected_divides_power_product_partial + S (ff_r_bpvl_selected_divides_power_product) = S ((S (ff_i_bpvl_selected_divides_power_product)) * ff_v_bpvl_selected_divides_power_product)) /\ exists ff_q_bpvl_selected_divides_power_product_partial. ff_u_bpvl_selected_divides_power_product = ff_q_bpvl_selected_divides_power_product_partial * S ((S (ff_i_bpvl_selected_divides_power_product)) * ff_v_bpvl_selected_divides_power_product) + (ff_r_bpvl_selected_divides_power_product))) /\ ((((exists ff_h_bpvl_selected_divides_power_product_successor. ff_h_bpvl_selected_divides_power_product_successor + S (ff_s_bpvl_selected_divides_power_product) = S ((S (S ff_i_bpvl_selected_divides_power_product)) * ff_v_bpvl_selected_divides_power_product)) /\ exists ff_q_bpvl_selected_divides_power_product_successor. ff_u_bpvl_selected_divides_power_product = ff_q_bpvl_selected_divides_power_product_successor * S ((S (S ff_i_bpvl_selected_divides_power_product)) * ff_v_bpvl_selected_divides_power_product) + (ff_s_bpvl_selected_divides_power_product))) /\ ff_s_bpvl_selected_divides_power_product = ff_r_bpvl_selected_divides_power_product * ff_p_bpvl_selected_divides_power_product)))))))) /\ (exists bpv_factor_bpvl_selected_divides_divides. a = bpv_result_bpvl_selected_divides * bpv_factor_bpvl_selected_divides_divides))) /\ ~(exists bpvi_result_bpvl_successor_divides. ((exists bpvi_b_bpvl_successor_divides_power bpvi_c_bpvl_successor_divides_power. ((forall bpvi_i_bpvl_successor_divides_power. (exists bpvi_repeat_gap_bpvl_successor_divides_power. bpvi_repeat_gap_bpvl_successor_divides_power + S bpvi_i_bpvl_successor_divides_power = S e) -> (((exists bpvi_h_bpvl_successor_divides_power_repeat. bpvi_h_bpvl_successor_divides_power_repeat + S (p) = S ((S (bpvi_i_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_repeat. bpvi_b_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_repeat * S ((S (bpvi_i_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power) + (p)))) /\ (exists bpvi_u_bpvl_successor_divides_power bpvi_v_bpvl_successor_divides_power. ((((exists bpvi_h_bpvl_successor_divides_power_start. bpvi_h_bpvl_successor_divides_power_start + S (1) = S ((S (0)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_start. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_start * S ((S (0)) * bpvi_v_bpvl_successor_divides_power) + (1))) /\ ((((exists bpvi_h_bpvl_successor_divides_power_terminal. bpvi_h_bpvl_successor_divides_power_terminal + S (bpvi_result_bpvl_successor_divides) = S ((S (S e)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_terminal. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_terminal * S ((S (S e)) * bpvi_v_bpvl_successor_divides_power) + (bpvi_result_bpvl_successor_divides))) /\ forall bpvi_j_bpvl_successor_divides_power. (exists bpvi_product_gap_bpvl_successor_divides_power. bpvi_product_gap_bpvl_successor_divides_power + S bpvi_j_bpvl_successor_divides_power = S e) -> exists bpvi_factor_bpvl_successor_divides_power bpvi_partial_bpvl_successor_divides_power bpvi_successor_bpvl_successor_divides_power. ((((exists bpvi_h_bpvl_successor_divides_power_factor. bpvi_h_bpvl_successor_divides_power_factor + S (bpvi_factor_bpvl_successor_divides_power) = S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_factor. bpvi_b_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_factor * S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power) + (bpvi_factor_bpvl_successor_divides_power))) /\ ((((exists bpvi_h_bpvl_successor_divides_power_partial. bpvi_h_bpvl_successor_divides_power_partial + S (bpvi_partial_bpvl_successor_divides_power) = S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_partial. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_partial * S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power) + (bpvi_partial_bpvl_successor_divides_power))) /\ ((((exists bpvi_h_bpvl_successor_divides_power_successor. bpvi_h_bpvl_successor_divides_power_successor + S (bpvi_successor_bpvl_successor_divides_power) = S ((S (S bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_successor. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_successor * S ((S (S bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power) + (bpvi_successor_bpvl_successor_divides_power))) /\ bpvi_successor_bpvl_successor_divides_power = bpvi_partial_bpvl_successor_divides_power * bpvi_factor_bpvl_successor_divides_power)))))))) /\ exists bpvi_divisor_factor_bpvl_successor_divides. a = bpvi_result_bpvl_successor_divides * bpvi_divisor_factor_bpvl_successor_divides)))

Proof 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

21 script commands · 5 reading checkpoints · 0 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–6

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro p
  2. L2
    intro a
  3. L3
    intro e
  4. L4
    intro hp
  5. L5
    intro ha
  6. L6
    intro hvaluation
02Separate the logical casesL7–7

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L7
    split
03Use earlier factsL8–12

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L8
    specialize power_valuation_power_divides p
  2. L9
    specialize power_valuation_power_divides a
  3. L10
    specialize power_valuation_power_divides e
  4. L11
    apply power_valuation_power_divides
  5. L12
    exact hvaluation
04Fix variables and assumptionsL13–13

Work with arbitrary variables or the premises of the current implication.

  1. L13
    intro hsuccessor
05Use earlier factsL14–21

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L14
    specialize power_valuation_successor_not_divides p
  2. L15
    specialize power_valuation_successor_not_divides a
  3. L16
    specialize power_valuation_successor_not_divides e
  4. L17
    apply power_valuation_successor_not_divides
  5. L18
    exact hp
  6. L19
    exact ha
  7. L20
    exact hvaluation
  8. L21
    exact hsuccessor

Library-wide reading audit

Original defined command ledger · 21 lines
  1. 0001intro p
  2. 0002intro a
  3. 0003intro e
  4. 0004intro hp
  5. 0005intro ha
  6. 0006intro hvaluation
  7. 0007split
  8. 0008specialize power_valuation_power_divides p
  9. 0009specialize power_valuation_power_divides a
  10. 0010specialize power_valuation_power_divides e
  11. 0011apply power_valuation_power_divides
  12. 0012exact hvaluation
  13. 0013intro hsuccessor
  14. 0014specialize power_valuation_successor_not_divides p
  15. 0015specialize power_valuation_successor_not_divides a
  16. 0016specialize power_valuation_successor_not_divides e
  17. 0017apply power_valuation_successor_not_divides
  18. 0018exact hp
  19. 0019exact ha
  20. 0020exact hvaluation
  21. 0021exact hsuccessor