BT00Y6 · Bertrand theorem

central_binom_prime_square_tail_exponent_not_two_le

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

A prime square above twice n rules out valuation exponent two.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Statement with defined notation

∀ p. ∀ n. ∀ C. ∀ v. ∀ s. Prime(p)Lt(0,n)CentralBinom(n,C)PowerValuation(p,C,v)Pow(p,2,s)Lt(n + n,s) → ¬Lt(1,v)

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

7 occurrences

In local proof propositions

4 occurrences

Exact expanded native-PA statement
forall p n C v s. ((~(p = 1) /\ forall frm_prime_left_bcpsten_prime frm_prime_right_bcpsten_prime. p = frm_prime_left_bcpsten_prime * frm_prime_right_bcpsten_prime -> frm_prime_left_bcpsten_prime = 1 \/ frm_prime_right_bcpsten_prime = 1)) -> (exists bcf_le_gap_bcpsten_positive. bcf_le_gap_bcpsten_positive + (1) = n) -> (((exists bcf_lt_gap_bcpsten_central_out_of_range. bcf_lt_gap_bcpsten_central_out_of_range + S (n + n) = n) /\ C = 0) \/ ((exists bcf_le_gap_bcpsten_central_in_range. bcf_le_gap_bcpsten_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bcpsten_central bcf_row_code_scale_bcpsten_central bcf_row_scale_code_bcpsten_central bcf_row_scale_scale_bcpsten_central bcf_row_code_bcpsten_central bcf_row_scale_bcpsten_central. ((forall bcf_row_index_bcpsten_central_table. (exists bcf_lt_gap_bcpsten_central_table_row_bound. bcf_lt_gap_bcpsten_central_table_row_bound + S (bcf_row_index_bcpsten_central_table) = S (n + n)) -> exists bcf_row_code_bcpsten_central_table bcf_row_scale_bcpsten_central_table. ((((exists bcf_height_bcpsten_central_table_decoded_row_code. bcf_height_bcpsten_central_table_decoded_row_code + S (bcf_row_code_bcpsten_central_table) = S ((S (bcf_row_index_bcpsten_central_table)) * bcf_row_code_scale_bcpsten_central)) /\ exists bcf_quotient_bcpsten_central_table_decoded_row_code. bcf_row_code_code_bcpsten_central = bcf_quotient_bcpsten_central_table_decoded_row_code * S ((S (bcf_row_index_bcpsten_central_table)) * bcf_row_code_scale_bcpsten_central) + (bcf_row_code_bcpsten_central_table))) /\ ((((exists bcf_height_bcpsten_central_table_decoded_row_scale. bcf_height_bcpsten_central_table_decoded_row_scale + S (bcf_row_scale_bcpsten_central_table) = S ((S (bcf_row_index_bcpsten_central_table)) * bcf_row_scale_scale_bcpsten_central)) /\ exists bcf_quotient_bcpsten_central_table_decoded_row_scale. bcf_row_scale_code_bcpsten_central = bcf_quotient_bcpsten_central_table_decoded_row_scale * S ((S (bcf_row_index_bcpsten_central_table)) * bcf_row_scale_scale_bcpsten_central) + (bcf_row_scale_bcpsten_central_table))) /\ ((bcf_row_index_bcpsten_central_table = 0 /\ (forall bcf_index_bcpsten_central_table_zero_row. (exists bcf_lt_gap_bcpsten_central_table_zero_row_bound. bcf_lt_gap_bcpsten_central_table_zero_row_bound + S (bcf_index_bcpsten_central_table_zero_row) = S (n + n)) -> exists bcf_value_bcpsten_central_table_zero_row. ((((exists bcf_height_bcpsten_central_table_zero_row_entry. bcf_height_bcpsten_central_table_zero_row_entry + S (bcf_value_bcpsten_central_table_zero_row) = S ((S (bcf_index_bcpsten_central_table_zero_row)) * bcf_row_scale_bcpsten_central_table)) /\ exists bcf_quotient_bcpsten_central_table_zero_row_entry. bcf_row_code_bcpsten_central_table = bcf_quotient_bcpsten_central_table_zero_row_entry * S ((S (bcf_index_bcpsten_central_table_zero_row)) * bcf_row_scale_bcpsten_central_table) + (bcf_value_bcpsten_central_table_zero_row))) /\ ((bcf_index_bcpsten_central_table_zero_row = 0 /\ bcf_value_bcpsten_central_table_zero_row = 1) \/ exists bcf_predecessor_bcpsten_central_table_zero_row. bcf_index_bcpsten_central_table_zero_row = S bcf_predecessor_bcpsten_central_table_zero_row /\ bcf_value_bcpsten_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bcpsten_central_table bcf_previous_code_bcpsten_central_table bcf_previous_scale_bcpsten_central_table. bcf_row_index_bcpsten_central_table = S bcf_predecessor_bcpsten_central_table /\ ((((exists bcf_height_bcpsten_central_table_decoded_previous_code. bcf_height_bcpsten_central_table_decoded_previous_code + S (bcf_previous_code_bcpsten_central_table) = S ((S (bcf_predecessor_bcpsten_central_table)) * bcf_row_code_scale_bcpsten_central)) /\ exists bcf_quotient_bcpsten_central_table_decoded_previous_code. bcf_row_code_code_bcpsten_central = bcf_quotient_bcpsten_central_table_decoded_previous_code * S ((S (bcf_predecessor_bcpsten_central_table)) * bcf_row_code_scale_bcpsten_central) + (bcf_previous_code_bcpsten_central_table))) /\ ((((exists bcf_height_bcpsten_central_table_decoded_previous_scale. bcf_height_bcpsten_central_table_decoded_previous_scale + S (bcf_previous_scale_bcpsten_central_table) = S ((S (bcf_predecessor_bcpsten_central_table)) * bcf_row_scale_scale_bcpsten_central)) /\ exists bcf_quotient_bcpsten_central_table_decoded_previous_scale. bcf_row_scale_code_bcpsten_central = bcf_quotient_bcpsten_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bcpsten_central_table)) * bcf_row_scale_scale_bcpsten_central) + (bcf_previous_scale_bcpsten_central_table))) /\ (forall bcf_index_bcpsten_central_table_row_step. (exists bcf_lt_gap_bcpsten_central_table_row_step_bound. bcf_lt_gap_bcpsten_central_table_row_step_bound + S (bcf_index_bcpsten_central_table_row_step) = S (n + n)) -> exists bcf_value_bcpsten_central_table_row_step. ((((exists bcf_height_bcpsten_central_table_row_step_entry. bcf_height_bcpsten_central_table_row_step_entry + S (bcf_value_bcpsten_central_table_row_step) = S ((S (bcf_index_bcpsten_central_table_row_step)) * bcf_row_scale_bcpsten_central_table)) /\ exists bcf_quotient_bcpsten_central_table_row_step_entry. bcf_row_code_bcpsten_central_table = bcf_quotient_bcpsten_central_table_row_step_entry * S ((S (bcf_index_bcpsten_central_table_row_step)) * bcf_row_scale_bcpsten_central_table) + (bcf_value_bcpsten_central_table_row_step))) /\ ((bcf_index_bcpsten_central_table_row_step = 0 /\ bcf_value_bcpsten_central_table_row_step = 1) \/ exists bcf_predecessor_bcpsten_central_table_row_step bcf_left_bcpsten_central_table_row_step bcf_right_bcpsten_central_table_row_step. bcf_index_bcpsten_central_table_row_step = S bcf_predecessor_bcpsten_central_table_row_step /\ ((((exists bcf_height_bcpsten_central_table_row_step_previous_left. bcf_height_bcpsten_central_table_row_step_previous_left + S (bcf_left_bcpsten_central_table_row_step) = S ((S (bcf_predecessor_bcpsten_central_table_row_step)) * bcf_previous_scale_bcpsten_central_table)) /\ exists bcf_quotient_bcpsten_central_table_row_step_previous_left. bcf_previous_code_bcpsten_central_table = bcf_quotient_bcpsten_central_table_row_step_previous_left * S ((S (bcf_predecessor_bcpsten_central_table_row_step)) * bcf_previous_scale_bcpsten_central_table) + (bcf_left_bcpsten_central_table_row_step))) /\ ((((exists bcf_height_bcpsten_central_table_row_step_previous_right. bcf_height_bcpsten_central_table_row_step_previous_right + S (bcf_right_bcpsten_central_table_row_step) = S ((S (S (bcf_predecessor_bcpsten_central_table_row_step))) * bcf_previous_scale_bcpsten_central_table)) /\ exists bcf_quotient_bcpsten_central_table_row_step_previous_right. bcf_previous_code_bcpsten_central_table = bcf_quotient_bcpsten_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcpsten_central_table_row_step))) * bcf_previous_scale_bcpsten_central_table) + (bcf_right_bcpsten_central_table_row_step))) /\ bcf_value_bcpsten_central_table_row_step = bcf_left_bcpsten_central_table_row_step + bcf_right_bcpsten_central_table_row_step))))))))))) /\ ((((exists bcf_height_bcpsten_central_decoded_row_code. bcf_height_bcpsten_central_decoded_row_code + S (bcf_row_code_bcpsten_central) = S ((S (n + n)) * bcf_row_code_scale_bcpsten_central)) /\ exists bcf_quotient_bcpsten_central_decoded_row_code. bcf_row_code_code_bcpsten_central = bcf_quotient_bcpsten_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bcpsten_central) + (bcf_row_code_bcpsten_central))) /\ ((((exists bcf_height_bcpsten_central_decoded_row_scale. bcf_height_bcpsten_central_decoded_row_scale + S (bcf_row_scale_bcpsten_central) = S ((S (n + n)) * bcf_row_scale_scale_bcpsten_central)) /\ exists bcf_quotient_bcpsten_central_decoded_row_scale. bcf_row_scale_code_bcpsten_central = bcf_quotient_bcpsten_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bcpsten_central) + (bcf_row_scale_bcpsten_central))) /\ (((exists bcf_height_bcpsten_central_decoded_value. bcf_height_bcpsten_central_decoded_value + S (C) = S ((S (n)) * bcf_row_scale_bcpsten_central)) /\ exists bcf_quotient_bcpsten_central_decoded_value. bcf_row_code_bcpsten_central = bcf_quotient_bcpsten_central_decoded_value * S ((S (n)) * bcf_row_scale_bcpsten_central) + (C))))))))) -> (((exists bpv_gap_bcpsten_valuation_exponent_bound. bpv_gap_bcpsten_valuation_exponent_bound + v = C) /\ (exists bpv_result_bcpsten_valuation_selected. ((exists ff_b_bcpsten_valuation_selected_power ff_c_bcpsten_valuation_selected_power. ((forall ff_i_bcpsten_valuation_selected_power_repeat. (exists ff_lt_bcpsten_valuation_selected_power_repeat_bound. ff_lt_bcpsten_valuation_selected_power_repeat_bound + S ff_i_bcpsten_valuation_selected_power_repeat = v) -> (((exists ff_h_bcpsten_valuation_selected_power_repeat_decoded. ff_h_bcpsten_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bcpsten_valuation_selected_power_repeat)) * ff_c_bcpsten_valuation_selected_power)) /\ exists ff_q_bcpsten_valuation_selected_power_repeat_decoded. ff_b_bcpsten_valuation_selected_power = ff_q_bcpsten_valuation_selected_power_repeat_decoded * S ((S (ff_i_bcpsten_valuation_selected_power_repeat)) * ff_c_bcpsten_valuation_selected_power) + (p)))) /\ (exists ff_u_bcpsten_valuation_selected_power_product ff_v_bcpsten_valuation_selected_power_product. ((((exists ff_h_bcpsten_valuation_selected_power_product_start. ff_h_bcpsten_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bcpsten_valuation_selected_power_product)) /\ exists ff_q_bcpsten_valuation_selected_power_product_start. ff_u_bcpsten_valuation_selected_power_product = ff_q_bcpsten_valuation_selected_power_product_start * S ((S (0)) * ff_v_bcpsten_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bcpsten_valuation_selected_power_product_terminal. ff_h_bcpsten_valuation_selected_power_product_terminal + S (bpv_result_bcpsten_valuation_selected) = S ((S (v)) * ff_v_bcpsten_valuation_selected_power_product)) /\ exists ff_q_bcpsten_valuation_selected_power_product_terminal. ff_u_bcpsten_valuation_selected_power_product = ff_q_bcpsten_valuation_selected_power_product_terminal * S ((S (v)) * ff_v_bcpsten_valuation_selected_power_product) + (bpv_result_bcpsten_valuation_selected))) /\ forall ff_i_bcpsten_valuation_selected_power_product. (exists ff_lt_bcpsten_valuation_selected_power_product_bound. ff_lt_bcpsten_valuation_selected_power_product_bound + S ff_i_bcpsten_valuation_selected_power_product = v) -> exists ff_p_bcpsten_valuation_selected_power_product ff_r_bcpsten_valuation_selected_power_product ff_s_bcpsten_valuation_selected_power_product. ((((exists ff_h_bcpsten_valuation_selected_power_product_factor. ff_h_bcpsten_valuation_selected_power_product_factor + S (ff_p_bcpsten_valuation_selected_power_product) = S ((S (ff_i_bcpsten_valuation_selected_power_product)) * ff_c_bcpsten_valuation_selected_power)) /\ exists ff_q_bcpsten_valuation_selected_power_product_factor. ff_b_bcpsten_valuation_selected_power = ff_q_bcpsten_valuation_selected_power_product_factor * S ((S (ff_i_bcpsten_valuation_selected_power_product)) * ff_c_bcpsten_valuation_selected_power) + (ff_p_bcpsten_valuation_selected_power_product))) /\ ((((exists ff_h_bcpsten_valuation_selected_power_product_partial. ff_h_bcpsten_valuation_selected_power_product_partial + S (ff_r_bcpsten_valuation_selected_power_product) = S ((S (ff_i_bcpsten_valuation_selected_power_product)) * ff_v_bcpsten_valuation_selected_power_product)) /\ exists ff_q_bcpsten_valuation_selected_power_product_partial. ff_u_bcpsten_valuation_selected_power_product = ff_q_bcpsten_valuation_selected_power_product_partial * S ((S (ff_i_bcpsten_valuation_selected_power_product)) * ff_v_bcpsten_valuation_selected_power_product) + (ff_r_bcpsten_valuation_selected_power_product))) /\ ((((exists ff_h_bcpsten_valuation_selected_power_product_successor. ff_h_bcpsten_valuation_selected_power_product_successor + S (ff_s_bcpsten_valuation_selected_power_product) = S ((S (S ff_i_bcpsten_valuation_selected_power_product)) * ff_v_bcpsten_valuation_selected_power_product)) /\ exists ff_q_bcpsten_valuation_selected_power_product_successor. ff_u_bcpsten_valuation_selected_power_product = ff_q_bcpsten_valuation_selected_power_product_successor * S ((S (S ff_i_bcpsten_valuation_selected_power_product)) * ff_v_bcpsten_valuation_selected_power_product) + (ff_s_bcpsten_valuation_selected_power_product))) /\ ff_s_bcpsten_valuation_selected_power_product = ff_r_bcpsten_valuation_selected_power_product * ff_p_bcpsten_valuation_selected_power_product)))))))) /\ (exists bpv_factor_bcpsten_valuation_selected_divides. C = bpv_result_bcpsten_valuation_selected * bpv_factor_bcpsten_valuation_selected_divides)))) /\ forall bpv_candidate_bcpsten_valuation. (exists bpv_gap_bcpsten_valuation_candidate_bound. bpv_gap_bcpsten_valuation_candidate_bound + bpv_candidate_bcpsten_valuation = C) -> (exists bpv_result_bcpsten_valuation_candidate. ((exists ff_b_bcpsten_valuation_candidate_power ff_c_bcpsten_valuation_candidate_power. ((forall ff_i_bcpsten_valuation_candidate_power_repeat. (exists ff_lt_bcpsten_valuation_candidate_power_repeat_bound. ff_lt_bcpsten_valuation_candidate_power_repeat_bound + S ff_i_bcpsten_valuation_candidate_power_repeat = bpv_candidate_bcpsten_valuation) -> (((exists ff_h_bcpsten_valuation_candidate_power_repeat_decoded. ff_h_bcpsten_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bcpsten_valuation_candidate_power_repeat)) * ff_c_bcpsten_valuation_candidate_power)) /\ exists ff_q_bcpsten_valuation_candidate_power_repeat_decoded. ff_b_bcpsten_valuation_candidate_power = ff_q_bcpsten_valuation_candidate_power_repeat_decoded * S ((S (ff_i_bcpsten_valuation_candidate_power_repeat)) * ff_c_bcpsten_valuation_candidate_power) + (p)))) /\ (exists ff_u_bcpsten_valuation_candidate_power_product ff_v_bcpsten_valuation_candidate_power_product. ((((exists ff_h_bcpsten_valuation_candidate_power_product_start. ff_h_bcpsten_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bcpsten_valuation_candidate_power_product)) /\ exists ff_q_bcpsten_valuation_candidate_power_product_start. ff_u_bcpsten_valuation_candidate_power_product = ff_q_bcpsten_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bcpsten_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bcpsten_valuation_candidate_power_product_terminal. ff_h_bcpsten_valuation_candidate_power_product_terminal + S (bpv_result_bcpsten_valuation_candidate) = S ((S (bpv_candidate_bcpsten_valuation)) * ff_v_bcpsten_valuation_candidate_power_product)) /\ exists ff_q_bcpsten_valuation_candidate_power_product_terminal. ff_u_bcpsten_valuation_candidate_power_product = ff_q_bcpsten_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_bcpsten_valuation)) * ff_v_bcpsten_valuation_candidate_power_product) + (bpv_result_bcpsten_valuation_candidate))) /\ forall ff_i_bcpsten_valuation_candidate_power_product. (exists ff_lt_bcpsten_valuation_candidate_power_product_bound. ff_lt_bcpsten_valuation_candidate_power_product_bound + S ff_i_bcpsten_valuation_candidate_power_product = bpv_candidate_bcpsten_valuation) -> exists ff_p_bcpsten_valuation_candidate_power_product ff_r_bcpsten_valuation_candidate_power_product ff_s_bcpsten_valuation_candidate_power_product. ((((exists ff_h_bcpsten_valuation_candidate_power_product_factor. ff_h_bcpsten_valuation_candidate_power_product_factor + S (ff_p_bcpsten_valuation_candidate_power_product) = S ((S (ff_i_bcpsten_valuation_candidate_power_product)) * ff_c_bcpsten_valuation_candidate_power)) /\ exists ff_q_bcpsten_valuation_candidate_power_product_factor. ff_b_bcpsten_valuation_candidate_power = ff_q_bcpsten_valuation_candidate_power_product_factor * S ((S (ff_i_bcpsten_valuation_candidate_power_product)) * ff_c_bcpsten_valuation_candidate_power) + (ff_p_bcpsten_valuation_candidate_power_product))) /\ ((((exists ff_h_bcpsten_valuation_candidate_power_product_partial. ff_h_bcpsten_valuation_candidate_power_product_partial + S (ff_r_bcpsten_valuation_candidate_power_product) = S ((S (ff_i_bcpsten_valuation_candidate_power_product)) * ff_v_bcpsten_valuation_candidate_power_product)) /\ exists ff_q_bcpsten_valuation_candidate_power_product_partial. ff_u_bcpsten_valuation_candidate_power_product = ff_q_bcpsten_valuation_candidate_power_product_partial * S ((S (ff_i_bcpsten_valuation_candidate_power_product)) * ff_v_bcpsten_valuation_candidate_power_product) + (ff_r_bcpsten_valuation_candidate_power_product))) /\ ((((exists ff_h_bcpsten_valuation_candidate_power_product_successor. ff_h_bcpsten_valuation_candidate_power_product_successor + S (ff_s_bcpsten_valuation_candidate_power_product) = S ((S (S ff_i_bcpsten_valuation_candidate_power_product)) * ff_v_bcpsten_valuation_candidate_power_product)) /\ exists ff_q_bcpsten_valuation_candidate_power_product_successor. ff_u_bcpsten_valuation_candidate_power_product = ff_q_bcpsten_valuation_candidate_power_product_successor * S ((S (S ff_i_bcpsten_valuation_candidate_power_product)) * ff_v_bcpsten_valuation_candidate_power_product) + (ff_s_bcpsten_valuation_candidate_power_product))) /\ ff_s_bcpsten_valuation_candidate_power_product = ff_r_bcpsten_valuation_candidate_power_product * ff_p_bcpsten_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_bcpsten_valuation_candidate_divides. C = bpv_result_bcpsten_valuation_candidate * bpv_factor_bcpsten_valuation_candidate_divides))) -> (exists bpv_gap_bcpsten_valuation_maximal. bpv_gap_bcpsten_valuation_maximal + bpv_candidate_bcpsten_valuation = v)) -> (exists bpvi_b_bcpsten_square bpvi_c_bcpsten_square. ((forall bpvi_i_bcpsten_square. (exists bpvi_repeat_gap_bcpsten_square. bpvi_repeat_gap_bcpsten_square + S bpvi_i_bcpsten_square = 2) -> (((exists bpvi_h_bcpsten_square_repeat. bpvi_h_bcpsten_square_repeat + S (p) = S ((S (bpvi_i_bcpsten_square)) * bpvi_c_bcpsten_square)) /\ exists bpvi_q_bcpsten_square_repeat. bpvi_b_bcpsten_square = bpvi_q_bcpsten_square_repeat * S ((S (bpvi_i_bcpsten_square)) * bpvi_c_bcpsten_square) + (p)))) /\ (exists bpvi_u_bcpsten_square bpvi_v_bcpsten_square. ((((exists bpvi_h_bcpsten_square_start. bpvi_h_bcpsten_square_start + S (1) = S ((S (0)) * bpvi_v_bcpsten_square)) /\ exists bpvi_q_bcpsten_square_start. bpvi_u_bcpsten_square = bpvi_q_bcpsten_square_start * S ((S (0)) * bpvi_v_bcpsten_square) + (1))) /\ ((((exists bpvi_h_bcpsten_square_terminal. bpvi_h_bcpsten_square_terminal + S (s) = S ((S (2)) * bpvi_v_bcpsten_square)) /\ exists bpvi_q_bcpsten_square_terminal. bpvi_u_bcpsten_square = bpvi_q_bcpsten_square_terminal * S ((S (2)) * bpvi_v_bcpsten_square) + (s))) /\ forall bpvi_j_bcpsten_square. (exists bpvi_product_gap_bcpsten_square. bpvi_product_gap_bcpsten_square + S bpvi_j_bcpsten_square = 2) -> exists bpvi_factor_bcpsten_square bpvi_partial_bcpsten_square bpvi_successor_bcpsten_square. ((((exists bpvi_h_bcpsten_square_factor. bpvi_h_bcpsten_square_factor + S (bpvi_factor_bcpsten_square) = S ((S (bpvi_j_bcpsten_square)) * bpvi_c_bcpsten_square)) /\ exists bpvi_q_bcpsten_square_factor. bpvi_b_bcpsten_square = bpvi_q_bcpsten_square_factor * S ((S (bpvi_j_bcpsten_square)) * bpvi_c_bcpsten_square) + (bpvi_factor_bcpsten_square))) /\ ((((exists bpvi_h_bcpsten_square_partial. bpvi_h_bcpsten_square_partial + S (bpvi_partial_bcpsten_square) = S ((S (bpvi_j_bcpsten_square)) * bpvi_v_bcpsten_square)) /\ exists bpvi_q_bcpsten_square_partial. bpvi_u_bcpsten_square = bpvi_q_bcpsten_square_partial * S ((S (bpvi_j_bcpsten_square)) * bpvi_v_bcpsten_square) + (bpvi_partial_bcpsten_square))) /\ ((((exists bpvi_h_bcpsten_square_successor. bpvi_h_bcpsten_square_successor + S (bpvi_successor_bcpsten_square) = S ((S (S bpvi_j_bcpsten_square)) * bpvi_v_bcpsten_square)) /\ exists bpvi_q_bcpsten_square_successor. bpvi_u_bcpsten_square = bpvi_q_bcpsten_square_successor * S ((S (S bpvi_j_bcpsten_square)) * bpvi_v_bcpsten_square) + (bpvi_successor_bcpsten_square))) /\ bpvi_successor_bcpsten_square = bpvi_partial_bcpsten_square * bpvi_factor_bcpsten_square)))))))) -> (exists bcf_lt_gap_bcpsten_strict. bcf_lt_gap_bcpsten_strict + S (n + n) = s) -> ~(exists bcf_le_gap_bcpsten_exponent. bcf_le_gap_bcpsten_exponent + (2) = v)

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

