BT00SC · Bertrand theorem

power_divides_of_exponent_le_valuation

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

Every exponent below a valuation exponent supplies a power divisor.

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. ∀ f. ∀ k. PowerValuation(p,a,f)Le(k,f)PowerDivides(p,k,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

3 occurrences

In local proof propositions

1 occurrences

Exact expanded native-PA statement
forall p a f k. (((exists bpv_gap_blvb_valuation_exponent_bound. bpv_gap_blvb_valuation_exponent_bound + f = a) /\ (exists bpv_result_blvb_valuation_selected. ((exists ff_b_blvb_valuation_selected_power ff_c_blvb_valuation_selected_power. ((forall ff_i_blvb_valuation_selected_power_repeat. (exists ff_lt_blvb_valuation_selected_power_repeat_bound. ff_lt_blvb_valuation_selected_power_repeat_bound + S ff_i_blvb_valuation_selected_power_repeat = f) -> (((exists ff_h_blvb_valuation_selected_power_repeat_decoded. ff_h_blvb_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_blvb_valuation_selected_power_repeat)) * ff_c_blvb_valuation_selected_power)) /\ exists ff_q_blvb_valuation_selected_power_repeat_decoded. ff_b_blvb_valuation_selected_power = ff_q_blvb_valuation_selected_power_repeat_decoded * S ((S (ff_i_blvb_valuation_selected_power_repeat)) * ff_c_blvb_valuation_selected_power) + (p)))) /\ (exists ff_u_blvb_valuation_selected_power_product ff_v_blvb_valuation_selected_power_product. ((((exists ff_h_blvb_valuation_selected_power_product_start. ff_h_blvb_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_blvb_valuation_selected_power_product)) /\ exists ff_q_blvb_valuation_selected_power_product_start. ff_u_blvb_valuation_selected_power_product = ff_q_blvb_valuation_selected_power_product_start * S ((S (0)) * ff_v_blvb_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_blvb_valuation_selected_power_product_terminal. ff_h_blvb_valuation_selected_power_product_terminal + S (bpv_result_blvb_valuation_selected) = S ((S (f)) * ff_v_blvb_valuation_selected_power_product)) /\ exists ff_q_blvb_valuation_selected_power_product_terminal. ff_u_blvb_valuation_selected_power_product = ff_q_blvb_valuation_selected_power_product_terminal * S ((S (f)) * ff_v_blvb_valuation_selected_power_product) + (bpv_result_blvb_valuation_selected))) /\ forall ff_i_blvb_valuation_selected_power_product. (exists ff_lt_blvb_valuation_selected_power_product_bound. ff_lt_blvb_valuation_selected_power_product_bound + S ff_i_blvb_valuation_selected_power_product = f) -> exists ff_p_blvb_valuation_selected_power_product ff_r_blvb_valuation_selected_power_product ff_s_blvb_valuation_selected_power_product. ((((exists ff_h_blvb_valuation_selected_power_product_factor. ff_h_blvb_valuation_selected_power_product_factor + S (ff_p_blvb_valuation_selected_power_product) = S ((S (ff_i_blvb_valuation_selected_power_product)) * ff_c_blvb_valuation_selected_power)) /\ exists ff_q_blvb_valuation_selected_power_product_factor. ff_b_blvb_valuation_selected_power = ff_q_blvb_valuation_selected_power_product_factor * S ((S (ff_i_blvb_valuation_selected_power_product)) * ff_c_blvb_valuation_selected_power) + (ff_p_blvb_valuation_selected_power_product))) /\ ((((exists ff_h_blvb_valuation_selected_power_product_partial. ff_h_blvb_valuation_selected_power_product_partial + S (ff_r_blvb_valuation_selected_power_product) = S ((S (ff_i_blvb_valuation_selected_power_product)) * ff_v_blvb_valuation_selected_power_product)) /\ exists ff_q_blvb_valuation_selected_power_product_partial. ff_u_blvb_valuation_selected_power_product = ff_q_blvb_valuation_selected_power_product_partial * S ((S (ff_i_blvb_valuation_selected_power_product)) * ff_v_blvb_valuation_selected_power_product) + (ff_r_blvb_valuation_selected_power_product))) /\ ((((exists ff_h_blvb_valuation_selected_power_product_successor. ff_h_blvb_valuation_selected_power_product_successor + S (ff_s_blvb_valuation_selected_power_product) = S ((S (S ff_i_blvb_valuation_selected_power_product)) * ff_v_blvb_valuation_selected_power_product)) /\ exists ff_q_blvb_valuation_selected_power_product_successor. ff_u_blvb_valuation_selected_power_product = ff_q_blvb_valuation_selected_power_product_successor * S ((S (S ff_i_blvb_valuation_selected_power_product)) * ff_v_blvb_valuation_selected_power_product) + (ff_s_blvb_valuation_selected_power_product))) /\ ff_s_blvb_valuation_selected_power_product = ff_r_blvb_valuation_selected_power_product * ff_p_blvb_valuation_selected_power_product)))))))) /\ (exists bpv_factor_blvb_valuation_selected_divides. a = bpv_result_blvb_valuation_selected * bpv_factor_blvb_valuation_selected_divides)))) /\ forall bpv_candidate_blvb_valuation. (exists bpv_gap_blvb_valuation_candidate_bound. bpv_gap_blvb_valuation_candidate_bound + bpv_candidate_blvb_valuation = a) -> (exists bpv_result_blvb_valuation_candidate. ((exists ff_b_blvb_valuation_candidate_power ff_c_blvb_valuation_candidate_power. ((forall ff_i_blvb_valuation_candidate_power_repeat. (exists ff_lt_blvb_valuation_candidate_power_repeat_bound. ff_lt_blvb_valuation_candidate_power_repeat_bound + S ff_i_blvb_valuation_candidate_power_repeat = bpv_candidate_blvb_valuation) -> (((exists ff_h_blvb_valuation_candidate_power_repeat_decoded. ff_h_blvb_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_blvb_valuation_candidate_power_repeat)) * ff_c_blvb_valuation_candidate_power)) /\ exists ff_q_blvb_valuation_candidate_power_repeat_decoded. ff_b_blvb_valuation_candidate_power = ff_q_blvb_valuation_candidate_power_repeat_decoded * S ((S (ff_i_blvb_valuation_candidate_power_repeat)) * ff_c_blvb_valuation_candidate_power) + (p)))) /\ (exists ff_u_blvb_valuation_candidate_power_product ff_v_blvb_valuation_candidate_power_product. ((((exists ff_h_blvb_valuation_candidate_power_product_start. ff_h_blvb_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_blvb_valuation_candidate_power_product)) /\ exists ff_q_blvb_valuation_candidate_power_product_start. ff_u_blvb_valuation_candidate_power_product = ff_q_blvb_valuation_candidate_power_product_start * S ((S (0)) * ff_v_blvb_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_blvb_valuation_candidate_power_product_terminal. ff_h_blvb_valuation_candidate_power_product_terminal + S (bpv_result_blvb_valuation_candidate) = S ((S (bpv_candidate_blvb_valuation)) * ff_v_blvb_valuation_candidate_power_product)) /\ exists ff_q_blvb_valuation_candidate_power_product_terminal. ff_u_blvb_valuation_candidate_power_product = ff_q_blvb_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_blvb_valuation)) * ff_v_blvb_valuation_candidate_power_product) + (bpv_result_blvb_valuation_candidate))) /\ forall ff_i_blvb_valuation_candidate_power_product. (exists ff_lt_blvb_valuation_candidate_power_product_bound. ff_lt_blvb_valuation_candidate_power_product_bound + S ff_i_blvb_valuation_candidate_power_product = bpv_candidate_blvb_valuation) -> exists ff_p_blvb_valuation_candidate_power_product ff_r_blvb_valuation_candidate_power_product ff_s_blvb_valuation_candidate_power_product. ((((exists ff_h_blvb_valuation_candidate_power_product_factor. ff_h_blvb_valuation_candidate_power_product_factor + S (ff_p_blvb_valuation_candidate_power_product) = S ((S (ff_i_blvb_valuation_candidate_power_product)) * ff_c_blvb_valuation_candidate_power)) /\ exists ff_q_blvb_valuation_candidate_power_product_factor. ff_b_blvb_valuation_candidate_power = ff_q_blvb_valuation_candidate_power_product_factor * S ((S (ff_i_blvb_valuation_candidate_power_product)) * ff_c_blvb_valuation_candidate_power) + (ff_p_blvb_valuation_candidate_power_product))) /\ ((((exists ff_h_blvb_valuation_candidate_power_product_partial. ff_h_blvb_valuation_candidate_power_product_partial + S (ff_r_blvb_valuation_candidate_power_product) = S ((S (ff_i_blvb_valuation_candidate_power_product)) * ff_v_blvb_valuation_candidate_power_product)) /\ exists ff_q_blvb_valuation_candidate_power_product_partial. ff_u_blvb_valuation_candidate_power_product = ff_q_blvb_valuation_candidate_power_product_partial * S ((S (ff_i_blvb_valuation_candidate_power_product)) * ff_v_blvb_valuation_candidate_power_product) + (ff_r_blvb_valuation_candidate_power_product))) /\ ((((exists ff_h_blvb_valuation_candidate_power_product_successor. ff_h_blvb_valuation_candidate_power_product_successor + S (ff_s_blvb_valuation_candidate_power_product) = S ((S (S ff_i_blvb_valuation_candidate_power_product)) * ff_v_blvb_valuation_candidate_power_product)) /\ exists ff_q_blvb_valuation_candidate_power_product_successor. ff_u_blvb_valuation_candidate_power_product = ff_q_blvb_valuation_candidate_power_product_successor * S ((S (S ff_i_blvb_valuation_candidate_power_product)) * ff_v_blvb_valuation_candidate_power_product) + (ff_s_blvb_valuation_candidate_power_product))) /\ ff_s_blvb_valuation_candidate_power_product = ff_r_blvb_valuation_candidate_power_product * ff_p_blvb_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_blvb_valuation_candidate_divides. a = bpv_result_blvb_valuation_candidate * bpv_factor_blvb_valuation_candidate_divides))) -> (exists bpv_gap_blvb_valuation_maximal. bpv_gap_blvb_valuation_maximal + bpv_candidate_blvb_valuation = f)) -> (exists bpv_gap_blvb_candidate_bound. bpv_gap_blvb_candidate_bound + k = f) -> (exists bpv_result_blvb_candidate_divides. ((exists ff_b_blvb_candidate_divides_power ff_c_blvb_candidate_divides_power. ((forall ff_i_blvb_candidate_divides_power_repeat. (exists ff_lt_blvb_candidate_divides_power_repeat_bound. ff_lt_blvb_candidate_divides_power_repeat_bound + S ff_i_blvb_candidate_divides_power_repeat = k) -> (((exists ff_h_blvb_candidate_divides_power_repeat_decoded. ff_h_blvb_candidate_divides_power_repeat_decoded + S (p) = S ((S (ff_i_blvb_candidate_divides_power_repeat)) * ff_c_blvb_candidate_divides_power)) /\ exists ff_q_blvb_candidate_divides_power_repeat_decoded. ff_b_blvb_candidate_divides_power = ff_q_blvb_candidate_divides_power_repeat_decoded * S ((S (ff_i_blvb_candidate_divides_power_repeat)) * ff_c_blvb_candidate_divides_power) + (p)))) /\ (exists ff_u_blvb_candidate_divides_power_product ff_v_blvb_candidate_divides_power_product. ((((exists ff_h_blvb_candidate_divides_power_product_start. ff_h_blvb_candidate_divides_power_product_start + S (1) = S ((S (0)) * ff_v_blvb_candidate_divides_power_product)) /\ exists ff_q_blvb_candidate_divides_power_product_start. ff_u_blvb_candidate_divides_power_product = ff_q_blvb_candidate_divides_power_product_start * S ((S (0)) * ff_v_blvb_candidate_divides_power_product) + (1))) /\ ((((exists ff_h_blvb_candidate_divides_power_product_terminal. ff_h_blvb_candidate_divides_power_product_terminal + S (bpv_result_blvb_candidate_divides) = S ((S (k)) * ff_v_blvb_candidate_divides_power_product)) /\ exists ff_q_blvb_candidate_divides_power_product_terminal. ff_u_blvb_candidate_divides_power_product = ff_q_blvb_candidate_divides_power_product_terminal * S ((S (k)) * ff_v_blvb_candidate_divides_power_product) + (bpv_result_blvb_candidate_divides))) /\ forall ff_i_blvb_candidate_divides_power_product. (exists ff_lt_blvb_candidate_divides_power_product_bound. ff_lt_blvb_candidate_divides_power_product_bound + S ff_i_blvb_candidate_divides_power_product = k) -> exists ff_p_blvb_candidate_divides_power_product ff_r_blvb_candidate_divides_power_product ff_s_blvb_candidate_divides_power_product. ((((exists ff_h_blvb_candidate_divides_power_product_factor. ff_h_blvb_candidate_divides_power_product_factor + S (ff_p_blvb_candidate_divides_power_product) = S ((S (ff_i_blvb_candidate_divides_power_product)) * ff_c_blvb_candidate_divides_power)) /\ exists ff_q_blvb_candidate_divides_power_product_factor. ff_b_blvb_candidate_divides_power = ff_q_blvb_candidate_divides_power_product_factor * S ((S (ff_i_blvb_candidate_divides_power_product)) * ff_c_blvb_candidate_divides_power) + (ff_p_blvb_candidate_divides_power_product))) /\ ((((exists ff_h_blvb_candidate_divides_power_product_partial. ff_h_blvb_candidate_divides_power_product_partial + S (ff_r_blvb_candidate_divides_power_product) = S ((S (ff_i_blvb_candidate_divides_power_product)) * ff_v_blvb_candidate_divides_power_product)) /\ exists ff_q_blvb_candidate_divides_power_product_partial. ff_u_blvb_candidate_divides_power_product = ff_q_blvb_candidate_divides_power_product_partial * S ((S (ff_i_blvb_candidate_divides_power_product)) * ff_v_blvb_candidate_divides_power_product) + (ff_r_blvb_candidate_divides_power_product))) /\ ((((exists ff_h_blvb_candidate_divides_power_product_successor. ff_h_blvb_candidate_divides_power_product_successor + S (ff_s_blvb_candidate_divides_power_product) = S ((S (S ff_i_blvb_candidate_divides_power_product)) * ff_v_blvb_candidate_divides_power_product)) /\ exists ff_q_blvb_candidate_divides_power_product_successor. ff_u_blvb_candidate_divides_power_product = ff_q_blvb_candidate_divides_power_product_successor * S ((S (S ff_i_blvb_candidate_divides_power_product)) * ff_v_blvb_candidate_divides_power_product) + (ff_s_blvb_candidate_divides_power_product))) /\ ff_s_blvb_candidate_divides_power_product = ff_r_blvb_candidate_divides_power_product * ff_p_blvb_candidate_divides_power_product)))))))) /\ (exists bpv_factor_blvb_candidate_divides_divides. a = bpv_result_blvb_candidate_divides * bpv_factor_blvb_candidate_divides_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

19 script commands · 3 reading checkpoints · 1 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 f
  4. L4
    intro k
  5. L5
    intro hvaluation
  6. L6
    intro hbound
02Establish hselectedL7–16

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation power divides.

  1. L7
    have hselected : PowerDivides(p,f,a)Definitions: PowerDivides(p,f,a)Original native command in the exact edition
  2. L8
    specialize power_valuation_power_divides p
  3. L9
    specialize power_valuation_power_divides a
  4. L10
    specialize power_valuation_power_divides f
  5. L11
    apply power_valuation_power_divides
  6. L12
    exact hvaluation
  7. L13
    specialize power_divides_exponent_antitone p
  8. L14
    specialize power_divides_exponent_antitone k
  9. L15
    specialize power_divides_exponent_antitone f
  10. L16
    specialize power_divides_exponent_antitone a
03Use earlier factsL17–19

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

  1. L17
    apply power_divides_exponent_antitone
  2. L18
    exact hbound
  3. L19
    exact hselected

Library-wide reading audit

Original defined command ledger · 19 lines
  1. 0001intro p
  2. 0002intro a
  3. 0003intro f
  4. 0004intro k
  5. 0005intro hvaluation
  6. 0006intro hbound
  7. 0007have hselected : PowerDivides(p,f,a)
    Exact native replay linehave hselected : exists bpv_result_blvb_selected_divides. ((exists ff_b_blvb_selected_divides_power ff_c_blvb_selected_divides_power. ((forall ff_i_blvb_selected_divides_power_repeat. (exists ff_lt_blvb_selected_divides_power_repeat_bound. ff_lt_blvb_selected_divides_power_repeat_bound + S ff_i_blvb_selected_divides_power_repeat = f) -> (((exists ff_h_blvb_selected_divides_power_repeat_decoded. ff_h_blvb_selected_divides_power_repeat_decoded + S (p) = S ((S (ff_i_blvb_selected_divides_power_repeat)) * ff_c_blvb_selected_divides_power)) /\ exists ff_q_blvb_selected_divides_power_repeat_decoded. ff_b_blvb_selected_divides_power = ff_q_blvb_selected_divides_power_repeat_decoded * S ((S (ff_i_blvb_selected_divides_power_repeat)) * ff_c_blvb_selected_divides_power) + (p)))) /\ (exists ff_u_blvb_selected_divides_power_product ff_v_blvb_selected_divides_power_product. ((((exists ff_h_blvb_selected_divides_power_product_start. ff_h_blvb_selected_divides_power_product_start + S (1) = S ((S (0)) * ff_v_blvb_selected_divides_power_product)) /\ exists ff_q_blvb_selected_divides_power_product_start. ff_u_blvb_selected_divides_power_product = ff_q_blvb_selected_divides_power_product_start * S ((S (0)) * ff_v_blvb_selected_divides_power_product) + (1))) /\ ((((exists ff_h_blvb_selected_divides_power_product_terminal. ff_h_blvb_selected_divides_power_product_terminal + S (bpv_result_blvb_selected_divides) = S ((S (f)) * ff_v_blvb_selected_divides_power_product)) /\ exists ff_q_blvb_selected_divides_power_product_terminal. ff_u_blvb_selected_divides_power_product = ff_q_blvb_selected_divides_power_product_terminal * S ((S (f)) * ff_v_blvb_selected_divides_power_product) + (bpv_result_blvb_selected_divides))) /\ forall ff_i_blvb_selected_divides_power_product. (exists ff_lt_blvb_selected_divides_power_product_bound. ff_lt_blvb_selected_divides_power_product_bound + S ff_i_blvb_selected_divides_power_product = f) -> exists ff_p_blvb_selected_divides_power_product ff_r_blvb_selected_divides_power_product ff_s_blvb_selected_divides_power_product. ((((exists ff_h_blvb_selected_divides_power_product_factor. ff_h_blvb_selected_divides_power_product_factor + S (ff_p_blvb_selected_divides_power_product) = S ((S (ff_i_blvb_selected_divides_power_product)) * ff_c_blvb_selected_divides_power)) /\ exists ff_q_blvb_selected_divides_power_product_factor. ff_b_blvb_selected_divides_power = ff_q_blvb_selected_divides_power_product_factor * S ((S (ff_i_blvb_selected_divides_power_product)) * ff_c_blvb_selected_divides_power) + (ff_p_blvb_selected_divides_power_product))) /\ ((((exists ff_h_blvb_selected_divides_power_product_partial. ff_h_blvb_selected_divides_power_product_partial + S (ff_r_blvb_selected_divides_power_product) = S ((S (ff_i_blvb_selected_divides_power_product)) * ff_v_blvb_selected_divides_power_product)) /\ exists ff_q_blvb_selected_divides_power_product_partial. ff_u_blvb_selected_divides_power_product = ff_q_blvb_selected_divides_power_product_partial * S ((S (ff_i_blvb_selected_divides_power_product)) * ff_v_blvb_selected_divides_power_product) + (ff_r_blvb_selected_divides_power_product))) /\ ((((exists ff_h_blvb_selected_divides_power_product_successor. ff_h_blvb_selected_divides_power_product_successor + S (ff_s_blvb_selected_divides_power_product) = S ((S (S ff_i_blvb_selected_divides_power_product)) * ff_v_blvb_selected_divides_power_product)) /\ exists ff_q_blvb_selected_divides_power_product_successor. ff_u_blvb_selected_divides_power_product = ff_q_blvb_selected_divides_power_product_successor * S ((S (S ff_i_blvb_selected_divides_power_product)) * ff_v_blvb_selected_divides_power_product) + (ff_s_blvb_selected_divides_power_product))) /\ ff_s_blvb_selected_divides_power_product = ff_r_blvb_selected_divides_power_product * ff_p_blvb_selected_divides_power_product)))))))) /\ (exists bpv_factor_blvb_selected_divides_divides. a = bpv_result_blvb_selected_divides * bpv_factor_blvb_selected_divides_divides))
  8. 0008specialize power_valuation_power_divides p
  9. 0009specialize power_valuation_power_divides a
  10. 0010specialize power_valuation_power_divides f
  11. 0011apply power_valuation_power_divides
  12. 0012exact hvaluation
  13. 0013specialize power_divides_exponent_antitone p
  14. 0014specialize power_divides_exponent_antitone k
  15. 0015specialize power_divides_exponent_antitone f
  16. 0016specialize power_divides_exponent_antitone a
  17. 0017apply power_divides_exponent_antitone
  18. 0018exact hbound
  19. 0019exact hselected