BT00YK · Bertrand theorem

no_bertrand_central_nonzero_valuation_factor_ranges

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

The middle live range has exact valuation exponent one.

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. ∀ s. ∀ q. ∀ r. ∀ C. ∀ p. ∀ v. (∀ x. Lt(n,x)Le(x,n + n) → ¬Prime(x)) → Prime(p)Lt(2,n)FloorSqrt(n + n,s)DivRem(n + n,3,q,r)CentralBinom(n,C)PowerValuation(p,C,v) → ¬v = 0 → Le(p,s)Lt(s,p)Le(p,q) ∧ v = 1

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

12 occurrences

In local proof propositions

5 occurrences

Exact expanded native-PA statement
forall n s q r C p v. (forall bpr_prime_candidate_bnbcnvlr_exclusion. ((exists bpr_gap_bnbcnvlr_exclusion_lower. bpr_gap_bnbcnvlr_exclusion_lower + S (n) = bpr_prime_candidate_bnbcnvlr_exclusion) /\ (exists bpr_le_gap_bnbcnvlr_exclusion_upper. bpr_le_gap_bnbcnvlr_exclusion_upper + (bpr_prime_candidate_bnbcnvlr_exclusion) = (n + n))) -> ~((~(bpr_prime_candidate_bnbcnvlr_exclusion = 1) /\ forall bpr_left_bnbcnvlr_exclusion_prime bpr_right_bnbcnvlr_exclusion_prime. bpr_prime_candidate_bnbcnvlr_exclusion = bpr_left_bnbcnvlr_exclusion_prime * bpr_right_bnbcnvlr_exclusion_prime -> bpr_left_bnbcnvlr_exclusion_prime = 1 \/ bpr_right_bnbcnvlr_exclusion_prime = 1))) -> ((~(p = 1) /\ forall frm_prime_left_bnbcnvlr_prime frm_prime_right_bnbcnvlr_prime. p = frm_prime_left_bnbcnvlr_prime * frm_prime_right_bnbcnvlr_prime -> frm_prime_left_bnbcnvlr_prime = 1 \/ frm_prime_right_bnbcnvlr_prime = 1)) -> (exists bcf_lt_gap_bnbcnvlr_positive. bcf_lt_gap_bnbcnvlr_positive + S (2) = n) -> (((exists bcs_sqrt_lower_gap_bnbcnvfr_floor. bcs_sqrt_lower_gap_bnbcnvfr_floor + (s) * (s) = (n + n)) /\ exists bcs_sqrt_upper_gap_bnbcnvfr_floor. bcs_sqrt_upper_gap_bnbcnvfr_floor + S (n + n) = S (s) * S (s))) -> (((n + n) = (3) * (q) + (r) /\ (exists bcf_lt_gap_bnbcnvlr_division_bound. bcf_lt_gap_bnbcnvlr_division_bound + S (r) = 3))) -> (((exists bcf_lt_gap_bnbcnvlr_central_out_of_range. bcf_lt_gap_bnbcnvlr_central_out_of_range + S (n + n) = n) /\ C = 0) \/ ((exists bcf_le_gap_bnbcnvlr_central_in_range. bcf_le_gap_bnbcnvlr_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bnbcnvlr_central bcf_row_code_scale_bnbcnvlr_central bcf_row_scale_code_bnbcnvlr_central bcf_row_scale_scale_bnbcnvlr_central bcf_row_code_bnbcnvlr_central bcf_row_scale_bnbcnvlr_central. ((forall bcf_row_index_bnbcnvlr_central_table. (exists bcf_lt_gap_bnbcnvlr_central_table_row_bound. bcf_lt_gap_bnbcnvlr_central_table_row_bound + S (bcf_row_index_bnbcnvlr_central_table) = S (n + n)) -> exists bcf_row_code_bnbcnvlr_central_table bcf_row_scale_bnbcnvlr_central_table. ((((exists bcf_height_bnbcnvlr_central_table_decoded_row_code. bcf_height_bnbcnvlr_central_table_decoded_row_code + S (bcf_row_code_bnbcnvlr_central_table) = S ((S (bcf_row_index_bnbcnvlr_central_table)) * bcf_row_code_scale_bnbcnvlr_central)) /\ exists bcf_quotient_bnbcnvlr_central_table_decoded_row_code. bcf_row_code_code_bnbcnvlr_central = bcf_quotient_bnbcnvlr_central_table_decoded_row_code * S ((S (bcf_row_index_bnbcnvlr_central_table)) * bcf_row_code_scale_bnbcnvlr_central) + (bcf_row_code_bnbcnvlr_central_table))) /\ ((((exists bcf_height_bnbcnvlr_central_table_decoded_row_scale. bcf_height_bnbcnvlr_central_table_decoded_row_scale + S (bcf_row_scale_bnbcnvlr_central_table) = S ((S (bcf_row_index_bnbcnvlr_central_table)) * bcf_row_scale_scale_bnbcnvlr_central)) /\ exists bcf_quotient_bnbcnvlr_central_table_decoded_row_scale. bcf_row_scale_code_bnbcnvlr_central = bcf_quotient_bnbcnvlr_central_table_decoded_row_scale * S ((S (bcf_row_index_bnbcnvlr_central_table)) * bcf_row_scale_scale_bnbcnvlr_central) + (bcf_row_scale_bnbcnvlr_central_table))) /\ ((bcf_row_index_bnbcnvlr_central_table = 0 /\ (forall bcf_index_bnbcnvlr_central_table_zero_row. (exists bcf_lt_gap_bnbcnvlr_central_table_zero_row_bound. bcf_lt_gap_bnbcnvlr_central_table_zero_row_bound + S (bcf_index_bnbcnvlr_central_table_zero_row) = S (n + n)) -> exists bcf_value_bnbcnvlr_central_table_zero_row. ((((exists bcf_height_bnbcnvlr_central_table_zero_row_entry. bcf_height_bnbcnvlr_central_table_zero_row_entry + S (bcf_value_bnbcnvlr_central_table_zero_row) = S ((S (bcf_index_bnbcnvlr_central_table_zero_row)) * bcf_row_scale_bnbcnvlr_central_table)) /\ exists bcf_quotient_bnbcnvlr_central_table_zero_row_entry. bcf_row_code_bnbcnvlr_central_table = bcf_quotient_bnbcnvlr_central_table_zero_row_entry * S ((S (bcf_index_bnbcnvlr_central_table_zero_row)) * bcf_row_scale_bnbcnvlr_central_table) + (bcf_value_bnbcnvlr_central_table_zero_row))) /\ ((bcf_index_bnbcnvlr_central_table_zero_row = 0 /\ bcf_value_bnbcnvlr_central_table_zero_row = 1) \/ exists bcf_predecessor_bnbcnvlr_central_table_zero_row. bcf_index_bnbcnvlr_central_table_zero_row = S bcf_predecessor_bnbcnvlr_central_table_zero_row /\ bcf_value_bnbcnvlr_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bnbcnvlr_central_table bcf_previous_code_bnbcnvlr_central_table bcf_previous_scale_bnbcnvlr_central_table. bcf_row_index_bnbcnvlr_central_table = S bcf_predecessor_bnbcnvlr_central_table /\ ((((exists bcf_height_bnbcnvlr_central_table_decoded_previous_code. bcf_height_bnbcnvlr_central_table_decoded_previous_code + S (bcf_previous_code_bnbcnvlr_central_table) = S ((S (bcf_predecessor_bnbcnvlr_central_table)) * bcf_row_code_scale_bnbcnvlr_central)) /\ exists bcf_quotient_bnbcnvlr_central_table_decoded_previous_code. bcf_row_code_code_bnbcnvlr_central = bcf_quotient_bnbcnvlr_central_table_decoded_previous_code * S ((S (bcf_predecessor_bnbcnvlr_central_table)) * bcf_row_code_scale_bnbcnvlr_central) + (bcf_previous_code_bnbcnvlr_central_table))) /\ ((((exists bcf_height_bnbcnvlr_central_table_decoded_previous_scale. bcf_height_bnbcnvlr_central_table_decoded_previous_scale + S (bcf_previous_scale_bnbcnvlr_central_table) = S ((S (bcf_predecessor_bnbcnvlr_central_table)) * bcf_row_scale_scale_bnbcnvlr_central)) /\ exists bcf_quotient_bnbcnvlr_central_table_decoded_previous_scale. bcf_row_scale_code_bnbcnvlr_central = bcf_quotient_bnbcnvlr_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bnbcnvlr_central_table)) * bcf_row_scale_scale_bnbcnvlr_central) + (bcf_previous_scale_bnbcnvlr_central_table))) /\ (forall bcf_index_bnbcnvlr_central_table_row_step. (exists bcf_lt_gap_bnbcnvlr_central_table_row_step_bound. bcf_lt_gap_bnbcnvlr_central_table_row_step_bound + S (bcf_index_bnbcnvlr_central_table_row_step) = S (n + n)) -> exists bcf_value_bnbcnvlr_central_table_row_step. ((((exists bcf_height_bnbcnvlr_central_table_row_step_entry. bcf_height_bnbcnvlr_central_table_row_step_entry + S (bcf_value_bnbcnvlr_central_table_row_step) = S ((S (bcf_index_bnbcnvlr_central_table_row_step)) * bcf_row_scale_bnbcnvlr_central_table)) /\ exists bcf_quotient_bnbcnvlr_central_table_row_step_entry. bcf_row_code_bnbcnvlr_central_table = bcf_quotient_bnbcnvlr_central_table_row_step_entry * S ((S (bcf_index_bnbcnvlr_central_table_row_step)) * bcf_row_scale_bnbcnvlr_central_table) + (bcf_value_bnbcnvlr_central_table_row_step))) /\ ((bcf_index_bnbcnvlr_central_table_row_step = 0 /\ bcf_value_bnbcnvlr_central_table_row_step = 1) \/ exists bcf_predecessor_bnbcnvlr_central_table_row_step bcf_left_bnbcnvlr_central_table_row_step bcf_right_bnbcnvlr_central_table_row_step. bcf_index_bnbcnvlr_central_table_row_step = S bcf_predecessor_bnbcnvlr_central_table_row_step /\ ((((exists bcf_height_bnbcnvlr_central_table_row_step_previous_left. bcf_height_bnbcnvlr_central_table_row_step_previous_left + S (bcf_left_bnbcnvlr_central_table_row_step) = S ((S (bcf_predecessor_bnbcnvlr_central_table_row_step)) * bcf_previous_scale_bnbcnvlr_central_table)) /\ exists bcf_quotient_bnbcnvlr_central_table_row_step_previous_left. bcf_previous_code_bnbcnvlr_central_table = bcf_quotient_bnbcnvlr_central_table_row_step_previous_left * S ((S (bcf_predecessor_bnbcnvlr_central_table_row_step)) * bcf_previous_scale_bnbcnvlr_central_table) + (bcf_left_bnbcnvlr_central_table_row_step))) /\ ((((exists bcf_height_bnbcnvlr_central_table_row_step_previous_right. bcf_height_bnbcnvlr_central_table_row_step_previous_right + S (bcf_right_bnbcnvlr_central_table_row_step) = S ((S (S (bcf_predecessor_bnbcnvlr_central_table_row_step))) * bcf_previous_scale_bnbcnvlr_central_table)) /\ exists bcf_quotient_bnbcnvlr_central_table_row_step_previous_right. bcf_previous_code_bnbcnvlr_central_table = bcf_quotient_bnbcnvlr_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bnbcnvlr_central_table_row_step))) * bcf_previous_scale_bnbcnvlr_central_table) + (bcf_right_bnbcnvlr_central_table_row_step))) /\ bcf_value_bnbcnvlr_central_table_row_step = bcf_left_bnbcnvlr_central_table_row_step + bcf_right_bnbcnvlr_central_table_row_step))))))))))) /\ ((((exists bcf_height_bnbcnvlr_central_decoded_row_code. bcf_height_bnbcnvlr_central_decoded_row_code + S (bcf_row_code_bnbcnvlr_central) = S ((S (n + n)) * bcf_row_code_scale_bnbcnvlr_central)) /\ exists bcf_quotient_bnbcnvlr_central_decoded_row_code. bcf_row_code_code_bnbcnvlr_central = bcf_quotient_bnbcnvlr_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bnbcnvlr_central) + (bcf_row_code_bnbcnvlr_central))) /\ ((((exists bcf_height_bnbcnvlr_central_decoded_row_scale. bcf_height_bnbcnvlr_central_decoded_row_scale + S (bcf_row_scale_bnbcnvlr_central) = S ((S (n + n)) * bcf_row_scale_scale_bnbcnvlr_central)) /\ exists bcf_quotient_bnbcnvlr_central_decoded_row_scale. bcf_row_scale_code_bnbcnvlr_central = bcf_quotient_bnbcnvlr_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bnbcnvlr_central) + (bcf_row_scale_bnbcnvlr_central))) /\ (((exists bcf_height_bnbcnvlr_central_decoded_value. bcf_height_bnbcnvlr_central_decoded_value + S (C) = S ((S (n)) * bcf_row_scale_bnbcnvlr_central)) /\ exists bcf_quotient_bnbcnvlr_central_decoded_value. bcf_row_code_bnbcnvlr_central = bcf_quotient_bnbcnvlr_central_decoded_value * S ((S (n)) * bcf_row_scale_bnbcnvlr_central) + (C))))))))) -> (((exists bpv_gap_bnbcnvlr_valuation_exponent_bound. bpv_gap_bnbcnvlr_valuation_exponent_bound + v = C) /\ (exists bpv_result_bnbcnvlr_valuation_selected. ((exists ff_b_bnbcnvlr_valuation_selected_power ff_c_bnbcnvlr_valuation_selected_power. ((forall ff_i_bnbcnvlr_valuation_selected_power_repeat. (exists ff_lt_bnbcnvlr_valuation_selected_power_repeat_bound. ff_lt_bnbcnvlr_valuation_selected_power_repeat_bound + S ff_i_bnbcnvlr_valuation_selected_power_repeat = v) -> (((exists ff_h_bnbcnvlr_valuation_selected_power_repeat_decoded. ff_h_bnbcnvlr_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bnbcnvlr_valuation_selected_power_repeat)) * ff_c_bnbcnvlr_valuation_selected_power)) /\ exists ff_q_bnbcnvlr_valuation_selected_power_repeat_decoded. ff_b_bnbcnvlr_valuation_selected_power = ff_q_bnbcnvlr_valuation_selected_power_repeat_decoded * S ((S (ff_i_bnbcnvlr_valuation_selected_power_repeat)) * ff_c_bnbcnvlr_valuation_selected_power) + (p)))) /\ (exists ff_u_bnbcnvlr_valuation_selected_power_product ff_v_bnbcnvlr_valuation_selected_power_product. ((((exists ff_h_bnbcnvlr_valuation_selected_power_product_start. ff_h_bnbcnvlr_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bnbcnvlr_valuation_selected_power_product)) /\ exists ff_q_bnbcnvlr_valuation_selected_power_product_start. ff_u_bnbcnvlr_valuation_selected_power_product = ff_q_bnbcnvlr_valuation_selected_power_product_start * S ((S (0)) * ff_v_bnbcnvlr_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bnbcnvlr_valuation_selected_power_product_terminal. ff_h_bnbcnvlr_valuation_selected_power_product_terminal + S (bpv_result_bnbcnvlr_valuation_selected) = S ((S (v)) * ff_v_bnbcnvlr_valuation_selected_power_product)) /\ exists ff_q_bnbcnvlr_valuation_selected_power_product_terminal. ff_u_bnbcnvlr_valuation_selected_power_product = ff_q_bnbcnvlr_valuation_selected_power_product_terminal * S ((S (v)) * ff_v_bnbcnvlr_valuation_selected_power_product) + (bpv_result_bnbcnvlr_valuation_selected))) /\ forall ff_i_bnbcnvlr_valuation_selected_power_product. (exists ff_lt_bnbcnvlr_valuation_selected_power_product_bound. ff_lt_bnbcnvlr_valuation_selected_power_product_bound + S ff_i_bnbcnvlr_valuation_selected_power_product = v) -> exists ff_p_bnbcnvlr_valuation_selected_power_product ff_r_bnbcnvlr_valuation_selected_power_product ff_s_bnbcnvlr_valuation_selected_power_product. ((((exists ff_h_bnbcnvlr_valuation_selected_power_product_factor. ff_h_bnbcnvlr_valuation_selected_power_product_factor + S (ff_p_bnbcnvlr_valuation_selected_power_product) = S ((S (ff_i_bnbcnvlr_valuation_selected_power_product)) * ff_c_bnbcnvlr_valuation_selected_power)) /\ exists ff_q_bnbcnvlr_valuation_selected_power_product_factor. ff_b_bnbcnvlr_valuation_selected_power = ff_q_bnbcnvlr_valuation_selected_power_product_factor * S ((S (ff_i_bnbcnvlr_valuation_selected_power_product)) * ff_c_bnbcnvlr_valuation_selected_power) + (ff_p_bnbcnvlr_valuation_selected_power_product))) /\ ((((exists ff_h_bnbcnvlr_valuation_selected_power_product_partial. ff_h_bnbcnvlr_valuation_selected_power_product_partial + S (ff_r_bnbcnvlr_valuation_selected_power_product) = S ((S (ff_i_bnbcnvlr_valuation_selected_power_product)) * ff_v_bnbcnvlr_valuation_selected_power_product)) /\ exists ff_q_bnbcnvlr_valuation_selected_power_product_partial. ff_u_bnbcnvlr_valuation_selected_power_product = ff_q_bnbcnvlr_valuation_selected_power_product_partial * S ((S (ff_i_bnbcnvlr_valuation_selected_power_product)) * ff_v_bnbcnvlr_valuation_selected_power_product) + (ff_r_bnbcnvlr_valuation_selected_power_product))) /\ ((((exists ff_h_bnbcnvlr_valuation_selected_power_product_successor. ff_h_bnbcnvlr_valuation_selected_power_product_successor + S (ff_s_bnbcnvlr_valuation_selected_power_product) = S ((S (S ff_i_bnbcnvlr_valuation_selected_power_product)) * ff_v_bnbcnvlr_valuation_selected_power_product)) /\ exists ff_q_bnbcnvlr_valuation_selected_power_product_successor. ff_u_bnbcnvlr_valuation_selected_power_product = ff_q_bnbcnvlr_valuation_selected_power_product_successor * S ((S (S ff_i_bnbcnvlr_valuation_selected_power_product)) * ff_v_bnbcnvlr_valuation_selected_power_product) + (ff_s_bnbcnvlr_valuation_selected_power_product))) /\ ff_s_bnbcnvlr_valuation_selected_power_product = ff_r_bnbcnvlr_valuation_selected_power_product * ff_p_bnbcnvlr_valuation_selected_power_product)))))))) /\ (exists bpv_factor_bnbcnvlr_valuation_selected_divides. C = bpv_result_bnbcnvlr_valuation_selected * bpv_factor_bnbcnvlr_valuation_selected_divides)))) /\ forall bpv_candidate_bnbcnvlr_valuation. (exists bpv_gap_bnbcnvlr_valuation_candidate_bound. bpv_gap_bnbcnvlr_valuation_candidate_bound + bpv_candidate_bnbcnvlr_valuation = C) -> (exists bpv_result_bnbcnvlr_valuation_candidate. ((exists ff_b_bnbcnvlr_valuation_candidate_power ff_c_bnbcnvlr_valuation_candidate_power. ((forall ff_i_bnbcnvlr_valuation_candidate_power_repeat. (exists ff_lt_bnbcnvlr_valuation_candidate_power_repeat_bound. ff_lt_bnbcnvlr_valuation_candidate_power_repeat_bound + S ff_i_bnbcnvlr_valuation_candidate_power_repeat = bpv_candidate_bnbcnvlr_valuation) -> (((exists ff_h_bnbcnvlr_valuation_candidate_power_repeat_decoded. ff_h_bnbcnvlr_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bnbcnvlr_valuation_candidate_power_repeat)) * ff_c_bnbcnvlr_valuation_candidate_power)) /\ exists ff_q_bnbcnvlr_valuation_candidate_power_repeat_decoded. ff_b_bnbcnvlr_valuation_candidate_power = ff_q_bnbcnvlr_valuation_candidate_power_repeat_decoded * S ((S (ff_i_bnbcnvlr_valuation_candidate_power_repeat)) * ff_c_bnbcnvlr_valuation_candidate_power) + (p)))) /\ (exists ff_u_bnbcnvlr_valuation_candidate_power_product ff_v_bnbcnvlr_valuation_candidate_power_product. ((((exists ff_h_bnbcnvlr_valuation_candidate_power_product_start. ff_h_bnbcnvlr_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bnbcnvlr_valuation_candidate_power_product)) /\ exists ff_q_bnbcnvlr_valuation_candidate_power_product_start. ff_u_bnbcnvlr_valuation_candidate_power_product = ff_q_bnbcnvlr_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bnbcnvlr_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bnbcnvlr_valuation_candidate_power_product_terminal. ff_h_bnbcnvlr_valuation_candidate_power_product_terminal + S (bpv_result_bnbcnvlr_valuation_candidate) = S ((S (bpv_candidate_bnbcnvlr_valuation)) * ff_v_bnbcnvlr_valuation_candidate_power_product)) /\ exists ff_q_bnbcnvlr_valuation_candidate_power_product_terminal. ff_u_bnbcnvlr_valuation_candidate_power_product = ff_q_bnbcnvlr_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_bnbcnvlr_valuation)) * ff_v_bnbcnvlr_valuation_candidate_power_product) + (bpv_result_bnbcnvlr_valuation_candidate))) /\ forall ff_i_bnbcnvlr_valuation_candidate_power_product. (exists ff_lt_bnbcnvlr_valuation_candidate_power_product_bound. ff_lt_bnbcnvlr_valuation_candidate_power_product_bound + S ff_i_bnbcnvlr_valuation_candidate_power_product = bpv_candidate_bnbcnvlr_valuation) -> exists ff_p_bnbcnvlr_valuation_candidate_power_product ff_r_bnbcnvlr_valuation_candidate_power_product ff_s_bnbcnvlr_valuation_candidate_power_product. ((((exists ff_h_bnbcnvlr_valuation_candidate_power_product_factor. ff_h_bnbcnvlr_valuation_candidate_power_product_factor + S (ff_p_bnbcnvlr_valuation_candidate_power_product) = S ((S (ff_i_bnbcnvlr_valuation_candidate_power_product)) * ff_c_bnbcnvlr_valuation_candidate_power)) /\ exists ff_q_bnbcnvlr_valuation_candidate_power_product_factor. ff_b_bnbcnvlr_valuation_candidate_power = ff_q_bnbcnvlr_valuation_candidate_power_product_factor * S ((S (ff_i_bnbcnvlr_valuation_candidate_power_product)) * ff_c_bnbcnvlr_valuation_candidate_power) + (ff_p_bnbcnvlr_valuation_candidate_power_product))) /\ ((((exists ff_h_bnbcnvlr_valuation_candidate_power_product_partial. ff_h_bnbcnvlr_valuation_candidate_power_product_partial + S (ff_r_bnbcnvlr_valuation_candidate_power_product) = S ((S (ff_i_bnbcnvlr_valuation_candidate_power_product)) * ff_v_bnbcnvlr_valuation_candidate_power_product)) /\ exists ff_q_bnbcnvlr_valuation_candidate_power_product_partial. ff_u_bnbcnvlr_valuation_candidate_power_product = ff_q_bnbcnvlr_valuation_candidate_power_product_partial * S ((S (ff_i_bnbcnvlr_valuation_candidate_power_product)) * ff_v_bnbcnvlr_valuation_candidate_power_product) + (ff_r_bnbcnvlr_valuation_candidate_power_product))) /\ ((((exists ff_h_bnbcnvlr_valuation_candidate_power_product_successor. ff_h_bnbcnvlr_valuation_candidate_power_product_successor + S (ff_s_bnbcnvlr_valuation_candidate_power_product) = S ((S (S ff_i_bnbcnvlr_valuation_candidate_power_product)) * ff_v_bnbcnvlr_valuation_candidate_power_product)) /\ exists ff_q_bnbcnvlr_valuation_candidate_power_product_successor. ff_u_bnbcnvlr_valuation_candidate_power_product = ff_q_bnbcnvlr_valuation_candidate_power_product_successor * S ((S (S ff_i_bnbcnvlr_valuation_candidate_power_product)) * ff_v_bnbcnvlr_valuation_candidate_power_product) + (ff_s_bnbcnvlr_valuation_candidate_power_product))) /\ ff_s_bnbcnvlr_valuation_candidate_power_product = ff_r_bnbcnvlr_valuation_candidate_power_product * ff_p_bnbcnvlr_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_bnbcnvlr_valuation_candidate_divides. C = bpv_result_bnbcnvlr_valuation_candidate * bpv_factor_bnbcnvlr_valuation_candidate_divides))) -> (exists bpv_gap_bnbcnvlr_valuation_maximal. bpv_gap_bnbcnvlr_valuation_maximal + bpv_candidate_bnbcnvlr_valuation = v)) -> ~(v = 0) -> ((exists bcf_le_gap_bnbcnvlr_small. bcf_le_gap_bnbcnvlr_small + (p) = s) \/ (((exists bcf_lt_gap_bnbcnvlr_above_small. bcf_lt_gap_bnbcnvlr_above_small + S (s) = p) /\ (exists bcf_le_gap_bnbcnvlr_middle. bcf_le_gap_bnbcnvlr_middle + (p) = q)) /\ v = 1))

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

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

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

  1. L1
    intro n
  2. L2
    intro s
  3. L3
    intro q
  4. L4
    intro r
  5. L5
    intro C
  6. L6
    intro p
  7. L7
    intro v
  8. L8
    intro hexclusion
  9. L9
    intro hp
  10. L10
    intro hpositive