56 script commands · 10 reading checkpoints · 5 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 (6)
01Fix variables and assumptionsL1–10

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

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

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

  1. L11
    intro hstrict
  2. L12
    intro hexponent
03Establish hpower_existsL13–16

Establish this local claim before using it. It is not an additional assumption.

  1. L13
    have hpower_exists : ∃ D. Pow(p,v,D)Definitions: Pow(p,v,D)Original native command in the exact edition
  2. L14
    specialize pow_exists p
  3. L15
    specialize pow_exists v
  4. L16
    exact pow_exists
04Separate the logical casesL17–17

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

  1. L17
    cases hpower_exists
05Establish hp_nonzeroL18–23

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

  1. L18
    have hp_nonzero : ~(p = 0)
  2. L19
    intro hpzero
  3. L20
    specialize prime_nonzero p
  4. L21
    apply prime_nonzero
  5. L22
    exact hp
  6. L23
    exact hpzero
06Establish hp_positiveL24–27

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

  1. L24
    have hp_positive : Lt(0,p)Definitions: Lt(0,p)Original native command in the exact edition
  2. L25
    specialize one_le_of_ne_zero p
  3. L26
    apply one_le_of_ne_zero
  4. L27
    exact hp_nonzero
07Establish htailL28–37

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

  1. L28
    have htail : Lt(n + n,x)Definitions: Lt(n + n,x)Original native command in the exact edition
  2. L29
    specialize pow_tail_strict_of_square p
  3. L30
    specialize pow_tail_strict_of_square v
  4. L31
    specialize pow_tail_strict_of_square x
  5. L32
    specialize pow_tail_strict_of_square s
  6. L33
    specialize pow_tail_strict_of_square (n + n)
  7. L34
    apply pow_tail_strict_of_square
  8. L35
    exact hp_positive
  9. L36
    exact hexponent
  10. L37
    exact hsquare
