BT0104 · Bertrand theorem

prime_contribution_reverse_divides

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

A supported complete contribution product is a multiple of its source.

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. ∀ m. ∀ z. ¬n = 0 → (∀ x. Prime(x)Dvd(x,n)Le(x,m)) → (∃ x. ∃ y. (∀ k. Lt(k,m) → ∃ i. BetaAt(x,y,k,i) ∧ (Prime(S k) ∧ (∃ j. PowerValuation(S k,n,j)Pow(S k,j,i)) ∨ ¬Prime(S k) ∧ i = 1)) ∧ Product(x,y,m,z)) → Dvd(n,z)

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

11 occurrences

In local proof propositions

1 occurrences

Exact expanded native-PA statement
forall n m z. ~(n = 0) -> (forall bpr_support_prime_bpcrd_support. ((~(bpr_support_prime_bpcrd_support = 1) /\ forall bpr_left_bpcrd_support_prime bpr_right_bpcrd_support_prime. bpr_support_prime_bpcrd_support = bpr_left_bpcrd_support_prime * bpr_right_bpcrd_support_prime -> bpr_left_bpcrd_support_prime = 1 \/ bpr_right_bpcrd_support_prime = 1)) -> (exists bpr_divides_quotient_bpcrd_support_divides. n = (bpr_support_prime_bpcrd_support) * bpr_divides_quotient_bpcrd_support_divides) -> (exists bpr_le_gap_bpcrd_support_bound. bpr_le_gap_bpcrd_support_bound + (bpr_support_prime_bpcrd_support) = (m))) -> (exists bpr_product_code_bpcrd_product bpr_product_scale_bpcrd_product. ((forall bpr_prefix_index_bpcrd_product_prefix. (exists bpr_gap_bpcrd_product_prefix_bound. bpr_gap_bpcrd_product_prefix_bound + S (bpr_prefix_index_bpcrd_product_prefix) = m) -> exists bpr_prefix_value_bpcrd_product_prefix. ((((exists bpr_height_bpcrd_product_prefix_decoded. bpr_height_bpcrd_product_prefix_decoded + S (bpr_prefix_value_bpcrd_product_prefix) = S ((S (bpr_prefix_index_bpcrd_product_prefix)) * bpr_product_scale_bpcrd_product)) /\ exists bpr_quotient_bpcrd_product_prefix_decoded. bpr_product_code_bpcrd_product = bpr_quotient_bpcrd_product_prefix_decoded * S ((S (bpr_prefix_index_bpcrd_product_prefix)) * bpr_product_scale_bpcrd_product) + (bpr_prefix_value_bpcrd_product_prefix))) /\ (((((~(S (bpr_prefix_index_bpcrd_product_prefix) = 1) /\ forall bpr_left_bpcrd_product_prefix_choice_prime bpr_right_bpcrd_product_prefix_choice_prime. S (bpr_prefix_index_bpcrd_product_prefix) = bpr_left_bpcrd_product_prefix_choice_prime * bpr_right_bpcrd_product_prefix_choice_prime -> bpr_left_bpcrd_product_prefix_choice_prime = 1 \/ bpr_right_bpcrd_product_prefix_choice_prime = 1)) /\ exists bpr_choice_exponent_bpcrd_product_prefix_choice. ((((exists bpr_le_gap_bpcrd_product_prefix_choice_valuation_selected_bound. bpr_le_gap_bpcrd_product_prefix_choice_valuation_selected_bound + (bpr_choice_exponent_bpcrd_product_prefix_choice) = (n)) /\ (exists bpr_power_value_bpcrd_product_prefix_choice_valuation_selected. ((exists bpr_power_code_bpcrd_product_prefix_choice_valuation_selected_power bpr_power_scale_bpcrd_product_prefix_choice_valuation_selected_power. ((forall bpr_power_index_bpcrd_product_prefix_choice_valuation_selected_power. (exists bpr_gap_bpcrd_product_prefix_choice_valuation_selected_power_repeat_bound. bpr_gap_bpcrd_product_prefix_choice_valuation_selected_power_repeat_bound + S (bpr_power_index_bpcrd_product_prefix_choice_valuation_selected_power) = bpr_choice_exponent_bpcrd_product_prefix_choice) -> (((exists bpr_height_bpcrd_product_prefix_choice_valuation_selected_power_repeat_entry. bpr_height_bpcrd_product_prefix_choice_valuation_selected_power_repeat_entry + S (S (bpr_prefix_index_bpcrd_product_prefix)) = S ((S (bpr_power_index_bpcrd_product_prefix_choice_valuation_selected_power)) * bpr_power_scale_bpcrd_product_prefix_choice_valuation_selected_power)) /\ exists bpr_quotient_bpcrd_product_prefix_choice_valuation_selected_power_repeat_entry. bpr_power_code_bpcrd_product_prefix_choice_valuation_selected_power = bpr_quotient_bpcrd_product_prefix_choice_valuation_selected_power_repeat_entry * S ((S (bpr_power_index_bpcrd_product_prefix_choice_valuation_selected_power)) * bpr_power_scale_bpcrd_product_prefix_choice_valuation_selected_power) + (S (bpr_prefix_index_bpcrd_product_prefix))))) /\ (exists ff_u_bpcrd_product_prefix_choice_valuation_selected_power_product ff_v_bpcrd_product_prefix_choice_valuation_selected_power_product. ((((exists ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_start. ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpcrd_product_prefix_choice_valuation_selected_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_start. ff_u_bpcrd_product_prefix_choice_valuation_selected_power_product = ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_start * S ((S (0)) * ff_v_bpcrd_product_prefix_choice_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_terminal. ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_terminal + S (bpr_power_value_bpcrd_product_prefix_choice_valuation_selected) = S ((S (bpr_choice_exponent_bpcrd_product_prefix_choice)) * ff_v_bpcrd_product_prefix_choice_valuation_selected_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_terminal. ff_u_bpcrd_product_prefix_choice_valuation_selected_power_product = ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_terminal * S ((S (bpr_choice_exponent_bpcrd_product_prefix_choice)) * ff_v_bpcrd_product_prefix_choice_valuation_selected_power_product) + (bpr_power_value_bpcrd_product_prefix_choice_valuation_selected))) /\ forall ff_i_bpcrd_product_prefix_choice_valuation_selected_power_product. (exists ff_lt_bpcrd_product_prefix_choice_valuation_selected_power_product_bound. ff_lt_bpcrd_product_prefix_choice_valuation_selected_power_product_bound + S ff_i_bpcrd_product_prefix_choice_valuation_selected_power_product = bpr_choice_exponent_bpcrd_product_prefix_choice) -> exists ff_p_bpcrd_product_prefix_choice_valuation_selected_power_product ff_r_bpcrd_product_prefix_choice_valuation_selected_power_product ff_s_bpcrd_product_prefix_choice_valuation_selected_power_product. ((((exists ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_factor. ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_factor + S (ff_p_bpcrd_product_prefix_choice_valuation_selected_power_product) = S ((S (ff_i_bpcrd_product_prefix_choice_valuation_selected_power_product)) * bpr_power_scale_bpcrd_product_prefix_choice_valuation_selected_power)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_factor. bpr_power_code_bpcrd_product_prefix_choice_valuation_selected_power = ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_factor * S ((S (ff_i_bpcrd_product_prefix_choice_valuation_selected_power_product)) * bpr_power_scale_bpcrd_product_prefix_choice_valuation_selected_power) + (ff_p_bpcrd_product_prefix_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_partial. ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_partial + S (ff_r_bpcrd_product_prefix_choice_valuation_selected_power_product) = S ((S (ff_i_bpcrd_product_prefix_choice_valuation_selected_power_product)) * ff_v_bpcrd_product_prefix_choice_valuation_selected_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_partial. ff_u_bpcrd_product_prefix_choice_valuation_selected_power_product = ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_partial * S ((S (ff_i_bpcrd_product_prefix_choice_valuation_selected_power_product)) * ff_v_bpcrd_product_prefix_choice_valuation_selected_power_product) + (ff_r_bpcrd_product_prefix_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_successor. ff_h_bpcrd_product_prefix_choice_valuation_selected_power_product_successor + S (ff_s_bpcrd_product_prefix_choice_valuation_selected_power_product) = S ((S (S ff_i_bpcrd_product_prefix_choice_valuation_selected_power_product)) * ff_v_bpcrd_product_prefix_choice_valuation_selected_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_successor. ff_u_bpcrd_product_prefix_choice_valuation_selected_power_product = ff_q_bpcrd_product_prefix_choice_valuation_selected_power_product_successor * S ((S (S ff_i_bpcrd_product_prefix_choice_valuation_selected_power_product)) * ff_v_bpcrd_product_prefix_choice_valuation_selected_power_product) + (ff_s_bpcrd_product_prefix_choice_valuation_selected_power_product))) /\ ff_s_bpcrd_product_prefix_choice_valuation_selected_power_product = ff_r_bpcrd_product_prefix_choice_valuation_selected_power_product * ff_p_bpcrd_product_prefix_choice_valuation_selected_power_product)))))))) /\ (exists bpr_divides_quotient_bpcrd_product_prefix_choice_valuation_selected_divides. n = (bpr_power_value_bpcrd_product_prefix_choice_valuation_selected) * bpr_divides_quotient_bpcrd_product_prefix_choice_valuation_selected_divides)))) /\ forall bpr_valuation_candidate_bpcrd_product_prefix_choice_valuation. (exists bpr_le_gap_bpcrd_product_prefix_choice_valuation_candidate_bound. bpr_le_gap_bpcrd_product_prefix_choice_valuation_candidate_bound + (bpr_valuation_candidate_bpcrd_product_prefix_choice_valuation) = (n)) -> (exists bpr_power_value_bpcrd_product_prefix_choice_valuation_candidate. ((exists bpr_power_code_bpcrd_product_prefix_choice_valuation_candidate_power bpr_power_scale_bpcrd_product_prefix_choice_valuation_candidate_power. ((forall bpr_power_index_bpcrd_product_prefix_choice_valuation_candidate_power. (exists bpr_gap_bpcrd_product_prefix_choice_valuation_candidate_power_repeat_bound. bpr_gap_bpcrd_product_prefix_choice_valuation_candidate_power_repeat_bound + S (bpr_power_index_bpcrd_product_prefix_choice_valuation_candidate_power) = bpr_valuation_candidate_bpcrd_product_prefix_choice_valuation) -> (((exists bpr_height_bpcrd_product_prefix_choice_valuation_candidate_power_repeat_entry. bpr_height_bpcrd_product_prefix_choice_valuation_candidate_power_repeat_entry + S (S (bpr_prefix_index_bpcrd_product_prefix)) = S ((S (bpr_power_index_bpcrd_product_prefix_choice_valuation_candidate_power)) * bpr_power_scale_bpcrd_product_prefix_choice_valuation_candidate_power)) /\ exists bpr_quotient_bpcrd_product_prefix_choice_valuation_candidate_power_repeat_entry. bpr_power_code_bpcrd_product_prefix_choice_valuation_candidate_power = bpr_quotient_bpcrd_product_prefix_choice_valuation_candidate_power_repeat_entry * S ((S (bpr_power_index_bpcrd_product_prefix_choice_valuation_candidate_power)) * bpr_power_scale_bpcrd_product_prefix_choice_valuation_candidate_power) + (S (bpr_prefix_index_bpcrd_product_prefix))))) /\ (exists ff_u_bpcrd_product_prefix_choice_valuation_candidate_power_product ff_v_bpcrd_product_prefix_choice_valuation_candidate_power_product. ((((exists ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_start. ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpcrd_product_prefix_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_start. ff_u_bpcrd_product_prefix_choice_valuation_candidate_power_product = ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bpcrd_product_prefix_choice_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_terminal. ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_terminal + S (bpr_power_value_bpcrd_product_prefix_choice_valuation_candidate) = S ((S (bpr_valuation_candidate_bpcrd_product_prefix_choice_valuation)) * ff_v_bpcrd_product_prefix_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_terminal. ff_u_bpcrd_product_prefix_choice_valuation_candidate_power_product = ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_terminal * S ((S (bpr_valuation_candidate_bpcrd_product_prefix_choice_valuation)) * ff_v_bpcrd_product_prefix_choice_valuation_candidate_power_product) + (bpr_power_value_bpcrd_product_prefix_choice_valuation_candidate))) /\ forall ff_i_bpcrd_product_prefix_choice_valuation_candidate_power_product. (exists ff_lt_bpcrd_product_prefix_choice_valuation_candidate_power_product_bound. ff_lt_bpcrd_product_prefix_choice_valuation_candidate_power_product_bound + S ff_i_bpcrd_product_prefix_choice_valuation_candidate_power_product = bpr_valuation_candidate_bpcrd_product_prefix_choice_valuation) -> exists ff_p_bpcrd_product_prefix_choice_valuation_candidate_power_product ff_r_bpcrd_product_prefix_choice_valuation_candidate_power_product ff_s_bpcrd_product_prefix_choice_valuation_candidate_power_product. ((((exists ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_factor. ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_factor + S (ff_p_bpcrd_product_prefix_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcrd_product_prefix_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcrd_product_prefix_choice_valuation_candidate_power)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_factor. bpr_power_code_bpcrd_product_prefix_choice_valuation_candidate_power = ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_factor * S ((S (ff_i_bpcrd_product_prefix_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcrd_product_prefix_choice_valuation_candidate_power) + (ff_p_bpcrd_product_prefix_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_partial. ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_partial + S (ff_r_bpcrd_product_prefix_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcrd_product_prefix_choice_valuation_candidate_power_product)) * ff_v_bpcrd_product_prefix_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_partial. ff_u_bpcrd_product_prefix_choice_valuation_candidate_power_product = ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_partial * S ((S (ff_i_bpcrd_product_prefix_choice_valuation_candidate_power_product)) * ff_v_bpcrd_product_prefix_choice_valuation_candidate_power_product) + (ff_r_bpcrd_product_prefix_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_successor. ff_h_bpcrd_product_prefix_choice_valuation_candidate_power_product_successor + S (ff_s_bpcrd_product_prefix_choice_valuation_candidate_power_product) = S ((S (S ff_i_bpcrd_product_prefix_choice_valuation_candidate_power_product)) * ff_v_bpcrd_product_prefix_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_successor. ff_u_bpcrd_product_prefix_choice_valuation_candidate_power_product = ff_q_bpcrd_product_prefix_choice_valuation_candidate_power_product_successor * S ((S (S ff_i_bpcrd_product_prefix_choice_valuation_candidate_power_product)) * ff_v_bpcrd_product_prefix_choice_valuation_candidate_power_product) + (ff_s_bpcrd_product_prefix_choice_valuation_candidate_power_product))) /\ ff_s_bpcrd_product_prefix_choice_valuation_candidate_power_product = ff_r_bpcrd_product_prefix_choice_valuation_candidate_power_product * ff_p_bpcrd_product_prefix_choice_valuation_candidate_power_product)))))))) /\ (exists bpr_divides_quotient_bpcrd_product_prefix_choice_valuation_candidate_divides. n = (bpr_power_value_bpcrd_product_prefix_choice_valuation_candidate) * bpr_divides_quotient_bpcrd_product_prefix_choice_valuation_candidate_divides))) -> (exists bpr_le_gap_bpcrd_product_prefix_choice_valuation_candidate_below. bpr_le_gap_bpcrd_product_prefix_choice_valuation_candidate_below + (bpr_valuation_candidate_bpcrd_product_prefix_choice_valuation) = (bpr_choice_exponent_bpcrd_product_prefix_choice))) /\ (exists bpr_power_code_bpcrd_product_prefix_choice_power bpr_power_scale_bpcrd_product_prefix_choice_power. ((forall bpr_power_index_bpcrd_product_prefix_choice_power. (exists bpr_gap_bpcrd_product_prefix_choice_power_repeat_bound. bpr_gap_bpcrd_product_prefix_choice_power_repeat_bound + S (bpr_power_index_bpcrd_product_prefix_choice_power) = bpr_choice_exponent_bpcrd_product_prefix_choice) -> (((exists bpr_height_bpcrd_product_prefix_choice_power_repeat_entry. bpr_height_bpcrd_product_prefix_choice_power_repeat_entry + S (S (bpr_prefix_index_bpcrd_product_prefix)) = S ((S (bpr_power_index_bpcrd_product_prefix_choice_power)) * bpr_power_scale_bpcrd_product_prefix_choice_power)) /\ exists bpr_quotient_bpcrd_product_prefix_choice_power_repeat_entry. bpr_power_code_bpcrd_product_prefix_choice_power = bpr_quotient_bpcrd_product_prefix_choice_power_repeat_entry * S ((S (bpr_power_index_bpcrd_product_prefix_choice_power)) * bpr_power_scale_bpcrd_product_prefix_choice_power) + (S (bpr_prefix_index_bpcrd_product_prefix))))) /\ (exists ff_u_bpcrd_product_prefix_choice_power_product ff_v_bpcrd_product_prefix_choice_power_product. ((((exists ff_h_bpcrd_product_prefix_choice_power_product_start. ff_h_bpcrd_product_prefix_choice_power_product_start + S (1) = S ((S (0)) * ff_v_bpcrd_product_prefix_choice_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_power_product_start. ff_u_bpcrd_product_prefix_choice_power_product = ff_q_bpcrd_product_prefix_choice_power_product_start * S ((S (0)) * ff_v_bpcrd_product_prefix_choice_power_product) + (1))) /\ ((((exists ff_h_bpcrd_product_prefix_choice_power_product_terminal. ff_h_bpcrd_product_prefix_choice_power_product_terminal + S (bpr_prefix_value_bpcrd_product_prefix) = S ((S (bpr_choice_exponent_bpcrd_product_prefix_choice)) * ff_v_bpcrd_product_prefix_choice_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_power_product_terminal. ff_u_bpcrd_product_prefix_choice_power_product = ff_q_bpcrd_product_prefix_choice_power_product_terminal * S ((S (bpr_choice_exponent_bpcrd_product_prefix_choice)) * ff_v_bpcrd_product_prefix_choice_power_product) + (bpr_prefix_value_bpcrd_product_prefix))) /\ forall ff_i_bpcrd_product_prefix_choice_power_product. (exists ff_lt_bpcrd_product_prefix_choice_power_product_bound. ff_lt_bpcrd_product_prefix_choice_power_product_bound + S ff_i_bpcrd_product_prefix_choice_power_product = bpr_choice_exponent_bpcrd_product_prefix_choice) -> exists ff_p_bpcrd_product_prefix_choice_power_product ff_r_bpcrd_product_prefix_choice_power_product ff_s_bpcrd_product_prefix_choice_power_product. ((((exists ff_h_bpcrd_product_prefix_choice_power_product_factor. ff_h_bpcrd_product_prefix_choice_power_product_factor + S (ff_p_bpcrd_product_prefix_choice_power_product) = S ((S (ff_i_bpcrd_product_prefix_choice_power_product)) * bpr_power_scale_bpcrd_product_prefix_choice_power)) /\ exists ff_q_bpcrd_product_prefix_choice_power_product_factor. bpr_power_code_bpcrd_product_prefix_choice_power = ff_q_bpcrd_product_prefix_choice_power_product_factor * S ((S (ff_i_bpcrd_product_prefix_choice_power_product)) * bpr_power_scale_bpcrd_product_prefix_choice_power) + (ff_p_bpcrd_product_prefix_choice_power_product))) /\ ((((exists ff_h_bpcrd_product_prefix_choice_power_product_partial. ff_h_bpcrd_product_prefix_choice_power_product_partial + S (ff_r_bpcrd_product_prefix_choice_power_product) = S ((S (ff_i_bpcrd_product_prefix_choice_power_product)) * ff_v_bpcrd_product_prefix_choice_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_power_product_partial. ff_u_bpcrd_product_prefix_choice_power_product = ff_q_bpcrd_product_prefix_choice_power_product_partial * S ((S (ff_i_bpcrd_product_prefix_choice_power_product)) * ff_v_bpcrd_product_prefix_choice_power_product) + (ff_r_bpcrd_product_prefix_choice_power_product))) /\ ((((exists ff_h_bpcrd_product_prefix_choice_power_product_successor. ff_h_bpcrd_product_prefix_choice_power_product_successor + S (ff_s_bpcrd_product_prefix_choice_power_product) = S ((S (S ff_i_bpcrd_product_prefix_choice_power_product)) * ff_v_bpcrd_product_prefix_choice_power_product)) /\ exists ff_q_bpcrd_product_prefix_choice_power_product_successor. ff_u_bpcrd_product_prefix_choice_power_product = ff_q_bpcrd_product_prefix_choice_power_product_successor * S ((S (S ff_i_bpcrd_product_prefix_choice_power_product)) * ff_v_bpcrd_product_prefix_choice_power_product) + (ff_s_bpcrd_product_prefix_choice_power_product))) /\ ff_s_bpcrd_product_prefix_choice_power_product = ff_r_bpcrd_product_prefix_choice_power_product * ff_p_bpcrd_product_prefix_choice_power_product)))))))))) \/ (~((~(S (bpr_prefix_index_bpcrd_product_prefix) = 1) /\ forall bpr_left_bpcrd_product_prefix_choice_prime bpr_right_bpcrd_product_prefix_choice_prime. S (bpr_prefix_index_bpcrd_product_prefix) = bpr_left_bpcrd_product_prefix_choice_prime * bpr_right_bpcrd_product_prefix_choice_prime -> bpr_left_bpcrd_product_prefix_choice_prime = 1 \/ bpr_right_bpcrd_product_prefix_choice_prime = 1)) /\ bpr_prefix_value_bpcrd_product_prefix = 1))))) /\ (exists ff_u_bpcrd_product_product ff_v_bpcrd_product_product. ((((exists ff_h_bpcrd_product_product_start. ff_h_bpcrd_product_product_start + S (1) = S ((S (0)) * ff_v_bpcrd_product_product)) /\ exists ff_q_bpcrd_product_product_start. ff_u_bpcrd_product_product = ff_q_bpcrd_product_product_start * S ((S (0)) * ff_v_bpcrd_product_product) + (1))) /\ ((((exists ff_h_bpcrd_product_product_terminal. ff_h_bpcrd_product_product_terminal + S (z) = S ((S (m)) * ff_v_bpcrd_product_product)) /\ exists ff_q_bpcrd_product_product_terminal. ff_u_bpcrd_product_product = ff_q_bpcrd_product_product_terminal * S ((S (m)) * ff_v_bpcrd_product_product) + (z))) /\ forall ff_i_bpcrd_product_product. (exists ff_lt_bpcrd_product_product_bound. ff_lt_bpcrd_product_product_bound + S ff_i_bpcrd_product_product = m) -> exists ff_p_bpcrd_product_product ff_r_bpcrd_product_product ff_s_bpcrd_product_product. ((((exists ff_h_bpcrd_product_product_factor. ff_h_bpcrd_product_product_factor + S (ff_p_bpcrd_product_product) = S ((S (ff_i_bpcrd_product_product)) * bpr_product_scale_bpcrd_product)) /\ exists ff_q_bpcrd_product_product_factor. bpr_product_code_bpcrd_product = ff_q_bpcrd_product_product_factor * S ((S (ff_i_bpcrd_product_product)) * bpr_product_scale_bpcrd_product) + (ff_p_bpcrd_product_product))) /\ ((((exists ff_h_bpcrd_product_product_partial. ff_h_bpcrd_product_product_partial + S (ff_r_bpcrd_product_product) = S ((S (ff_i_bpcrd_product_product)) * ff_v_bpcrd_product_product)) /\ exists ff_q_bpcrd_product_product_partial. ff_u_bpcrd_product_product = ff_q_bpcrd_product_product_partial * S ((S (ff_i_bpcrd_product_product)) * ff_v_bpcrd_product_product) + (ff_r_bpcrd_product_product))) /\ ((((exists ff_h_bpcrd_product_product_successor. ff_h_bpcrd_product_product_successor + S (ff_s_bpcrd_product_product) = S ((S (S ff_i_bpcrd_product_product)) * ff_v_bpcrd_product_product)) /\ exists ff_q_bpcrd_product_product_successor. ff_u_bpcrd_product_product = ff_q_bpcrd_product_product_successor * S ((S (S ff_i_bpcrd_product_product)) * ff_v_bpcrd_product_product) + (ff_s_bpcrd_product_product))) /\ ff_s_bpcrd_product_product = ff_r_bpcrd_product_product * ff_p_bpcrd_product_product)))))))) -> (exists bpr_divides_quotient_bpcrd_result. z = (n) * bpr_divides_quotient_bpcrd_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 · 10 reading checkpoints · 3 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–6

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

  1. L1
    intro n
  2. L2
    intro m
  3. L3
    intro z
  4. L4
    intro hn
  5. L5
    intro hsupport
  6. L6
    intro hproduct
02Establish hforwardL7–9

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

  1. L7
    have hforward : Dvd(z,n)Definitions: Dvd(z,n)Original native command in the exact edition
  2. L8
    apply prime_contribution_product_divides
  3. L9
    exact hproduct
03Separate the logical casesL10–10

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

  1. L10
    cases hforward
04Establish hunitL11–20

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime contribution cofactor eq one.

  1. L11
    have hunit : x = 1
  2. L12
    specialize prime_contribution_cofactor_eq_one n
  3. L13
    specialize prime_contribution_cofactor_eq_one m
  4. L14
    specialize prime_contribution_cofactor_eq_one z
  5. L15
    specialize prime_contribution_cofactor_eq_one x
  6. L16
    apply prime_contribution_cofactor_eq_one
  7. L17
    exact hn
  8. L18
    exact hsupport
  9. L19
    exact hproduct
  10. L20
    exact hforward_witness
05Establish heqL21–25

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

  1. L21
    have heq : n = z
  2. L22
    trans z * x
  3. L23
    exact hforward_witness
  4. L24
    rewrite hunit
  5. L25
    apply mul_one
06Construct an explicit witnessL26–26

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

  1. L26
    exists 1
07Calculate and transport equalitiesL27–28

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

  1. L27
    trans n
  2. L28
    symm
08Use earlier factsL29–29

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

  1. L29
    exact heq
09Calculate and transport equalitiesL30–30

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

  1. L30
    symm
10Use earlier factsL31–31

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

  1. L31
    apply mul_one

Library-wide reading audit

Original defined command ledger · 31 lines
  1. 0001intro n
  2. 0002intro m
  3. 0003intro z
  4. 0004intro hn
  5. 0005intro hsupport
  6. 0006intro hproduct
  7. 0007have hforward : Dvd(z,n)
    Exact native replay linehave hforward : exists bpr_divides_quotient_bpcrd_forward. n = (z) * bpr_divides_quotient_bpcrd_forward
  8. 0008apply prime_contribution_product_divides
  9. 0009exact hproduct
  10. 0010cases hforward
  11. 0011have hunit : x = 1
  12. 0012specialize prime_contribution_cofactor_eq_one n
  13. 0013specialize prime_contribution_cofactor_eq_one m
  14. 0014specialize prime_contribution_cofactor_eq_one z
  15. 0015specialize prime_contribution_cofactor_eq_one x
  16. 0016apply prime_contribution_cofactor_eq_one
  17. 0017exact hn
  18. 0018exact hsupport
  19. 0019exact hproduct
  20. 0020exact hforward_witness
  21. 0021have heq : n = z
  22. 0022trans z * x
  23. 0023exact hforward_witness
  24. 0024rewrite hunit
  25. 0025apply mul_one
  26. 0026exists 1
  27. 0027trans n
  28. 0028symm
  29. 0029exact heq
  30. 0030symm
  31. 0031apply mul_one