BT0105 · Bertrand theorem

prime_contribution_product_eq

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

Every supported complete contribution product equals 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)) → 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

10 occurrences

In local proof propositions

2 occurrences

Exact expanded native-PA statement
forall n m z. ~(n = 0) -> (forall bpr_support_prime_bpcpeq_support. ((~(bpr_support_prime_bpcpeq_support = 1) /\ forall bpr_left_bpcpeq_support_prime bpr_right_bpcpeq_support_prime. bpr_support_prime_bpcpeq_support = bpr_left_bpcpeq_support_prime * bpr_right_bpcpeq_support_prime -> bpr_left_bpcpeq_support_prime = 1 \/ bpr_right_bpcpeq_support_prime = 1)) -> (exists bpr_divides_quotient_bpcpeq_support_divides. n = (bpr_support_prime_bpcpeq_support) * bpr_divides_quotient_bpcpeq_support_divides) -> (exists bpr_le_gap_bpcpeq_support_bound. bpr_le_gap_bpcpeq_support_bound + (bpr_support_prime_bpcpeq_support) = (m))) -> (exists bpr_product_code_bpcpeq_product bpr_product_scale_bpcpeq_product. ((forall bpr_prefix_index_bpcpeq_product_prefix. (exists bpr_gap_bpcpeq_product_prefix_bound. bpr_gap_bpcpeq_product_prefix_bound + S (bpr_prefix_index_bpcpeq_product_prefix) = m) -> exists bpr_prefix_value_bpcpeq_product_prefix. ((((exists bpr_height_bpcpeq_product_prefix_decoded. bpr_height_bpcpeq_product_prefix_decoded + S (bpr_prefix_value_bpcpeq_product_prefix) = S ((S (bpr_prefix_index_bpcpeq_product_prefix)) * bpr_product_scale_bpcpeq_product)) /\ exists bpr_quotient_bpcpeq_product_prefix_decoded. bpr_product_code_bpcpeq_product = bpr_quotient_bpcpeq_product_prefix_decoded * S ((S (bpr_prefix_index_bpcpeq_product_prefix)) * bpr_product_scale_bpcpeq_product) + (bpr_prefix_value_bpcpeq_product_prefix))) /\ (((((~(S (bpr_prefix_index_bpcpeq_product_prefix) = 1) /\ forall bpr_left_bpcpeq_product_prefix_choice_prime bpr_right_bpcpeq_product_prefix_choice_prime. S (bpr_prefix_index_bpcpeq_product_prefix) = bpr_left_bpcpeq_product_prefix_choice_prime * bpr_right_bpcpeq_product_prefix_choice_prime -> bpr_left_bpcpeq_product_prefix_choice_prime = 1 \/ bpr_right_bpcpeq_product_prefix_choice_prime = 1)) /\ exists bpr_choice_exponent_bpcpeq_product_prefix_choice. ((((exists bpr_le_gap_bpcpeq_product_prefix_choice_valuation_selected_bound. bpr_le_gap_bpcpeq_product_prefix_choice_valuation_selected_bound + (bpr_choice_exponent_bpcpeq_product_prefix_choice) = (n)) /\ (exists bpr_power_value_bpcpeq_product_prefix_choice_valuation_selected. ((exists bpr_power_code_bpcpeq_product_prefix_choice_valuation_selected_power bpr_power_scale_bpcpeq_product_prefix_choice_valuation_selected_power. ((forall bpr_power_index_bpcpeq_product_prefix_choice_valuation_selected_power. (exists bpr_gap_bpcpeq_product_prefix_choice_valuation_selected_power_repeat_bound. bpr_gap_bpcpeq_product_prefix_choice_valuation_selected_power_repeat_bound + S (bpr_power_index_bpcpeq_product_prefix_choice_valuation_selected_power) = bpr_choice_exponent_bpcpeq_product_prefix_choice) -> (((exists bpr_height_bpcpeq_product_prefix_choice_valuation_selected_power_repeat_entry. bpr_height_bpcpeq_product_prefix_choice_valuation_selected_power_repeat_entry + S (S (bpr_prefix_index_bpcpeq_product_prefix)) = S ((S (bpr_power_index_bpcpeq_product_prefix_choice_valuation_selected_power)) * bpr_power_scale_bpcpeq_product_prefix_choice_valuation_selected_power)) /\ exists bpr_quotient_bpcpeq_product_prefix_choice_valuation_selected_power_repeat_entry. bpr_power_code_bpcpeq_product_prefix_choice_valuation_selected_power = bpr_quotient_bpcpeq_product_prefix_choice_valuation_selected_power_repeat_entry * S ((S (bpr_power_index_bpcpeq_product_prefix_choice_valuation_selected_power)) * bpr_power_scale_bpcpeq_product_prefix_choice_valuation_selected_power) + (S (bpr_prefix_index_bpcpeq_product_prefix))))) /\ (exists ff_u_bpcpeq_product_prefix_choice_valuation_selected_power_product ff_v_bpcpeq_product_prefix_choice_valuation_selected_power_product. ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_start. ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpcpeq_product_prefix_choice_valuation_selected_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_start. ff_u_bpcpeq_product_prefix_choice_valuation_selected_power_product = ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_start * S ((S (0)) * ff_v_bpcpeq_product_prefix_choice_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_terminal. ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_terminal + S (bpr_power_value_bpcpeq_product_prefix_choice_valuation_selected) = S ((S (bpr_choice_exponent_bpcpeq_product_prefix_choice)) * ff_v_bpcpeq_product_prefix_choice_valuation_selected_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_terminal. ff_u_bpcpeq_product_prefix_choice_valuation_selected_power_product = ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_terminal * S ((S (bpr_choice_exponent_bpcpeq_product_prefix_choice)) * ff_v_bpcpeq_product_prefix_choice_valuation_selected_power_product) + (bpr_power_value_bpcpeq_product_prefix_choice_valuation_selected))) /\ forall ff_i_bpcpeq_product_prefix_choice_valuation_selected_power_product. (exists ff_lt_bpcpeq_product_prefix_choice_valuation_selected_power_product_bound. ff_lt_bpcpeq_product_prefix_choice_valuation_selected_power_product_bound + S ff_i_bpcpeq_product_prefix_choice_valuation_selected_power_product = bpr_choice_exponent_bpcpeq_product_prefix_choice) -> exists ff_p_bpcpeq_product_prefix_choice_valuation_selected_power_product ff_r_bpcpeq_product_prefix_choice_valuation_selected_power_product ff_s_bpcpeq_product_prefix_choice_valuation_selected_power_product. ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_factor. ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_factor + S (ff_p_bpcpeq_product_prefix_choice_valuation_selected_power_product) = S ((S (ff_i_bpcpeq_product_prefix_choice_valuation_selected_power_product)) * bpr_power_scale_bpcpeq_product_prefix_choice_valuation_selected_power)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_factor. bpr_power_code_bpcpeq_product_prefix_choice_valuation_selected_power = ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_factor * S ((S (ff_i_bpcpeq_product_prefix_choice_valuation_selected_power_product)) * bpr_power_scale_bpcpeq_product_prefix_choice_valuation_selected_power) + (ff_p_bpcpeq_product_prefix_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_partial. ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_partial + S (ff_r_bpcpeq_product_prefix_choice_valuation_selected_power_product) = S ((S (ff_i_bpcpeq_product_prefix_choice_valuation_selected_power_product)) * ff_v_bpcpeq_product_prefix_choice_valuation_selected_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_partial. ff_u_bpcpeq_product_prefix_choice_valuation_selected_power_product = ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_partial * S ((S (ff_i_bpcpeq_product_prefix_choice_valuation_selected_power_product)) * ff_v_bpcpeq_product_prefix_choice_valuation_selected_power_product) + (ff_r_bpcpeq_product_prefix_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_successor. ff_h_bpcpeq_product_prefix_choice_valuation_selected_power_product_successor + S (ff_s_bpcpeq_product_prefix_choice_valuation_selected_power_product) = S ((S (S ff_i_bpcpeq_product_prefix_choice_valuation_selected_power_product)) * ff_v_bpcpeq_product_prefix_choice_valuation_selected_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_successor. ff_u_bpcpeq_product_prefix_choice_valuation_selected_power_product = ff_q_bpcpeq_product_prefix_choice_valuation_selected_power_product_successor * S ((S (S ff_i_bpcpeq_product_prefix_choice_valuation_selected_power_product)) * ff_v_bpcpeq_product_prefix_choice_valuation_selected_power_product) + (ff_s_bpcpeq_product_prefix_choice_valuation_selected_power_product))) /\ ff_s_bpcpeq_product_prefix_choice_valuation_selected_power_product = ff_r_bpcpeq_product_prefix_choice_valuation_selected_power_product * ff_p_bpcpeq_product_prefix_choice_valuation_selected_power_product)))))))) /\ (exists bpr_divides_quotient_bpcpeq_product_prefix_choice_valuation_selected_divides. n = (bpr_power_value_bpcpeq_product_prefix_choice_valuation_selected) * bpr_divides_quotient_bpcpeq_product_prefix_choice_valuation_selected_divides)))) /\ forall bpr_valuation_candidate_bpcpeq_product_prefix_choice_valuation. (exists bpr_le_gap_bpcpeq_product_prefix_choice_valuation_candidate_bound. bpr_le_gap_bpcpeq_product_prefix_choice_valuation_candidate_bound + (bpr_valuation_candidate_bpcpeq_product_prefix_choice_valuation) = (n)) -> (exists bpr_power_value_bpcpeq_product_prefix_choice_valuation_candidate. ((exists bpr_power_code_bpcpeq_product_prefix_choice_valuation_candidate_power bpr_power_scale_bpcpeq_product_prefix_choice_valuation_candidate_power. ((forall bpr_power_index_bpcpeq_product_prefix_choice_valuation_candidate_power. (exists bpr_gap_bpcpeq_product_prefix_choice_valuation_candidate_power_repeat_bound. bpr_gap_bpcpeq_product_prefix_choice_valuation_candidate_power_repeat_bound + S (bpr_power_index_bpcpeq_product_prefix_choice_valuation_candidate_power) = bpr_valuation_candidate_bpcpeq_product_prefix_choice_valuation) -> (((exists bpr_height_bpcpeq_product_prefix_choice_valuation_candidate_power_repeat_entry. bpr_height_bpcpeq_product_prefix_choice_valuation_candidate_power_repeat_entry + S (S (bpr_prefix_index_bpcpeq_product_prefix)) = S ((S (bpr_power_index_bpcpeq_product_prefix_choice_valuation_candidate_power)) * bpr_power_scale_bpcpeq_product_prefix_choice_valuation_candidate_power)) /\ exists bpr_quotient_bpcpeq_product_prefix_choice_valuation_candidate_power_repeat_entry. bpr_power_code_bpcpeq_product_prefix_choice_valuation_candidate_power = bpr_quotient_bpcpeq_product_prefix_choice_valuation_candidate_power_repeat_entry * S ((S (bpr_power_index_bpcpeq_product_prefix_choice_valuation_candidate_power)) * bpr_power_scale_bpcpeq_product_prefix_choice_valuation_candidate_power) + (S (bpr_prefix_index_bpcpeq_product_prefix))))) /\ (exists ff_u_bpcpeq_product_prefix_choice_valuation_candidate_power_product ff_v_bpcpeq_product_prefix_choice_valuation_candidate_power_product. ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_start. ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_start. ff_u_bpcpeq_product_prefix_choice_valuation_candidate_power_product = ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bpcpeq_product_prefix_choice_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_terminal. ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_terminal + S (bpr_power_value_bpcpeq_product_prefix_choice_valuation_candidate) = S ((S (bpr_valuation_candidate_bpcpeq_product_prefix_choice_valuation)) * ff_v_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_terminal. ff_u_bpcpeq_product_prefix_choice_valuation_candidate_power_product = ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_terminal * S ((S (bpr_valuation_candidate_bpcpeq_product_prefix_choice_valuation)) * ff_v_bpcpeq_product_prefix_choice_valuation_candidate_power_product) + (bpr_power_value_bpcpeq_product_prefix_choice_valuation_candidate))) /\ forall ff_i_bpcpeq_product_prefix_choice_valuation_candidate_power_product. (exists ff_lt_bpcpeq_product_prefix_choice_valuation_candidate_power_product_bound. ff_lt_bpcpeq_product_prefix_choice_valuation_candidate_power_product_bound + S ff_i_bpcpeq_product_prefix_choice_valuation_candidate_power_product = bpr_valuation_candidate_bpcpeq_product_prefix_choice_valuation) -> exists ff_p_bpcpeq_product_prefix_choice_valuation_candidate_power_product ff_r_bpcpeq_product_prefix_choice_valuation_candidate_power_product ff_s_bpcpeq_product_prefix_choice_valuation_candidate_power_product. ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_factor. ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_factor + S (ff_p_bpcpeq_product_prefix_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcpeq_product_prefix_choice_valuation_candidate_power)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_factor. bpr_power_code_bpcpeq_product_prefix_choice_valuation_candidate_power = ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_factor * S ((S (ff_i_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcpeq_product_prefix_choice_valuation_candidate_power) + (ff_p_bpcpeq_product_prefix_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_partial. ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_partial + S (ff_r_bpcpeq_product_prefix_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) * ff_v_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_partial. ff_u_bpcpeq_product_prefix_choice_valuation_candidate_power_product = ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_partial * S ((S (ff_i_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) * ff_v_bpcpeq_product_prefix_choice_valuation_candidate_power_product) + (ff_r_bpcpeq_product_prefix_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_successor. ff_h_bpcpeq_product_prefix_choice_valuation_candidate_power_product_successor + S (ff_s_bpcpeq_product_prefix_choice_valuation_candidate_power_product) = S ((S (S ff_i_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) * ff_v_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_successor. ff_u_bpcpeq_product_prefix_choice_valuation_candidate_power_product = ff_q_bpcpeq_product_prefix_choice_valuation_candidate_power_product_successor * S ((S (S ff_i_bpcpeq_product_prefix_choice_valuation_candidate_power_product)) * ff_v_bpcpeq_product_prefix_choice_valuation_candidate_power_product) + (ff_s_bpcpeq_product_prefix_choice_valuation_candidate_power_product))) /\ ff_s_bpcpeq_product_prefix_choice_valuation_candidate_power_product = ff_r_bpcpeq_product_prefix_choice_valuation_candidate_power_product * ff_p_bpcpeq_product_prefix_choice_valuation_candidate_power_product)))))))) /\ (exists bpr_divides_quotient_bpcpeq_product_prefix_choice_valuation_candidate_divides. n = (bpr_power_value_bpcpeq_product_prefix_choice_valuation_candidate) * bpr_divides_quotient_bpcpeq_product_prefix_choice_valuation_candidate_divides))) -> (exists bpr_le_gap_bpcpeq_product_prefix_choice_valuation_candidate_below. bpr_le_gap_bpcpeq_product_prefix_choice_valuation_candidate_below + (bpr_valuation_candidate_bpcpeq_product_prefix_choice_valuation) = (bpr_choice_exponent_bpcpeq_product_prefix_choice))) /\ (exists bpr_power_code_bpcpeq_product_prefix_choice_power bpr_power_scale_bpcpeq_product_prefix_choice_power. ((forall bpr_power_index_bpcpeq_product_prefix_choice_power. (exists bpr_gap_bpcpeq_product_prefix_choice_power_repeat_bound. bpr_gap_bpcpeq_product_prefix_choice_power_repeat_bound + S (bpr_power_index_bpcpeq_product_prefix_choice_power) = bpr_choice_exponent_bpcpeq_product_prefix_choice) -> (((exists bpr_height_bpcpeq_product_prefix_choice_power_repeat_entry. bpr_height_bpcpeq_product_prefix_choice_power_repeat_entry + S (S (bpr_prefix_index_bpcpeq_product_prefix)) = S ((S (bpr_power_index_bpcpeq_product_prefix_choice_power)) * bpr_power_scale_bpcpeq_product_prefix_choice_power)) /\ exists bpr_quotient_bpcpeq_product_prefix_choice_power_repeat_entry. bpr_power_code_bpcpeq_product_prefix_choice_power = bpr_quotient_bpcpeq_product_prefix_choice_power_repeat_entry * S ((S (bpr_power_index_bpcpeq_product_prefix_choice_power)) * bpr_power_scale_bpcpeq_product_prefix_choice_power) + (S (bpr_prefix_index_bpcpeq_product_prefix))))) /\ (exists ff_u_bpcpeq_product_prefix_choice_power_product ff_v_bpcpeq_product_prefix_choice_power_product. ((((exists ff_h_bpcpeq_product_prefix_choice_power_product_start. ff_h_bpcpeq_product_prefix_choice_power_product_start + S (1) = S ((S (0)) * ff_v_bpcpeq_product_prefix_choice_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_power_product_start. ff_u_bpcpeq_product_prefix_choice_power_product = ff_q_bpcpeq_product_prefix_choice_power_product_start * S ((S (0)) * ff_v_bpcpeq_product_prefix_choice_power_product) + (1))) /\ ((((exists ff_h_bpcpeq_product_prefix_choice_power_product_terminal. ff_h_bpcpeq_product_prefix_choice_power_product_terminal + S (bpr_prefix_value_bpcpeq_product_prefix) = S ((S (bpr_choice_exponent_bpcpeq_product_prefix_choice)) * ff_v_bpcpeq_product_prefix_choice_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_power_product_terminal. ff_u_bpcpeq_product_prefix_choice_power_product = ff_q_bpcpeq_product_prefix_choice_power_product_terminal * S ((S (bpr_choice_exponent_bpcpeq_product_prefix_choice)) * ff_v_bpcpeq_product_prefix_choice_power_product) + (bpr_prefix_value_bpcpeq_product_prefix))) /\ forall ff_i_bpcpeq_product_prefix_choice_power_product. (exists ff_lt_bpcpeq_product_prefix_choice_power_product_bound. ff_lt_bpcpeq_product_prefix_choice_power_product_bound + S ff_i_bpcpeq_product_prefix_choice_power_product = bpr_choice_exponent_bpcpeq_product_prefix_choice) -> exists ff_p_bpcpeq_product_prefix_choice_power_product ff_r_bpcpeq_product_prefix_choice_power_product ff_s_bpcpeq_product_prefix_choice_power_product. ((((exists ff_h_bpcpeq_product_prefix_choice_power_product_factor. ff_h_bpcpeq_product_prefix_choice_power_product_factor + S (ff_p_bpcpeq_product_prefix_choice_power_product) = S ((S (ff_i_bpcpeq_product_prefix_choice_power_product)) * bpr_power_scale_bpcpeq_product_prefix_choice_power)) /\ exists ff_q_bpcpeq_product_prefix_choice_power_product_factor. bpr_power_code_bpcpeq_product_prefix_choice_power = ff_q_bpcpeq_product_prefix_choice_power_product_factor * S ((S (ff_i_bpcpeq_product_prefix_choice_power_product)) * bpr_power_scale_bpcpeq_product_prefix_choice_power) + (ff_p_bpcpeq_product_prefix_choice_power_product))) /\ ((((exists ff_h_bpcpeq_product_prefix_choice_power_product_partial. ff_h_bpcpeq_product_prefix_choice_power_product_partial + S (ff_r_bpcpeq_product_prefix_choice_power_product) = S ((S (ff_i_bpcpeq_product_prefix_choice_power_product)) * ff_v_bpcpeq_product_prefix_choice_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_power_product_partial. ff_u_bpcpeq_product_prefix_choice_power_product = ff_q_bpcpeq_product_prefix_choice_power_product_partial * S ((S (ff_i_bpcpeq_product_prefix_choice_power_product)) * ff_v_bpcpeq_product_prefix_choice_power_product) + (ff_r_bpcpeq_product_prefix_choice_power_product))) /\ ((((exists ff_h_bpcpeq_product_prefix_choice_power_product_successor. ff_h_bpcpeq_product_prefix_choice_power_product_successor + S (ff_s_bpcpeq_product_prefix_choice_power_product) = S ((S (S ff_i_bpcpeq_product_prefix_choice_power_product)) * ff_v_bpcpeq_product_prefix_choice_power_product)) /\ exists ff_q_bpcpeq_product_prefix_choice_power_product_successor. ff_u_bpcpeq_product_prefix_choice_power_product = ff_q_bpcpeq_product_prefix_choice_power_product_successor * S ((S (S ff_i_bpcpeq_product_prefix_choice_power_product)) * ff_v_bpcpeq_product_prefix_choice_power_product) + (ff_s_bpcpeq_product_prefix_choice_power_product))) /\ ff_s_bpcpeq_product_prefix_choice_power_product = ff_r_bpcpeq_product_prefix_choice_power_product * ff_p_bpcpeq_product_prefix_choice_power_product)))))))))) \/ (~((~(S (bpr_prefix_index_bpcpeq_product_prefix) = 1) /\ forall bpr_left_bpcpeq_product_prefix_choice_prime bpr_right_bpcpeq_product_prefix_choice_prime. S (bpr_prefix_index_bpcpeq_product_prefix) = bpr_left_bpcpeq_product_prefix_choice_prime * bpr_right_bpcpeq_product_prefix_choice_prime -> bpr_left_bpcpeq_product_prefix_choice_prime = 1 \/ bpr_right_bpcpeq_product_prefix_choice_prime = 1)) /\ bpr_prefix_value_bpcpeq_product_prefix = 1))))) /\ (exists ff_u_bpcpeq_product_product ff_v_bpcpeq_product_product. ((((exists ff_h_bpcpeq_product_product_start. ff_h_bpcpeq_product_product_start + S (1) = S ((S (0)) * ff_v_bpcpeq_product_product)) /\ exists ff_q_bpcpeq_product_product_start. ff_u_bpcpeq_product_product = ff_q_bpcpeq_product_product_start * S ((S (0)) * ff_v_bpcpeq_product_product) + (1))) /\ ((((exists ff_h_bpcpeq_product_product_terminal. ff_h_bpcpeq_product_product_terminal + S (z) = S ((S (m)) * ff_v_bpcpeq_product_product)) /\ exists ff_q_bpcpeq_product_product_terminal. ff_u_bpcpeq_product_product = ff_q_bpcpeq_product_product_terminal * S ((S (m)) * ff_v_bpcpeq_product_product) + (z))) /\ forall ff_i_bpcpeq_product_product. (exists ff_lt_bpcpeq_product_product_bound. ff_lt_bpcpeq_product_product_bound + S ff_i_bpcpeq_product_product = m) -> exists ff_p_bpcpeq_product_product ff_r_bpcpeq_product_product ff_s_bpcpeq_product_product. ((((exists ff_h_bpcpeq_product_product_factor. ff_h_bpcpeq_product_product_factor + S (ff_p_bpcpeq_product_product) = S ((S (ff_i_bpcpeq_product_product)) * bpr_product_scale_bpcpeq_product)) /\ exists ff_q_bpcpeq_product_product_factor. bpr_product_code_bpcpeq_product = ff_q_bpcpeq_product_product_factor * S ((S (ff_i_bpcpeq_product_product)) * bpr_product_scale_bpcpeq_product) + (ff_p_bpcpeq_product_product))) /\ ((((exists ff_h_bpcpeq_product_product_partial. ff_h_bpcpeq_product_product_partial + S (ff_r_bpcpeq_product_product) = S ((S (ff_i_bpcpeq_product_product)) * ff_v_bpcpeq_product_product)) /\ exists ff_q_bpcpeq_product_product_partial. ff_u_bpcpeq_product_product = ff_q_bpcpeq_product_product_partial * S ((S (ff_i_bpcpeq_product_product)) * ff_v_bpcpeq_product_product) + (ff_r_bpcpeq_product_product))) /\ ((((exists ff_h_bpcpeq_product_product_successor. ff_h_bpcpeq_product_product_successor + S (ff_s_bpcpeq_product_product) = S ((S (S ff_i_bpcpeq_product_product)) * ff_v_bpcpeq_product_product)) /\ exists ff_q_bpcpeq_product_product_successor. ff_u_bpcpeq_product_product = ff_q_bpcpeq_product_product_successor * S ((S (S ff_i_bpcpeq_product_product)) * ff_v_bpcpeq_product_product) + (ff_s_bpcpeq_product_product))) /\ ff_s_bpcpeq_product_product = ff_r_bpcpeq_product_product * ff_p_bpcpeq_product_product)))))))) -> n = z

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 · 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–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 hreverseL7–11

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

  1. L7
    have hreverse : Dvd(n,z)Definitions: Dvd(n,z)Original native command in the exact edition
  2. L8
    apply prime_contribution_reverse_divides
  3. L9
    exact hn
  4. L10
    exact hsupport
  5. L11
    exact hproduct
03Establish hforwardL12–19

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

  1. L12
    have hforward : Dvd(z,n)Definitions: Dvd(z,n)Original native command in the exact edition
  2. L13
    apply prime_contribution_product_divides
  3. L14
    exact hproduct
  4. L15
    specialize multiple_antisymm n
  5. L16
    specialize multiple_antisymm z
  6. L17
    apply multiple_antisymm
  7. L18
    exact hreverse
  8. L19
    exact hforward

Library-wide reading audit

Original defined command ledger · 19 lines
  1. 0001intro n
  2. 0002intro m
  3. 0003intro z
  4. 0004intro hn
  5. 0005intro hsupport
  6. 0006intro hproduct
  7. 0007have hreverse : Dvd(n,z)
    Exact native replay linehave hreverse : exists bpr_divides_quotient_bpcpeq_reverse. z = (n) * bpr_divides_quotient_bpcpeq_reverse
  8. 0008apply prime_contribution_reverse_divides
  9. 0009exact hn
  10. 0010exact hsupport
  11. 0011exact hproduct
  12. 0012have hforward : Dvd(z,n)
    Exact native replay linehave hforward : exists bpr_divides_quotient_bpcpeq_forward. n = (z) * bpr_divides_quotient_bpcpeq_forward
  13. 0013apply prime_contribution_product_divides
  14. 0014exact hproduct
  15. 0015specialize multiple_antisymm n
  16. 0016specialize multiple_antisymm z
  17. 0017apply multiple_antisymm
  18. 0018exact hreverse
  19. 0019exact hforward