BT00Q8 · Bertrand theorem

power_valuation_functional

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

Canonical bounded power valuations have a unique exponent.

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. ∀ f. PowerValuation(p,a,e)PowerValuation(p,a,f) → e = f

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

2 occurrences

Exact expanded native-PA statement
forall p a e f. (((exists bpv_gap_functional_left_exponent_bound. bpv_gap_functional_left_exponent_bound + e = a) /\ (exists bpv_result_functional_left_selected. ((exists ff_b_functional_left_selected_power ff_c_functional_left_selected_power. ((forall ff_i_functional_left_selected_power_repeat. (exists ff_lt_functional_left_selected_power_repeat_bound. ff_lt_functional_left_selected_power_repeat_bound + S ff_i_functional_left_selected_power_repeat = e) -> (((exists ff_h_functional_left_selected_power_repeat_decoded. ff_h_functional_left_selected_power_repeat_decoded + S (p) = S ((S (ff_i_functional_left_selected_power_repeat)) * ff_c_functional_left_selected_power)) /\ exists ff_q_functional_left_selected_power_repeat_decoded. ff_b_functional_left_selected_power = ff_q_functional_left_selected_power_repeat_decoded * S ((S (ff_i_functional_left_selected_power_repeat)) * ff_c_functional_left_selected_power) + (p)))) /\ (exists ff_u_functional_left_selected_power_product ff_v_functional_left_selected_power_product. ((((exists ff_h_functional_left_selected_power_product_start. ff_h_functional_left_selected_power_product_start + S (1) = S ((S (0)) * ff_v_functional_left_selected_power_product)) /\ exists ff_q_functional_left_selected_power_product_start. ff_u_functional_left_selected_power_product = ff_q_functional_left_selected_power_product_start * S ((S (0)) * ff_v_functional_left_selected_power_product) + (1))) /\ ((((exists ff_h_functional_left_selected_power_product_terminal. ff_h_functional_left_selected_power_product_terminal + S (bpv_result_functional_left_selected) = S ((S (e)) * ff_v_functional_left_selected_power_product)) /\ exists ff_q_functional_left_selected_power_product_terminal. ff_u_functional_left_selected_power_product = ff_q_functional_left_selected_power_product_terminal * S ((S (e)) * ff_v_functional_left_selected_power_product) + (bpv_result_functional_left_selected))) /\ forall ff_i_functional_left_selected_power_product. (exists ff_lt_functional_left_selected_power_product_bound. ff_lt_functional_left_selected_power_product_bound + S ff_i_functional_left_selected_power_product = e) -> exists ff_p_functional_left_selected_power_product ff_r_functional_left_selected_power_product ff_s_functional_left_selected_power_product. ((((exists ff_h_functional_left_selected_power_product_factor. ff_h_functional_left_selected_power_product_factor + S (ff_p_functional_left_selected_power_product) = S ((S (ff_i_functional_left_selected_power_product)) * ff_c_functional_left_selected_power)) /\ exists ff_q_functional_left_selected_power_product_factor. ff_b_functional_left_selected_power = ff_q_functional_left_selected_power_product_factor * S ((S (ff_i_functional_left_selected_power_product)) * ff_c_functional_left_selected_power) + (ff_p_functional_left_selected_power_product))) /\ ((((exists ff_h_functional_left_selected_power_product_partial. ff_h_functional_left_selected_power_product_partial + S (ff_r_functional_left_selected_power_product) = S ((S (ff_i_functional_left_selected_power_product)) * ff_v_functional_left_selected_power_product)) /\ exists ff_q_functional_left_selected_power_product_partial. ff_u_functional_left_selected_power_product = ff_q_functional_left_selected_power_product_partial * S ((S (ff_i_functional_left_selected_power_product)) * ff_v_functional_left_selected_power_product) + (ff_r_functional_left_selected_power_product))) /\ ((((exists ff_h_functional_left_selected_power_product_successor. ff_h_functional_left_selected_power_product_successor + S (ff_s_functional_left_selected_power_product) = S ((S (S ff_i_functional_left_selected_power_product)) * ff_v_functional_left_selected_power_product)) /\ exists ff_q_functional_left_selected_power_product_successor. ff_u_functional_left_selected_power_product = ff_q_functional_left_selected_power_product_successor * S ((S (S ff_i_functional_left_selected_power_product)) * ff_v_functional_left_selected_power_product) + (ff_s_functional_left_selected_power_product))) /\ ff_s_functional_left_selected_power_product = ff_r_functional_left_selected_power_product * ff_p_functional_left_selected_power_product)))))))) /\ (exists bpv_factor_functional_left_selected_divides. a = bpv_result_functional_left_selected * bpv_factor_functional_left_selected_divides)))) /\ forall bpv_candidate_functional_left. (exists bpv_gap_functional_left_candidate_bound. bpv_gap_functional_left_candidate_bound + bpv_candidate_functional_left = a) -> (exists bpv_result_functional_left_candidate. ((exists ff_b_functional_left_candidate_power ff_c_functional_left_candidate_power. ((forall ff_i_functional_left_candidate_power_repeat. (exists ff_lt_functional_left_candidate_power_repeat_bound. ff_lt_functional_left_candidate_power_repeat_bound + S ff_i_functional_left_candidate_power_repeat = bpv_candidate_functional_left) -> (((exists ff_h_functional_left_candidate_power_repeat_decoded. ff_h_functional_left_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_functional_left_candidate_power_repeat)) * ff_c_functional_left_candidate_power)) /\ exists ff_q_functional_left_candidate_power_repeat_decoded. ff_b_functional_left_candidate_power = ff_q_functional_left_candidate_power_repeat_decoded * S ((S (ff_i_functional_left_candidate_power_repeat)) * ff_c_functional_left_candidate_power) + (p)))) /\ (exists ff_u_functional_left_candidate_power_product ff_v_functional_left_candidate_power_product. ((((exists ff_h_functional_left_candidate_power_product_start. ff_h_functional_left_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_functional_left_candidate_power_product)) /\ exists ff_q_functional_left_candidate_power_product_start. ff_u_functional_left_candidate_power_product = ff_q_functional_left_candidate_power_product_start * S ((S (0)) * ff_v_functional_left_candidate_power_product) + (1))) /\ ((((exists ff_h_functional_left_candidate_power_product_terminal. ff_h_functional_left_candidate_power_product_terminal + S (bpv_result_functional_left_candidate) = S ((S (bpv_candidate_functional_left)) * ff_v_functional_left_candidate_power_product)) /\ exists ff_q_functional_left_candidate_power_product_terminal. ff_u_functional_left_candidate_power_product = ff_q_functional_left_candidate_power_product_terminal * S ((S (bpv_candidate_functional_left)) * ff_v_functional_left_candidate_power_product) + (bpv_result_functional_left_candidate))) /\ forall ff_i_functional_left_candidate_power_product. (exists ff_lt_functional_left_candidate_power_product_bound. ff_lt_functional_left_candidate_power_product_bound + S ff_i_functional_left_candidate_power_product = bpv_candidate_functional_left) -> exists ff_p_functional_left_candidate_power_product ff_r_functional_left_candidate_power_product ff_s_functional_left_candidate_power_product. ((((exists ff_h_functional_left_candidate_power_product_factor. ff_h_functional_left_candidate_power_product_factor + S (ff_p_functional_left_candidate_power_product) = S ((S (ff_i_functional_left_candidate_power_product)) * ff_c_functional_left_candidate_power)) /\ exists ff_q_functional_left_candidate_power_product_factor. ff_b_functional_left_candidate_power = ff_q_functional_left_candidate_power_product_factor * S ((S (ff_i_functional_left_candidate_power_product)) * ff_c_functional_left_candidate_power) + (ff_p_functional_left_candidate_power_product))) /\ ((((exists ff_h_functional_left_candidate_power_product_partial. ff_h_functional_left_candidate_power_product_partial + S (ff_r_functional_left_candidate_power_product) = S ((S (ff_i_functional_left_candidate_power_product)) * ff_v_functional_left_candidate_power_product)) /\ exists ff_q_functional_left_candidate_power_product_partial. ff_u_functional_left_candidate_power_product = ff_q_functional_left_candidate_power_product_partial * S ((S (ff_i_functional_left_candidate_power_product)) * ff_v_functional_left_candidate_power_product) + (ff_r_functional_left_candidate_power_product))) /\ ((((exists ff_h_functional_left_candidate_power_product_successor. ff_h_functional_left_candidate_power_product_successor + S (ff_s_functional_left_candidate_power_product) = S ((S (S ff_i_functional_left_candidate_power_product)) * ff_v_functional_left_candidate_power_product)) /\ exists ff_q_functional_left_candidate_power_product_successor. ff_u_functional_left_candidate_power_product = ff_q_functional_left_candidate_power_product_successor * S ((S (S ff_i_functional_left_candidate_power_product)) * ff_v_functional_left_candidate_power_product) + (ff_s_functional_left_candidate_power_product))) /\ ff_s_functional_left_candidate_power_product = ff_r_functional_left_candidate_power_product * ff_p_functional_left_candidate_power_product)))))))) /\ (exists bpv_factor_functional_left_candidate_divides. a = bpv_result_functional_left_candidate * bpv_factor_functional_left_candidate_divides))) -> (exists bpv_gap_functional_left_maximal. bpv_gap_functional_left_maximal + bpv_candidate_functional_left = e)) -> (((exists bpv_gap_functional_right_exponent_bound. bpv_gap_functional_right_exponent_bound + f = a) /\ (exists bpv_result_functional_right_selected. ((exists ff_b_functional_right_selected_power ff_c_functional_right_selected_power. ((forall ff_i_functional_right_selected_power_repeat. (exists ff_lt_functional_right_selected_power_repeat_bound. ff_lt_functional_right_selected_power_repeat_bound + S ff_i_functional_right_selected_power_repeat = f) -> (((exists ff_h_functional_right_selected_power_repeat_decoded. ff_h_functional_right_selected_power_repeat_decoded + S (p) = S ((S (ff_i_functional_right_selected_power_repeat)) * ff_c_functional_right_selected_power)) /\ exists ff_q_functional_right_selected_power_repeat_decoded. ff_b_functional_right_selected_power = ff_q_functional_right_selected_power_repeat_decoded * S ((S (ff_i_functional_right_selected_power_repeat)) * ff_c_functional_right_selected_power) + (p)))) /\ (exists ff_u_functional_right_selected_power_product ff_v_functional_right_selected_power_product. ((((exists ff_h_functional_right_selected_power_product_start. ff_h_functional_right_selected_power_product_start + S (1) = S ((S (0)) * ff_v_functional_right_selected_power_product)) /\ exists ff_q_functional_right_selected_power_product_start. ff_u_functional_right_selected_power_product = ff_q_functional_right_selected_power_product_start * S ((S (0)) * ff_v_functional_right_selected_power_product) + (1))) /\ ((((exists ff_h_functional_right_selected_power_product_terminal. ff_h_functional_right_selected_power_product_terminal + S (bpv_result_functional_right_selected) = S ((S (f)) * ff_v_functional_right_selected_power_product)) /\ exists ff_q_functional_right_selected_power_product_terminal. ff_u_functional_right_selected_power_product = ff_q_functional_right_selected_power_product_terminal * S ((S (f)) * ff_v_functional_right_selected_power_product) + (bpv_result_functional_right_selected))) /\ forall ff_i_functional_right_selected_power_product. (exists ff_lt_functional_right_selected_power_product_bound. ff_lt_functional_right_selected_power_product_bound + S ff_i_functional_right_selected_power_product = f) -> exists ff_p_functional_right_selected_power_product ff_r_functional_right_selected_power_product ff_s_functional_right_selected_power_product. ((((exists ff_h_functional_right_selected_power_product_factor. ff_h_functional_right_selected_power_product_factor + S (ff_p_functional_right_selected_power_product) = S ((S (ff_i_functional_right_selected_power_product)) * ff_c_functional_right_selected_power)) /\ exists ff_q_functional_right_selected_power_product_factor. ff_b_functional_right_selected_power = ff_q_functional_right_selected_power_product_factor * S ((S (ff_i_functional_right_selected_power_product)) * ff_c_functional_right_selected_power) + (ff_p_functional_right_selected_power_product))) /\ ((((exists ff_h_functional_right_selected_power_product_partial. ff_h_functional_right_selected_power_product_partial + S (ff_r_functional_right_selected_power_product) = S ((S (ff_i_functional_right_selected_power_product)) * ff_v_functional_right_selected_power_product)) /\ exists ff_q_functional_right_selected_power_product_partial. ff_u_functional_right_selected_power_product = ff_q_functional_right_selected_power_product_partial * S ((S (ff_i_functional_right_selected_power_product)) * ff_v_functional_right_selected_power_product) + (ff_r_functional_right_selected_power_product))) /\ ((((exists ff_h_functional_right_selected_power_product_successor. ff_h_functional_right_selected_power_product_successor + S (ff_s_functional_right_selected_power_product) = S ((S (S ff_i_functional_right_selected_power_product)) * ff_v_functional_right_selected_power_product)) /\ exists ff_q_functional_right_selected_power_product_successor. ff_u_functional_right_selected_power_product = ff_q_functional_right_selected_power_product_successor * S ((S (S ff_i_functional_right_selected_power_product)) * ff_v_functional_right_selected_power_product) + (ff_s_functional_right_selected_power_product))) /\ ff_s_functional_right_selected_power_product = ff_r_functional_right_selected_power_product * ff_p_functional_right_selected_power_product)))))))) /\ (exists bpv_factor_functional_right_selected_divides. a = bpv_result_functional_right_selected * bpv_factor_functional_right_selected_divides)))) /\ forall bpv_candidate_functional_right. (exists bpv_gap_functional_right_candidate_bound. bpv_gap_functional_right_candidate_bound + bpv_candidate_functional_right = a) -> (exists bpv_result_functional_right_candidate. ((exists ff_b_functional_right_candidate_power ff_c_functional_right_candidate_power. ((forall ff_i_functional_right_candidate_power_repeat. (exists ff_lt_functional_right_candidate_power_repeat_bound. ff_lt_functional_right_candidate_power_repeat_bound + S ff_i_functional_right_candidate_power_repeat = bpv_candidate_functional_right) -> (((exists ff_h_functional_right_candidate_power_repeat_decoded. ff_h_functional_right_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_functional_right_candidate_power_repeat)) * ff_c_functional_right_candidate_power)) /\ exists ff_q_functional_right_candidate_power_repeat_decoded. ff_b_functional_right_candidate_power = ff_q_functional_right_candidate_power_repeat_decoded * S ((S (ff_i_functional_right_candidate_power_repeat)) * ff_c_functional_right_candidate_power) + (p)))) /\ (exists ff_u_functional_right_candidate_power_product ff_v_functional_right_candidate_power_product. ((((exists ff_h_functional_right_candidate_power_product_start. ff_h_functional_right_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_functional_right_candidate_power_product)) /\ exists ff_q_functional_right_candidate_power_product_start. ff_u_functional_right_candidate_power_product = ff_q_functional_right_candidate_power_product_start * S ((S (0)) * ff_v_functional_right_candidate_power_product) + (1))) /\ ((((exists ff_h_functional_right_candidate_power_product_terminal. ff_h_functional_right_candidate_power_product_terminal + S (bpv_result_functional_right_candidate) = S ((S (bpv_candidate_functional_right)) * ff_v_functional_right_candidate_power_product)) /\ exists ff_q_functional_right_candidate_power_product_terminal. ff_u_functional_right_candidate_power_product = ff_q_functional_right_candidate_power_product_terminal * S ((S (bpv_candidate_functional_right)) * ff_v_functional_right_candidate_power_product) + (bpv_result_functional_right_candidate))) /\ forall ff_i_functional_right_candidate_power_product. (exists ff_lt_functional_right_candidate_power_product_bound. ff_lt_functional_right_candidate_power_product_bound + S ff_i_functional_right_candidate_power_product = bpv_candidate_functional_right) -> exists ff_p_functional_right_candidate_power_product ff_r_functional_right_candidate_power_product ff_s_functional_right_candidate_power_product. ((((exists ff_h_functional_right_candidate_power_product_factor. ff_h_functional_right_candidate_power_product_factor + S (ff_p_functional_right_candidate_power_product) = S ((S (ff_i_functional_right_candidate_power_product)) * ff_c_functional_right_candidate_power)) /\ exists ff_q_functional_right_candidate_power_product_factor. ff_b_functional_right_candidate_power = ff_q_functional_right_candidate_power_product_factor * S ((S (ff_i_functional_right_candidate_power_product)) * ff_c_functional_right_candidate_power) + (ff_p_functional_right_candidate_power_product))) /\ ((((exists ff_h_functional_right_candidate_power_product_partial. ff_h_functional_right_candidate_power_product_partial + S (ff_r_functional_right_candidate_power_product) = S ((S (ff_i_functional_right_candidate_power_product)) * ff_v_functional_right_candidate_power_product)) /\ exists ff_q_functional_right_candidate_power_product_partial. ff_u_functional_right_candidate_power_product = ff_q_functional_right_candidate_power_product_partial * S ((S (ff_i_functional_right_candidate_power_product)) * ff_v_functional_right_candidate_power_product) + (ff_r_functional_right_candidate_power_product))) /\ ((((exists ff_h_functional_right_candidate_power_product_successor. ff_h_functional_right_candidate_power_product_successor + S (ff_s_functional_right_candidate_power_product) = S ((S (S ff_i_functional_right_candidate_power_product)) * ff_v_functional_right_candidate_power_product)) /\ exists ff_q_functional_right_candidate_power_product_successor. ff_u_functional_right_candidate_power_product = ff_q_functional_right_candidate_power_product_successor * S ((S (S ff_i_functional_right_candidate_power_product)) * ff_v_functional_right_candidate_power_product) + (ff_s_functional_right_candidate_power_product))) /\ ff_s_functional_right_candidate_power_product = ff_r_functional_right_candidate_power_product * ff_p_functional_right_candidate_power_product)))))))) /\ (exists bpv_factor_functional_right_candidate_divides. a = bpv_result_functional_right_candidate * bpv_factor_functional_right_candidate_divides))) -> (exists bpv_gap_functional_right_maximal. bpv_gap_functional_right_maximal + bpv_candidate_functional_right = f)) -> e = f

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