02Fix variables and assumptionsL11–15

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

  1. L11
    intro hfloor
  2. L12
    intro hdivision
  3. L13
    intro hcentral
  4. L14
    intro hvaluation
  5. L15
    intro hnonzero
03Establish hrangesL16–25

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply no bertrand central nonzero valuation live ranges.

  1. L16
    have hranges : Le(p,s) ∨ Lt(s,p) ∧ Le(p,q)Definitions: Le(p,s)Lt(s,p)Le(p,q)Original native command in the exact edition
  2. L17
    specialize no_bertrand_central_nonzero_valuation_live_ranges n
  3. L18
    specialize no_bertrand_central_nonzero_valuation_live_ranges s
  4. L19
    specialize no_bertrand_central_nonzero_valuation_live_ranges q
  5. L20
    specialize no_bertrand_central_nonzero_valuation_live_ranges r
  6. L21
    specialize no_bertrand_central_nonzero_valuation_live_ranges C
  7. L22
    specialize no_bertrand_central_nonzero_valuation_live_ranges p
  8. L23
    specialize no_bertrand_central_nonzero_valuation_live_ranges v
  9. L24
    apply no_bertrand_central_nonzero_valuation_live_ranges
  10. L25
    exact hexclusion
04Use earlier factsL26–31

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

  1. L26
    exact hp
  2. L27
    exact hpositive
  3. L28
    exact hdivision
  4. L29
    exact hcentral
  5. L30
    exact hvaluation
  6. L31
    exact hnonzero
