BT00YX · Bertrand theorem

prime_contribution_factor_divides

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

Every complete contribution factor divides its source number.

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

∀ n. ∀ i. ∀ a. Prime(S i) ∧ (∃ x. PowerValuation(S i,n,x)Pow(S i,x,a)) ∨ ¬Prime(S i) ∧ a = 1 → Dvd(a,n)

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

5 occurrences

In local proof propositions

1 occurrences

Exact expanded native-PA statement
forall n i a. (((((~(S (i) = 1) /\ forall bpr_left_bpcfd_choice_prime bpr_right_bpcfd_choice_prime. S (i) = bpr_left_bpcfd_choice_prime * bpr_right_bpcfd_choice_prime -> bpr_left_bpcfd_choice_prime = 1 \/ bpr_right_bpcfd_choice_prime = 1)) /\ exists bpr_choice_exponent_bpcfd_choice. ((((exists bpr_le_gap_bpcfd_choice_valuation_selected_bound. bpr_le_gap_bpcfd_choice_valuation_selected_bound + (bpr_choice_exponent_bpcfd_choice) = (n)) /\ (exists bpr_power_value_bpcfd_choice_valuation_selected. ((exists bpr_power_code_bpcfd_choice_valuation_selected_power bpr_power_scale_bpcfd_choice_valuation_selected_power. ((forall bpr_power_index_bpcfd_choice_valuation_selected_power. (exists bpr_gap_bpcfd_choice_valuation_selected_power_repeat_bound. bpr_gap_bpcfd_choice_valuation_selected_power_repeat_bound + S (bpr_power_index_bpcfd_choice_valuation_selected_power) = bpr_choice_exponent_bpcfd_choice) -> (((exists bpr_height_bpcfd_choice_valuation_selected_power_repeat_entry. bpr_height_bpcfd_choice_valuation_selected_power_repeat_entry + S (S (i)) = S ((S (bpr_power_index_bpcfd_choice_valuation_selected_power)) * bpr_power_scale_bpcfd_choice_valuation_selected_power)) /\ exists bpr_quotient_bpcfd_choice_valuation_selected_power_repeat_entry. bpr_power_code_bpcfd_choice_valuation_selected_power = bpr_quotient_bpcfd_choice_valuation_selected_power_repeat_entry * S ((S (bpr_power_index_bpcfd_choice_valuation_selected_power)) * bpr_power_scale_bpcfd_choice_valuation_selected_power) + (S (i))))) /\ (exists ff_u_bpcfd_choice_valuation_selected_power_product ff_v_bpcfd_choice_valuation_selected_power_product. ((((exists ff_h_bpcfd_choice_valuation_selected_power_product_start. ff_h_bpcfd_choice_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpcfd_choice_valuation_selected_power_product)) /\ exists ff_q_bpcfd_choice_valuation_selected_power_product_start. ff_u_bpcfd_choice_valuation_selected_power_product = ff_q_bpcfd_choice_valuation_selected_power_product_start * S ((S (0)) * ff_v_bpcfd_choice_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bpcfd_choice_valuation_selected_power_product_terminal. ff_h_bpcfd_choice_valuation_selected_power_product_terminal + S (bpr_power_value_bpcfd_choice_valuation_selected) = S ((S (bpr_choice_exponent_bpcfd_choice)) * ff_v_bpcfd_choice_valuation_selected_power_product)) /\ exists ff_q_bpcfd_choice_valuation_selected_power_product_terminal. ff_u_bpcfd_choice_valuation_selected_power_product = ff_q_bpcfd_choice_valuation_selected_power_product_terminal * S ((S (bpr_choice_exponent_bpcfd_choice)) * ff_v_bpcfd_choice_valuation_selected_power_product) + (bpr_power_value_bpcfd_choice_valuation_selected))) /\ forall ff_i_bpcfd_choice_valuation_selected_power_product. (exists ff_lt_bpcfd_choice_valuation_selected_power_product_bound. ff_lt_bpcfd_choice_valuation_selected_power_product_bound + S ff_i_bpcfd_choice_valuation_selected_power_product = bpr_choice_exponent_bpcfd_choice) -> exists ff_p_bpcfd_choice_valuation_selected_power_product ff_r_bpcfd_choice_valuation_selected_power_product ff_s_bpcfd_choice_valuation_selected_power_product. ((((exists ff_h_bpcfd_choice_valuation_selected_power_product_factor. ff_h_bpcfd_choice_valuation_selected_power_product_factor + S (ff_p_bpcfd_choice_valuation_selected_power_product) = S ((S (ff_i_bpcfd_choice_valuation_selected_power_product)) * bpr_power_scale_bpcfd_choice_valuation_selected_power)) /\ exists ff_q_bpcfd_choice_valuation_selected_power_product_factor. bpr_power_code_bpcfd_choice_valuation_selected_power = ff_q_bpcfd_choice_valuation_selected_power_product_factor * S ((S (ff_i_bpcfd_choice_valuation_selected_power_product)) * bpr_power_scale_bpcfd_choice_valuation_selected_power) + (ff_p_bpcfd_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcfd_choice_valuation_selected_power_product_partial. ff_h_bpcfd_choice_valuation_selected_power_product_partial + S (ff_r_bpcfd_choice_valuation_selected_power_product) = S ((S (ff_i_bpcfd_choice_valuation_selected_power_product)) * ff_v_bpcfd_choice_valuation_selected_power_product)) /\ exists ff_q_bpcfd_choice_valuation_selected_power_product_partial. ff_u_bpcfd_choice_valuation_selected_power_product = ff_q_bpcfd_choice_valuation_selected_power_product_partial * S ((S (ff_i_bpcfd_choice_valuation_selected_power_product)) * ff_v_bpcfd_choice_valuation_selected_power_product) + (ff_r_bpcfd_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcfd_choice_valuation_selected_power_product_successor. ff_h_bpcfd_choice_valuation_selected_power_product_successor + S (ff_s_bpcfd_choice_valuation_selected_power_product) = S ((S (S ff_i_bpcfd_choice_valuation_selected_power_product)) * ff_v_bpcfd_choice_valuation_selected_power_product)) /\ exists ff_q_bpcfd_choice_valuation_selected_power_product_successor. ff_u_bpcfd_choice_valuation_selected_power_product = ff_q_bpcfd_choice_valuation_selected_power_product_successor * S ((S (S ff_i_bpcfd_choice_valuation_selected_power_product)) * ff_v_bpcfd_choice_valuation_selected_power_product) + (ff_s_bpcfd_choice_valuation_selected_power_product))) /\ ff_s_bpcfd_choice_valuation_selected_power_product = ff_r_bpcfd_choice_valuation_selected_power_product * ff_p_bpcfd_choice_valuation_selected_power_product)))))))) /\ (exists bpr_divides_quotient_bpcfd_choice_valuation_selected_divides. n = (bpr_power_value_bpcfd_choice_valuation_selected) * bpr_divides_quotient_bpcfd_choice_valuation_selected_divides)))) /\ forall bpr_valuation_candidate_bpcfd_choice_valuation. (exists bpr_le_gap_bpcfd_choice_valuation_candidate_bound. bpr_le_gap_bpcfd_choice_valuation_candidate_bound + (bpr_valuation_candidate_bpcfd_choice_valuation) = (n)) -> (exists bpr_power_value_bpcfd_choice_valuation_candidate. ((exists bpr_power_code_bpcfd_choice_valuation_candidate_power bpr_power_scale_bpcfd_choice_valuation_candidate_power. ((forall bpr_power_index_bpcfd_choice_valuation_candidate_power. (exists bpr_gap_bpcfd_choice_valuation_candidate_power_repeat_bound. bpr_gap_bpcfd_choice_valuation_candidate_power_repeat_bound + S (bpr_power_index_bpcfd_choice_valuation_candidate_power) = bpr_valuation_candidate_bpcfd_choice_valuation) -> (((exists bpr_height_bpcfd_choice_valuation_candidate_power_repeat_entry. bpr_height_bpcfd_choice_valuation_candidate_power_repeat_entry + S (S (i)) = S ((S (bpr_power_index_bpcfd_choice_valuation_candidate_power)) * bpr_power_scale_bpcfd_choice_valuation_candidate_power)) /\ exists bpr_quotient_bpcfd_choice_valuation_candidate_power_repeat_entry. bpr_power_code_bpcfd_choice_valuation_candidate_power = bpr_quotient_bpcfd_choice_valuation_candidate_power_repeat_entry * S ((S (bpr_power_index_bpcfd_choice_valuation_candidate_power)) * bpr_power_scale_bpcfd_choice_valuation_candidate_power) + (S (i))))) /\ (exists ff_u_bpcfd_choice_valuation_candidate_power_product ff_v_bpcfd_choice_valuation_candidate_power_product. ((((exists ff_h_bpcfd_choice_valuation_candidate_power_product_start. ff_h_bpcfd_choice_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpcfd_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcfd_choice_valuation_candidate_power_product_start. ff_u_bpcfd_choice_valuation_candidate_power_product = ff_q_bpcfd_choice_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bpcfd_choice_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bpcfd_choice_valuation_candidate_power_product_terminal. ff_h_bpcfd_choice_valuation_candidate_power_product_terminal + S (bpr_power_value_bpcfd_choice_valuation_candidate) = S ((S (bpr_valuation_candidate_bpcfd_choice_valuation)) * ff_v_bpcfd_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcfd_choice_valuation_candidate_power_product_terminal. ff_u_bpcfd_choice_valuation_candidate_power_product = ff_q_bpcfd_choice_valuation_candidate_power_product_terminal * S ((S (bpr_valuation_candidate_bpcfd_choice_valuation)) * ff_v_bpcfd_choice_valuation_candidate_power_product) + (bpr_power_value_bpcfd_choice_valuation_candidate))) /\ forall ff_i_bpcfd_choice_valuation_candidate_power_product. (exists ff_lt_bpcfd_choice_valuation_candidate_power_product_bound. ff_lt_bpcfd_choice_valuation_candidate_power_product_bound + S ff_i_bpcfd_choice_valuation_candidate_power_product = bpr_valuation_candidate_bpcfd_choice_valuation) -> exists ff_p_bpcfd_choice_valuation_candidate_power_product ff_r_bpcfd_choice_valuation_candidate_power_product ff_s_bpcfd_choice_valuation_candidate_power_product. ((((exists ff_h_bpcfd_choice_valuation_candidate_power_product_factor. ff_h_bpcfd_choice_valuation_candidate_power_product_factor + S (ff_p_bpcfd_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcfd_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcfd_choice_valuation_candidate_power)) /\ exists ff_q_bpcfd_choice_valuation_candidate_power_product_factor. bpr_power_code_bpcfd_choice_valuation_candidate_power = ff_q_bpcfd_choice_valuation_candidate_power_product_factor * S ((S (ff_i_bpcfd_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcfd_choice_valuation_candidate_power) + (ff_p_bpcfd_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcfd_choice_valuation_candidate_power_product_partial. ff_h_bpcfd_choice_valuation_candidate_power_product_partial + S (ff_r_bpcfd_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcfd_choice_valuation_candidate_power_product)) * ff_v_bpcfd_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcfd_choice_valuation_candidate_power_product_partial. ff_u_bpcfd_choice_valuation_candidate_power_product = ff_q_bpcfd_choice_valuation_candidate_power_product_partial * S ((S (ff_i_bpcfd_choice_valuation_candidate_power_product)) * ff_v_bpcfd_choice_valuation_candidate_power_product) + (ff_r_bpcfd_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcfd_choice_valuation_candidate_power_product_successor. ff_h_bpcfd_choice_valuation_candidate_power_product_successor + S (ff_s_bpcfd_choice_valuation_candidate_power_product) = S ((S (S ff_i_bpcfd_choice_valuation_candidate_power_product)) * ff_v_bpcfd_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcfd_choice_valuation_candidate_power_product_successor. ff_u_bpcfd_choice_valuation_candidate_power_product = ff_q_bpcfd_choice_valuation_candidate_power_product_successor * S ((S (S ff_i_bpcfd_choice_valuation_candidate_power_product)) * ff_v_bpcfd_choice_valuation_candidate_power_product) + (ff_s_bpcfd_choice_valuation_candidate_power_product))) /\ ff_s_bpcfd_choice_valuation_candidate_power_product = ff_r_bpcfd_choice_valuation_candidate_power_product * ff_p_bpcfd_choice_valuation_candidate_power_product)))))))) /\ (exists bpr_divides_quotient_bpcfd_choice_valuation_candidate_divides. n = (bpr_power_value_bpcfd_choice_valuation_candidate) * bpr_divides_quotient_bpcfd_choice_valuation_candidate_divides))) -> (exists bpr_le_gap_bpcfd_choice_valuation_candidate_below. bpr_le_gap_bpcfd_choice_valuation_candidate_below + (bpr_valuation_candidate_bpcfd_choice_valuation) = (bpr_choice_exponent_bpcfd_choice))) /\ (exists bpr_power_code_bpcfd_choice_power bpr_power_scale_bpcfd_choice_power. ((forall bpr_power_index_bpcfd_choice_power. (exists bpr_gap_bpcfd_choice_power_repeat_bound. bpr_gap_bpcfd_choice_power_repeat_bound + S (bpr_power_index_bpcfd_choice_power) = bpr_choice_exponent_bpcfd_choice) -> (((exists bpr_height_bpcfd_choice_power_repeat_entry. bpr_height_bpcfd_choice_power_repeat_entry + S (S (i)) = S ((S (bpr_power_index_bpcfd_choice_power)) * bpr_power_scale_bpcfd_choice_power)) /\ exists bpr_quotient_bpcfd_choice_power_repeat_entry. bpr_power_code_bpcfd_choice_power = bpr_quotient_bpcfd_choice_power_repeat_entry * S ((S (bpr_power_index_bpcfd_choice_power)) * bpr_power_scale_bpcfd_choice_power) + (S (i))))) /\ (exists ff_u_bpcfd_choice_power_product ff_v_bpcfd_choice_power_product. ((((exists ff_h_bpcfd_choice_power_product_start. ff_h_bpcfd_choice_power_product_start + S (1) = S ((S (0)) * ff_v_bpcfd_choice_power_product)) /\ exists ff_q_bpcfd_choice_power_product_start. ff_u_bpcfd_choice_power_product = ff_q_bpcfd_choice_power_product_start * S ((S (0)) * ff_v_bpcfd_choice_power_product) + (1))) /\ ((((exists ff_h_bpcfd_choice_power_product_terminal. ff_h_bpcfd_choice_power_product_terminal + S (a) = S ((S (bpr_choice_exponent_bpcfd_choice)) * ff_v_bpcfd_choice_power_product)) /\ exists ff_q_bpcfd_choice_power_product_terminal. ff_u_bpcfd_choice_power_product = ff_q_bpcfd_choice_power_product_terminal * S ((S (bpr_choice_exponent_bpcfd_choice)) * ff_v_bpcfd_choice_power_product) + (a))) /\ forall ff_i_bpcfd_choice_power_product. (exists ff_lt_bpcfd_choice_power_product_bound. ff_lt_bpcfd_choice_power_product_bound + S ff_i_bpcfd_choice_power_product = bpr_choice_exponent_bpcfd_choice) -> exists ff_p_bpcfd_choice_power_product ff_r_bpcfd_choice_power_product ff_s_bpcfd_choice_power_product. ((((exists ff_h_bpcfd_choice_power_product_factor. ff_h_bpcfd_choice_power_product_factor + S (ff_p_bpcfd_choice_power_product) = S ((S (ff_i_bpcfd_choice_power_product)) * bpr_power_scale_bpcfd_choice_power)) /\ exists ff_q_bpcfd_choice_power_product_factor. bpr_power_code_bpcfd_choice_power = ff_q_bpcfd_choice_power_product_factor * S ((S (ff_i_bpcfd_choice_power_product)) * bpr_power_scale_bpcfd_choice_power) + (ff_p_bpcfd_choice_power_product))) /\ ((((exists ff_h_bpcfd_choice_power_product_partial. ff_h_bpcfd_choice_power_product_partial + S (ff_r_bpcfd_choice_power_product) = S ((S (ff_i_bpcfd_choice_power_product)) * ff_v_bpcfd_choice_power_product)) /\ exists ff_q_bpcfd_choice_power_product_partial. ff_u_bpcfd_choice_power_product = ff_q_bpcfd_choice_power_product_partial * S ((S (ff_i_bpcfd_choice_power_product)) * ff_v_bpcfd_choice_power_product) + (ff_r_bpcfd_choice_power_product))) /\ ((((exists ff_h_bpcfd_choice_power_product_successor. ff_h_bpcfd_choice_power_product_successor + S (ff_s_bpcfd_choice_power_product) = S ((S (S ff_i_bpcfd_choice_power_product)) * ff_v_bpcfd_choice_power_product)) /\ exists ff_q_bpcfd_choice_power_product_successor. ff_u_bpcfd_choice_power_product = ff_q_bpcfd_choice_power_product_successor * S ((S (S ff_i_bpcfd_choice_power_product)) * ff_v_bpcfd_choice_power_product) + (ff_s_bpcfd_choice_power_product))) /\ ff_s_bpcfd_choice_power_product = ff_r_bpcfd_choice_power_product * ff_p_bpcfd_choice_power_product)))))))))) \/ (~((~(S (i) = 1) /\ forall bpr_left_bpcfd_choice_prime bpr_right_bpcfd_choice_prime. S (i) = bpr_left_bpcfd_choice_prime * bpr_right_bpcfd_choice_prime -> bpr_left_bpcfd_choice_prime = 1 \/ bpr_right_bpcfd_choice_prime = 1)) /\ a = 1))) -> (exists bpr_divides_quotient_bpcfd_result. n = (a) * bpr_divides_quotient_bpcfd_result)

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