08Use earlier factsL38–39

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

  1. L38
    exact hpower_exists_witness
  2. L39
    exact hstrict
09Establish hboundL40–49

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply central binom prime power contribution le double.

  1. L40
    have hbound : Le(x,n + n)Definitions: Le(x,n + n)Original native command in the exact edition
  2. L41
    specialize central_binom_prime_power_contribution_le_double p
  3. L42
    specialize central_binom_prime_power_contribution_le_double n
  4. L43
    specialize central_binom_prime_power_contribution_le_double C
  5. L44
    specialize central_binom_prime_power_contribution_le_double v
  6. L45
    specialize central_binom_prime_power_contribution_le_double x
  7. L46
    apply central_binom_prime_power_contribution_le_double
  8. L47
    exact hp
  9. L48
    exact hpositive
  10. L49
    exact hcentral
10Use earlier factsL50–56

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

  1. L50
    exact hvaluation
  2. L51
    exact hpower_exists_witness
  3. L52
    specialize lt_not_le (n + n)
  4. L53
    specialize lt_not_le x
  5. L54
    apply lt_not_le
  6. L55
    exact htail
  7. L56
    exact hbound

Library-wide reading audit

Original defined command ledger · 56 lines
  1. 0001intro p
  2. 0002intro n
  3. 0003intro C
  4. 0004intro v
  5. 0005intro s
  6. 0006intro hp
  7. 0007intro hpositive
  8. 0008intro hcentral
  9. 0009intro hvaluation
  10. 0010intro hsquare
  11. 0011intro hstrict
  12. 0012intro hexponent
  13. 0013have hpower_exists : ∃ D. Pow(p,v,D)
    Exact native replay linehave hpower_exists : exists D. (exists bpvi_b_bcpsten_contribution_power bpvi_c_bcpsten_contribution_power. ((forall bpvi_i_bcpsten_contribution_power. (exists bpvi_repeat_gap_bcpsten_contribution_power. bpvi_repeat_gap_bcpsten_contribution_power + S bpvi_i_bcpsten_contribution_power = v) -> (((exists bpvi_h_bcpsten_contribution_power_repeat. bpvi_h_bcpsten_contribution_power_repeat + S (p) = S ((S (bpvi_i_bcpsten_contribution_power)) * bpvi_c_bcpsten_contribution_power)) /\ exists bpvi_q_bcpsten_contribution_power_repeat. bpvi_b_bcpsten_contribution_power = bpvi_q_bcpsten_contribution_power_repeat * S ((S (bpvi_i_bcpsten_contribution_power)) * bpvi_c_bcpsten_contribution_power) + (p)))) /\ (exists bpvi_u_bcpsten_contribution_power bpvi_v_bcpsten_contribution_power. ((((exists bpvi_h_bcpsten_contribution_power_start. bpvi_h_bcpsten_contribution_power_start + S (1) = S ((S (0)) * bpvi_v_bcpsten_contribution_power)) /\ exists bpvi_q_bcpsten_contribution_power_start. bpvi_u_bcpsten_contribution_power = bpvi_q_bcpsten_contribution_power_start * S ((S (0)) * bpvi_v_bcpsten_contribution_power) + (1))) /\ ((((exists bpvi_h_bcpsten_contribution_power_terminal. bpvi_h_bcpsten_contribution_power_terminal + S (D) = S ((S (v)) * bpvi_v_bcpsten_contribution_power)) /\ exists bpvi_q_bcpsten_contribution_power_terminal. bpvi_u_bcpsten_contribution_power = bpvi_q_bcpsten_contribution_power_terminal * S ((S (v)) * bpvi_v_bcpsten_contribution_power) + (D))) /\ forall bpvi_j_bcpsten_contribution_power. (exists bpvi_product_gap_bcpsten_contribution_power. bpvi_product_gap_bcpsten_contribution_power + S bpvi_j_bcpsten_contribution_power = v) -> exists bpvi_factor_bcpsten_contribution_power bpvi_partial_bcpsten_contribution_power bpvi_successor_bcpsten_contribution_power. ((((exists bpvi_h_bcpsten_contribution_power_factor. bpvi_h_bcpsten_contribution_power_factor + S (bpvi_factor_bcpsten_contribution_power) = S ((S (bpvi_j_bcpsten_contribution_power)) * bpvi_c_bcpsten_contribution_power)) /\ exists bpvi_q_bcpsten_contribution_power_factor. bpvi_b_bcpsten_contribution_power = bpvi_q_bcpsten_contribution_power_factor * S ((S (bpvi_j_bcpsten_contribution_power)) * bpvi_c_bcpsten_contribution_power) + (bpvi_factor_bcpsten_contribution_power))) /\ ((((exists bpvi_h_bcpsten_contribution_power_partial. bpvi_h_bcpsten_contribution_power_partial + S (bpvi_partial_bcpsten_contribution_power) = S ((S (bpvi_j_bcpsten_contribution_power)) * bpvi_v_bcpsten_contribution_power)) /\ exists bpvi_q_bcpsten_contribution_power_partial. bpvi_u_bcpsten_contribution_power = bpvi_q_bcpsten_contribution_power_partial * S ((S (bpvi_j_bcpsten_contribution_power)) * bpvi_v_bcpsten_contribution_power) + (bpvi_partial_bcpsten_contribution_power))) /\ ((((exists bpvi_h_bcpsten_contribution_power_successor. bpvi_h_bcpsten_contribution_power_successor + S (bpvi_successor_bcpsten_contribution_power) = S ((S (S bpvi_j_bcpsten_contribution_power)) * bpvi_v_bcpsten_contribution_power)) /\ exists bpvi_q_bcpsten_contribution_power_successor. bpvi_u_bcpsten_contribution_power = bpvi_q_bcpsten_contribution_power_successor * S ((S (S bpvi_j_bcpsten_contribution_power)) * bpvi_v_bcpsten_contribution_power) + (bpvi_successor_bcpsten_contribution_power))) /\ bpvi_successor_bcpsten_contribution_power = bpvi_partial_bcpsten_contribution_power * bpvi_factor_bcpsten_contribution_power))))))))
  14. 0014specialize pow_exists p
  15. 0015specialize pow_exists v
  16. 0016exact pow_exists
  17. 0017cases hpower_exists
  18. 0018have hp_nonzero : ~(p = 0)
  19. 0019intro hpzero
  20. 0020specialize prime_nonzero p
  21. 0021apply prime_nonzero
  22. 0022exact hp
  23. 0023exact hpzero
  24. 0024have hp_positive : Lt(0,p)
    Exact native replay linehave hp_positive : exists bcf_le_gap_bcpsten_prime_positive. bcf_le_gap_bcpsten_prime_positive + (1) = p
  25. 0025specialize one_le_of_ne_zero p
  26. 0026apply one_le_of_ne_zero
  27. 0027exact hp_nonzero
  28. 0028have htail : Lt(n + n,x)
    Exact native replay linehave htail : exists bcf_lt_gap_bcpsten_contribution_strict. bcf_lt_gap_bcpsten_contribution_strict + S (n + n) = x
  29. 0029specialize pow_tail_strict_of_square p
  30. 0030specialize pow_tail_strict_of_square v
  31. 0031specialize pow_tail_strict_of_square x
  32. 0032specialize pow_tail_strict_of_square s
  33. 0033specialize pow_tail_strict_of_square (n + n)
  34. 0034apply pow_tail_strict_of_square
  35. 0035exact hp_positive
  36. 0036exact hexponent
  37. 0037exact hsquare
  38. 0038exact hpower_exists_witness
  39. 0039exact hstrict
  40. 0040have hbound : Le(x,n + n)
    Exact native replay linehave hbound : exists bcf_le_gap_bcpsten_contribution_bound. bcf_le_gap_bcpsten_contribution_bound + (x) = n + n
  41. 0041specialize central_binom_prime_power_contribution_le_double p
  42. 0042specialize central_binom_prime_power_contribution_le_double n
  43. 0043specialize central_binom_prime_power_contribution_le_double C
  44. 0044specialize central_binom_prime_power_contribution_le_double v
  45. 0045specialize central_binom_prime_power_contribution_le_double x
  46. 0046apply central_binom_prime_power_contribution_le_double
  47. 0047exact hp
  48. 0048exact hpositive
  49. 0049exact hcentral
  50. 0050exact hvaluation
  51. 0051exact hpower_exists_witness
  52. 0052specialize lt_not_le (n + n)
  53. 0053specialize lt_not_le x
  54. 0054apply lt_not_le
  55. 0055exact htail
  56. 0056exact hbound