05Separate the logical casesL32–33

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

  1. L32
    cases hranges
  2. L33
    left
06Use earlier factsL34–34

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

  1. L34
    exact hranges_left
07Separate the logical casesL35–38

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

  1. L35
    cases hranges_right
  2. L36
    right
  3. L37
    split
  4. L38
    split
08Use earlier factsL39–40

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

  1. L39
    exact hranges_right_left
  2. L40
    exact hranges_right_right
09Establish hupperL41–50

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply central binom prime above floor sqrt valuation le one.

  1. L41
    have hupper : Le(v,1)Definitions: Le(v,1)Original native command in the exact edition
  2. L42
    specialize central_binom_prime_above_floor_sqrt_valuation_le_one p
  3. L43
    specialize central_binom_prime_above_floor_sqrt_valuation_le_one n
  4. L44
    specialize central_binom_prime_above_floor_sqrt_valuation_le_one C
  5. L45
    specialize central_binom_prime_above_floor_sqrt_valuation_le_one v
  6. L46
    specialize central_binom_prime_above_floor_sqrt_valuation_le_one s
  7. L47
    apply central_binom_prime_above_floor_sqrt_valuation_le_one
  8. L48
    exact hp
  9. L49
    exact hpositive
  10. L50
    exact hcentral
10Use earlier factsL51–53

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

  1. L51
    exact hvaluation
  2. L52
    exact hfloor
  3. L53
    exact hranges_right_left