31 script commands · 11 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 (3)
01Fix variables and assumptionsL1–4

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

  1. L1
    intro n
  2. L2
    intro i
  3. L3
    intro a
  4. L4
    intro hchoice
02Separate the logical casesL5–8

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

  1. L5
    cases hchoice
  2. L6
    cases hchoice_left
  3. L7
    cases hchoice_left_right
  4. L8
    cases hchoice_left_right_witness
03Establish hselectedL9–14

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

  1. L9
    have hselected : PowerDivides(S i,x,n)Definitions: PowerDivides(S i,x,n)Original native command in the exact edition
  2. L10
    specialize power_valuation_power_divides (S i)
  3. L11
    specialize power_valuation_power_divides n
  4. L12
    specialize power_valuation_power_divides x
  5. L13
    apply power_valuation_power_divides
  6. L14
    exact hchoice_left_right_witness_left
04Separate the logical casesL15–17

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

  1. L15
    cases hselected
  2. L16
    cases hselected_witness
  3. L17
    cases hselected_witness_right
05Establish hvalueL18–25

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

  1. L18
    have hvalue : x1 = a
  2. L19
    specialize pow_functional (S i)
  3. L20
    specialize pow_functional x
  4. L21
    specialize pow_functional x1
  5. L22
    specialize pow_functional a
  6. L23
    apply pow_functional
  7. L24
    exact hselected_witness_left
  8. L25
    exact hchoice_left_right_witness_right