25 script commands · 4 reading checkpoints · 2 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 (1)
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 f
  5. L5
    intro he
  6. L6
    intro hf
02Separate the logical casesL7–10

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

  1. L7
    cases he
  2. L8
    cases he_left
  3. L9
    cases hf
  4. L10
    cases hf_left
03Establish hefL11–15

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hf right.

  1. L11
  2. L12
    specialize hf_right e
  3. L13
    apply hf_right
  4. L14
    exact he_left_left
  5. L15
    exact he_left_right
04Establish hfeL16–25

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply he right.

  1. L16
  2. L17
    specialize he_right f
  3. L18
    apply he_right
  4. L19
    exact hf_left_left
  5. L20
    exact hf_left_right
  6. L21
    specialize le_antisymm e
  7. L22
    specialize le_antisymm f
  8. L23
    apply le_antisymm
  9. L24
    exact hef
  10. L25
    exact hfe

Library-wide reading audit

Original defined command ledger · 25 lines
  1. 0001intro p
  2. 0002intro a
  3. 0003intro e
  4. 0004intro f
  5. 0005intro he
  6. 0006intro hf
  7. 0007cases he
  8. 0008cases he_left
  9. 0009cases hf
  10. 0010cases hf_left
  11. 0011have hef : Le(e,f)
    Exact native replay linehave hef : e <= f
  12. 0012specialize hf_right e
  13. 0013apply hf_right
  14. 0014exact he_left_left
  15. 0015exact he_left_right
  16. 0016have hfe : Le(f,e)
    Exact native replay linehave hfe : f <= e
  17. 0017specialize he_right f
  18. 0018apply he_right
  19. 0019exact hf_left_left
  20. 0020exact hf_left_right
  21. 0021specialize le_antisymm e
  22. 0022specialize le_antisymm f
  23. 0023apply le_antisymm
  24. 0024exact hef
  25. 0025exact hfe