11Establish hlowerL54–62

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

  1. L54
    have hlower : Lt(0,v)Definitions: Lt(0,v)Original native command in the exact edition
  2. L55
    specialize one_le_of_ne_zero v
  3. L56
    apply one_le_of_ne_zero
  4. L57
    exact hnonzero
  5. L58
    specialize le_antisymm v
  6. L59
    specialize le_antisymm 1
  7. L60
    apply le_antisymm
  8. L61
    exact hupper
  9. L62
    exact hlower

Library-wide reading audit

Original defined command ledger · 62 lines
  1. 0001intro n
  2. 0002intro s
  3. 0003intro q
  4. 0004intro r
  5. 0005intro C
  6. 0006intro p
  7. 0007intro v
  8. 0008intro hexclusion
  9. 0009intro hp
  10. 0010intro hpositive
  11. 0011intro hfloor
  12. 0012intro hdivision
  13. 0013intro hcentral
  14. 0014intro hvaluation
  15. 0015intro hnonzero
  16. 0016have hranges : Le(p,s)Lt(s,p)Le(p,q)
    Exact native replay linehave hranges : (exists bcf_le_gap_bnbcnvlr_small. bcf_le_gap_bnbcnvlr_small + (p) = s) \/ ((exists bcf_lt_gap_bnbcnvlr_above_small. bcf_lt_gap_bnbcnvlr_above_small + S (s) = p) /\ (exists bcf_le_gap_bnbcnvlr_middle. bcf_le_gap_bnbcnvlr_middle + (p) = q))
  17. 0017specialize no_bertrand_central_nonzero_valuation_live_ranges n
  18. 0018specialize no_bertrand_central_nonzero_valuation_live_ranges s
  19. 0019specialize no_bertrand_central_nonzero_valuation_live_ranges q
  20. 0020specialize no_bertrand_central_nonzero_valuation_live_ranges r
  21. 0021specialize no_bertrand_central_nonzero_valuation_live_ranges C
  22. 0022specialize no_bertrand_central_nonzero_valuation_live_ranges p
  23. 0023specialize no_bertrand_central_nonzero_valuation_live_ranges v
  24. 0024apply no_bertrand_central_nonzero_valuation_live_ranges
  25. 0025exact hexclusion
  26. 0026exact hp
  27. 0027exact hpositive
  28. 0028exact hdivision
  29. 0029exact hcentral
  30. 0030exact hvaluation
  31. 0031exact hnonzero
  32. 0032cases hranges
  33. 0033left
  34. 0034exact hranges_left
  35. 0035cases hranges_right
  36. 0036right
  37. 0037split
  38. 0038split
  39. 0039exact hranges_right_left
  40. 0040exact hranges_right_right
  41. 0041have hupper : Le(v,1)
    Exact native replay linehave hupper : exists bcf_le_gap_bnbcnvfr_upper. bcf_le_gap_bnbcnvfr_upper + (v) = 1
  42. 0042specialize central_binom_prime_above_floor_sqrt_valuation_le_one p
  43. 0043specialize central_binom_prime_above_floor_sqrt_valuation_le_one n
  44. 0044specialize central_binom_prime_above_floor_sqrt_valuation_le_one C
  45. 0045specialize central_binom_prime_above_floor_sqrt_valuation_le_one v
  46. 0046specialize central_binom_prime_above_floor_sqrt_valuation_le_one s
  47. 0047apply central_binom_prime_above_floor_sqrt_valuation_le_one
  48. 0048exact hp
  49. 0049exact hpositive
  50. 0050exact hcentral
  51. 0051exact hvaluation
  52. 0052exact hfloor
  53. 0053exact hranges_right_left
  54. 0054have hlower : Lt(0,v)
    Exact native replay linehave hlower : exists bcf_le_gap_bnbcnvfr_lower. bcf_le_gap_bnbcnvfr_lower + (1) = v
  55. 0055specialize one_le_of_ne_zero v
  56. 0056apply one_le_of_ne_zero
  57. 0057exact hnonzero
  58. 0058specialize le_antisymm v
  59. 0059specialize le_antisymm 1
  60. 0060apply le_antisymm
  61. 0061exact hupper
  62. 0062exact hlower