06Construct an explicit witnessL26–26

Supply the displayed value, then prove that it has the required property.

  1. L26
    exists x2
07Calculate and transport equalitiesL27–27

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L27
    rewrite <- hvalue
08Use earlier factsL28–28

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

  1. L28
    exact hselected_witness_right_witness
09Separate the logical casesL29–29

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

  1. L29
    cases hchoice_right
10Calculate and transport equalitiesL30–30

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L30
    rewrite hchoice_right_right
11Use earlier factsL31–31

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

  1. L31
    apply one_multiple

Library-wide reading audit

Original defined command ledger · 31 lines
  1. 0001intro n
  2. 0002intro i
  3. 0003intro a
  4. 0004intro hchoice
  5. 0005cases hchoice
  6. 0006cases hchoice_left
  7. 0007cases hchoice_left_right
  8. 0008cases hchoice_left_right_witness
  9. 0009have hselected : PowerDivides(S i,x,n)
    Exact native replay linehave hselected : exists bpr_power_value_bpcfd_selected. ((exists bpr_power_code_bpcfd_selected_power bpr_power_scale_bpcfd_selected_power. ((forall bpr_power_index_bpcfd_selected_power. (exists bpr_gap_bpcfd_selected_power_repeat_bound. bpr_gap_bpcfd_selected_power_repeat_bound + S (bpr_power_index_bpcfd_selected_power) = x) -> (((exists bpr_height_bpcfd_selected_power_repeat_entry. bpr_height_bpcfd_selected_power_repeat_entry + S (S i) = S ((S (bpr_power_index_bpcfd_selected_power)) * bpr_power_scale_bpcfd_selected_power)) /\ exists bpr_quotient_bpcfd_selected_power_repeat_entry. bpr_power_code_bpcfd_selected_power = bpr_quotient_bpcfd_selected_power_repeat_entry * S ((S (bpr_power_index_bpcfd_selected_power)) * bpr_power_scale_bpcfd_selected_power) + (S i)))) /\ (exists ff_u_bpcfd_selected_power_product ff_v_bpcfd_selected_power_product. ((((exists ff_h_bpcfd_selected_power_product_start. ff_h_bpcfd_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpcfd_selected_power_product)) /\ exists ff_q_bpcfd_selected_power_product_start. ff_u_bpcfd_selected_power_product = ff_q_bpcfd_selected_power_product_start * S ((S (0)) * ff_v_bpcfd_selected_power_product) + (1))) /\ ((((exists ff_h_bpcfd_selected_power_product_terminal. ff_h_bpcfd_selected_power_product_terminal + S (bpr_power_value_bpcfd_selected) = S ((S (x)) * ff_v_bpcfd_selected_power_product)) /\ exists ff_q_bpcfd_selected_power_product_terminal. ff_u_bpcfd_selected_power_product = ff_q_bpcfd_selected_power_product_terminal * S ((S (x)) * ff_v_bpcfd_selected_power_product) + (bpr_power_value_bpcfd_selected))) /\ forall ff_i_bpcfd_selected_power_product. (exists ff_lt_bpcfd_selected_power_product_bound. ff_lt_bpcfd_selected_power_product_bound + S ff_i_bpcfd_selected_power_product = x) -> exists ff_p_bpcfd_selected_power_product ff_r_bpcfd_selected_power_product ff_s_bpcfd_selected_power_product. ((((exists ff_h_bpcfd_selected_power_product_factor. ff_h_bpcfd_selected_power_product_factor + S (ff_p_bpcfd_selected_power_product) = S ((S (ff_i_bpcfd_selected_power_product)) * bpr_power_scale_bpcfd_selected_power)) /\ exists ff_q_bpcfd_selected_power_product_factor. bpr_power_code_bpcfd_selected_power = ff_q_bpcfd_selected_power_product_factor * S ((S (ff_i_bpcfd_selected_power_product)) * bpr_power_scale_bpcfd_selected_power) + (ff_p_bpcfd_selected_power_product))) /\ ((((exists ff_h_bpcfd_selected_power_product_partial. ff_h_bpcfd_selected_power_product_partial + S (ff_r_bpcfd_selected_power_product) = S ((S (ff_i_bpcfd_selected_power_product)) * ff_v_bpcfd_selected_power_product)) /\ exists ff_q_bpcfd_selected_power_product_partial. ff_u_bpcfd_selected_power_product = ff_q_bpcfd_selected_power_product_partial * S ((S (ff_i_bpcfd_selected_power_product)) * ff_v_bpcfd_selected_power_product) + (ff_r_bpcfd_selected_power_product))) /\ ((((exists ff_h_bpcfd_selected_power_product_successor. ff_h_bpcfd_selected_power_product_successor + S (ff_s_bpcfd_selected_power_product) = S ((S (S ff_i_bpcfd_selected_power_product)) * ff_v_bpcfd_selected_power_product)) /\ exists ff_q_bpcfd_selected_power_product_successor. ff_u_bpcfd_selected_power_product = ff_q_bpcfd_selected_power_product_successor * S ((S (S ff_i_bpcfd_selected_power_product)) * ff_v_bpcfd_selected_power_product) + (ff_s_bpcfd_selected_power_product))) /\ ff_s_bpcfd_selected_power_product = ff_r_bpcfd_selected_power_product * ff_p_bpcfd_selected_power_product)))))))) /\ (exists bpr_divides_quotient_bpcfd_selected_divides. n = (bpr_power_value_bpcfd_selected) * bpr_divides_quotient_bpcfd_selected_divides))
  10. 0010specialize power_valuation_power_divides (S i)
  11. 0011specialize power_valuation_power_divides n
  12. 0012specialize power_valuation_power_divides x
  13. 0013apply power_valuation_power_divides
  14. 0014exact hchoice_left_right_witness_left
  15. 0015cases hselected
  16. 0016cases hselected_witness
  17. 0017cases hselected_witness_right
  18. 0018have hvalue : x1 = a
  19. 0019specialize pow_functional (S i)
  20. 0020specialize pow_functional x
  21. 0021specialize pow_functional x1
  22. 0022specialize pow_functional a
  23. 0023apply pow_functional
  24. 0024exact hselected_witness_left
  25. 0025exact hchoice_left_right_witness_right
  26. 0026exists x2
  27. 0027rewrite <- hvalue
  28. 0028exact hselected_witness_right_witness
  29. 0029cases hchoice_right
  30. 0030rewrite hchoice_right_right
  31. 0031apply one_multiple