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. Prime(p) → CentralBinom(n,C) → PowerValuation(p,C,v) → ∃ x. ∃ y. ∃ z. ∃ m. ∃ k. ∃ i. PowerQuotPrefix(p,n,x,y,n + n) ∧ (PowerQuotPrefix(p,n + n,z,m,n + n) ∧ ((∀ j. Lt(j,n + n) → ∃ u. ∃ w. ∃ x0. BetaAt(x,y,j,u) ∧ (BetaAt(z,m,j,w) ∧ (BetaAt(k,i,j,x0) ∧ (x0 = 0 ∧ w = u + u ∨ x0 = 1 ∧ w = S (u + u))))) ∧ BitCount(k,i,n + n,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
PD0002 Lt PD0004 Prime PD0013 BetaAt PD0017 BitCount PD0042 CentralBinom PD0046 PowerValuation PD0049 PowerQuotPrefix10 occurrences
In local proof propositions
PD0002 Lt PD0013 BetaAt PD0015 Sum PD0016 AllBits PD0017 BitCount PD0049 PowerQuotPrefix PD0050 LegendreSum10 occurrences
Exact expanded native-PA statement
forall p n C v. ((~(p = 1) /\ forall frm_prime_left_b5cccbbc_prime frm_prime_right_b5cccbbc_prime. p = frm_prime_left_b5cccbbc_prime * frm_prime_right_b5cccbbc_prime -> frm_prime_left_b5cccbbc_prime = 1 \/ frm_prime_right_b5cccbbc_prime = 1)) -> (((exists bcf_lt_gap_b5cccbbc_central_out_of_range. bcf_lt_gap_b5cccbbc_central_out_of_range + S (n + n) = n) /\ C = 0) \/ ((exists bcf_le_gap_b5cccbbc_central_in_range. bcf_le_gap_b5cccbbc_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_b5cccbbc_central bcf_row_code_scale_b5cccbbc_central bcf_row_scale_code_b5cccbbc_central bcf_row_scale_scale_b5cccbbc_central bcf_row_code_b5cccbbc_central bcf_row_scale_b5cccbbc_central. ((forall bcf_row_index_b5cccbbc_central_table. (exists bcf_lt_gap_b5cccbbc_central_table_row_bound. bcf_lt_gap_b5cccbbc_central_table_row_bound + S (bcf_row_index_b5cccbbc_central_table) = S (n + n)) -> exists bcf_row_code_b5cccbbc_central_table bcf_row_scale_b5cccbbc_central_table. ((((exists bcf_height_b5cccbbc_central_table_decoded_row_code. bcf_height_b5cccbbc_central_table_decoded_row_code + S (bcf_row_code_b5cccbbc_central_table) = S ((S (bcf_row_index_b5cccbbc_central_table)) * bcf_row_code_scale_b5cccbbc_central)) /\ exists bcf_quotient_b5cccbbc_central_table_decoded_row_code. bcf_row_code_code_b5cccbbc_central = bcf_quotient_b5cccbbc_central_table_decoded_row_code * S ((S (bcf_row_index_b5cccbbc_central_table)) * bcf_row_code_scale_b5cccbbc_central) + (bcf_row_code_b5cccbbc_central_table))) /\ ((((exists bcf_height_b5cccbbc_central_table_decoded_row_scale. bcf_height_b5cccbbc_central_table_decoded_row_scale + S (bcf_row_scale_b5cccbbc_central_table) = S ((S (bcf_row_index_b5cccbbc_central_table)) * bcf_row_scale_scale_b5cccbbc_central)) /\ exists bcf_quotient_b5cccbbc_central_table_decoded_row_scale. bcf_row_scale_code_b5cccbbc_central = bcf_quotient_b5cccbbc_central_table_decoded_row_scale * S ((S (bcf_row_index_b5cccbbc_central_table)) * bcf_row_scale_scale_b5cccbbc_central) + (bcf_row_scale_b5cccbbc_central_table))) /\ ((bcf_row_index_b5cccbbc_central_table = 0 /\ (forall bcf_index_b5cccbbc_central_table_zero_row. (exists bcf_lt_gap_b5cccbbc_central_table_zero_row_bound. bcf_lt_gap_b5cccbbc_central_table_zero_row_bound + S (bcf_index_b5cccbbc_central_table_zero_row) = S (n + n)) -> exists bcf_value_b5cccbbc_central_table_zero_row. ((((exists bcf_height_b5cccbbc_central_table_zero_row_entry. bcf_height_b5cccbbc_central_table_zero_row_entry + S (bcf_value_b5cccbbc_central_table_zero_row) = S ((S (bcf_index_b5cccbbc_central_table_zero_row)) * bcf_row_scale_b5cccbbc_central_table)) /\ exists bcf_quotient_b5cccbbc_central_table_zero_row_entry. bcf_row_code_b5cccbbc_central_table = bcf_quotient_b5cccbbc_central_table_zero_row_entry * S ((S (bcf_index_b5cccbbc_central_table_zero_row)) * bcf_row_scale_b5cccbbc_central_table) + (bcf_value_b5cccbbc_central_table_zero_row))) /\ ((bcf_index_b5cccbbc_central_table_zero_row = 0 /\ bcf_value_b5cccbbc_central_table_zero_row = 1) \/ exists bcf_predecessor_b5cccbbc_central_table_zero_row. bcf_index_b5cccbbc_central_table_zero_row = S bcf_predecessor_b5cccbbc_central_table_zero_row /\ bcf_value_b5cccbbc_central_table_zero_row = 0)))) \/ exists bcf_predecessor_b5cccbbc_central_table bcf_previous_code_b5cccbbc_central_table bcf_previous_scale_b5cccbbc_central_table. bcf_row_index_b5cccbbc_central_table = S bcf_predecessor_b5cccbbc_central_table /\ ((((exists bcf_height_b5cccbbc_central_table_decoded_previous_code. bcf_height_b5cccbbc_central_table_decoded_previous_code + S (bcf_previous_code_b5cccbbc_central_table) = S ((S (bcf_predecessor_b5cccbbc_central_table)) * bcf_row_code_scale_b5cccbbc_central)) /\ exists bcf_quotient_b5cccbbc_central_table_decoded_previous_code. bcf_row_code_code_b5cccbbc_central = bcf_quotient_b5cccbbc_central_table_decoded_previous_code * S ((S (bcf_predecessor_b5cccbbc_central_table)) * bcf_row_code_scale_b5cccbbc_central) + (bcf_previous_code_b5cccbbc_central_table))) /\ ((((exists bcf_height_b5cccbbc_central_table_decoded_previous_scale. bcf_height_b5cccbbc_central_table_decoded_previous_scale + S (bcf_previous_scale_b5cccbbc_central_table) = S ((S (bcf_predecessor_b5cccbbc_central_table)) * bcf_row_scale_scale_b5cccbbc_central)) /\ exists bcf_quotient_b5cccbbc_central_table_decoded_previous_scale. bcf_row_scale_code_b5cccbbc_central = bcf_quotient_b5cccbbc_central_table_decoded_previous_scale * S ((S (bcf_predecessor_b5cccbbc_central_table)) * bcf_row_scale_scale_b5cccbbc_central) + (bcf_previous_scale_b5cccbbc_central_table))) /\ (forall bcf_index_b5cccbbc_central_table_row_step. (exists bcf_lt_gap_b5cccbbc_central_table_row_step_bound. bcf_lt_gap_b5cccbbc_central_table_row_step_bound + S (bcf_index_b5cccbbc_central_table_row_step) = S (n + n)) -> exists bcf_value_b5cccbbc_central_table_row_step. ((((exists bcf_height_b5cccbbc_central_table_row_step_entry. bcf_height_b5cccbbc_central_table_row_step_entry + S (bcf_value_b5cccbbc_central_table_row_step) = S ((S (bcf_index_b5cccbbc_central_table_row_step)) * bcf_row_scale_b5cccbbc_central_table)) /\ exists bcf_quotient_b5cccbbc_central_table_row_step_entry. bcf_row_code_b5cccbbc_central_table = bcf_quotient_b5cccbbc_central_table_row_step_entry * S ((S (bcf_index_b5cccbbc_central_table_row_step)) * bcf_row_scale_b5cccbbc_central_table) + (bcf_value_b5cccbbc_central_table_row_step))) /\ ((bcf_index_b5cccbbc_central_table_row_step = 0 /\ bcf_value_b5cccbbc_central_table_row_step = 1) \/ exists bcf_predecessor_b5cccbbc_central_table_row_step bcf_left_b5cccbbc_central_table_row_step bcf_right_b5cccbbc_central_table_row_step. bcf_index_b5cccbbc_central_table_row_step = S bcf_predecessor_b5cccbbc_central_table_row_step /\ ((((exists bcf_height_b5cccbbc_central_table_row_step_previous_left. bcf_height_b5cccbbc_central_table_row_step_previous_left + S (bcf_left_b5cccbbc_central_table_row_step) = S ((S (bcf_predecessor_b5cccbbc_central_table_row_step)) * bcf_previous_scale_b5cccbbc_central_table)) /\ exists bcf_quotient_b5cccbbc_central_table_row_step_previous_left. bcf_previous_code_b5cccbbc_central_table = bcf_quotient_b5cccbbc_central_table_row_step_previous_left * S ((S (bcf_predecessor_b5cccbbc_central_table_row_step)) * bcf_previous_scale_b5cccbbc_central_table) + (bcf_left_b5cccbbc_central_table_row_step))) /\ ((((exists bcf_height_b5cccbbc_central_table_row_step_previous_right. bcf_height_b5cccbbc_central_table_row_step_previous_right + S (bcf_right_b5cccbbc_central_table_row_step) = S ((S (S (bcf_predecessor_b5cccbbc_central_table_row_step))) * bcf_previous_scale_b5cccbbc_central_table)) /\ exists bcf_quotient_b5cccbbc_central_table_row_step_previous_right. bcf_previous_code_b5cccbbc_central_table = bcf_quotient_b5cccbbc_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_b5cccbbc_central_table_row_step))) * bcf_previous_scale_b5cccbbc_central_table) + (bcf_right_b5cccbbc_central_table_row_step))) /\ bcf_value_b5cccbbc_central_table_row_step = bcf_left_b5cccbbc_central_table_row_step + bcf_right_b5cccbbc_central_table_row_step))))))))))) /\ ((((exists bcf_height_b5cccbbc_central_decoded_row_code. bcf_height_b5cccbbc_central_decoded_row_code + S (bcf_row_code_b5cccbbc_central) = S ((S (n + n)) * bcf_row_code_scale_b5cccbbc_central)) /\ exists bcf_quotient_b5cccbbc_central_decoded_row_code. bcf_row_code_code_b5cccbbc_central = bcf_quotient_b5cccbbc_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_b5cccbbc_central) + (bcf_row_code_b5cccbbc_central))) /\ ((((exists bcf_height_b5cccbbc_central_decoded_row_scale. bcf_height_b5cccbbc_central_decoded_row_scale + S (bcf_row_scale_b5cccbbc_central) = S ((S (n + n)) * bcf_row_scale_scale_b5cccbbc_central)) /\ exists bcf_quotient_b5cccbbc_central_decoded_row_scale. bcf_row_scale_code_b5cccbbc_central = bcf_quotient_b5cccbbc_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_b5cccbbc_central) + (bcf_row_scale_b5cccbbc_central))) /\ (((exists bcf_height_b5cccbbc_central_decoded_value. bcf_height_b5cccbbc_central_decoded_value + S (C) = S ((S (n)) * bcf_row_scale_b5cccbbc_central)) /\ exists bcf_quotient_b5cccbbc_central_decoded_value. bcf_row_code_b5cccbbc_central = bcf_quotient_b5cccbbc_central_decoded_value * S ((S (n)) * bcf_row_scale_b5cccbbc_central) + (C))))))))) -> (((exists bpv_gap_b5cccbbc_valuation_exponent_bound. bpv_gap_b5cccbbc_valuation_exponent_bound + v = C) /\ (exists bpv_result_b5cccbbc_valuation_selected. ((exists ff_b_b5cccbbc_valuation_selected_power ff_c_b5cccbbc_valuation_selected_power. ((forall ff_i_b5cccbbc_valuation_selected_power_repeat. (exists ff_lt_b5cccbbc_valuation_selected_power_repeat_bound. ff_lt_b5cccbbc_valuation_selected_power_repeat_bound + S ff_i_b5cccbbc_valuation_selected_power_repeat = v) -> (((exists ff_h_b5cccbbc_valuation_selected_power_repeat_decoded. ff_h_b5cccbbc_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_b5cccbbc_valuation_selected_power_repeat)) * ff_c_b5cccbbc_valuation_selected_power)) /\ exists ff_q_b5cccbbc_valuation_selected_power_repeat_decoded. ff_b_b5cccbbc_valuation_selected_power = ff_q_b5cccbbc_valuation_selected_power_repeat_decoded * S ((S (ff_i_b5cccbbc_valuation_selected_power_repeat)) * ff_c_b5cccbbc_valuation_selected_power) + (p)))) /\ (exists ff_u_b5cccbbc_valuation_selected_power_product ff_v_b5cccbbc_valuation_selected_power_product. ((((exists ff_h_b5cccbbc_valuation_selected_power_product_start. ff_h_b5cccbbc_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_b5cccbbc_valuation_selected_power_product)) /\ exists ff_q_b5cccbbc_valuation_selected_power_product_start. ff_u_b5cccbbc_valuation_selected_power_product = ff_q_b5cccbbc_valuation_selected_power_product_start * S ((S (0)) * ff_v_b5cccbbc_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_b5cccbbc_valuation_selected_power_product_terminal. ff_h_b5cccbbc_valuation_selected_power_product_terminal + S (bpv_result_b5cccbbc_valuation_selected) = S ((S (v)) * ff_v_b5cccbbc_valuation_selected_power_product)) /\ exists ff_q_b5cccbbc_valuation_selected_power_product_terminal. ff_u_b5cccbbc_valuation_selected_power_product = ff_q_b5cccbbc_valuation_selected_power_product_terminal * S ((S (v)) * ff_v_b5cccbbc_valuation_selected_power_product) + (bpv_result_b5cccbbc_valuation_selected))) /\ forall ff_i_b5cccbbc_valuation_selected_power_product. (exists ff_lt_b5cccbbc_valuation_selected_power_product_bound. ff_lt_b5cccbbc_valuation_selected_power_product_bound + S ff_i_b5cccbbc_valuation_selected_power_product = v) -> exists ff_p_b5cccbbc_valuation_selected_power_product ff_r_b5cccbbc_valuation_selected_power_product ff_s_b5cccbbc_valuation_selected_power_product. ((((exists ff_h_b5cccbbc_valuation_selected_power_product_factor. ff_h_b5cccbbc_valuation_selected_power_product_factor + S (ff_p_b5cccbbc_valuation_selected_power_product) = S ((S (ff_i_b5cccbbc_valuation_selected_power_product)) * ff_c_b5cccbbc_valuation_selected_power)) /\ exists ff_q_b5cccbbc_valuation_selected_power_product_factor. ff_b_b5cccbbc_valuation_selected_power = ff_q_b5cccbbc_valuation_selected_power_product_factor * S ((S (ff_i_b5cccbbc_valuation_selected_power_product)) * ff_c_b5cccbbc_valuation_selected_power) + (ff_p_b5cccbbc_valuation_selected_power_product))) /\ ((((exists ff_h_b5cccbbc_valuation_selected_power_product_partial. ff_h_b5cccbbc_valuation_selected_power_product_partial + S (ff_r_b5cccbbc_valuation_selected_power_product) = S ((S (ff_i_b5cccbbc_valuation_selected_power_product)) * ff_v_b5cccbbc_valuation_selected_power_product)) /\ exists ff_q_b5cccbbc_valuation_selected_power_product_partial. ff_u_b5cccbbc_valuation_selected_power_product = ff_q_b5cccbbc_valuation_selected_power_product_partial * S ((S (ff_i_b5cccbbc_valuation_selected_power_product)) * ff_v_b5cccbbc_valuation_selected_power_product) + (ff_r_b5cccbbc_valuation_selected_power_product))) /\ ((((exists ff_h_b5cccbbc_valuation_selected_power_product_successor. ff_h_b5cccbbc_valuation_selected_power_product_successor + S (ff_s_b5cccbbc_valuation_selected_power_product) = S ((S (S ff_i_b5cccbbc_valuation_selected_power_product)) * ff_v_b5cccbbc_valuation_selected_power_product)) /\ exists ff_q_b5cccbbc_valuation_selected_power_product_successor. ff_u_b5cccbbc_valuation_selected_power_product = ff_q_b5cccbbc_valuation_selected_power_product_successor * S ((S (S ff_i_b5cccbbc_valuation_selected_power_product)) * ff_v_b5cccbbc_valuation_selected_power_product) + (ff_s_b5cccbbc_valuation_selected_power_product))) /\ ff_s_b5cccbbc_valuation_selected_power_product = ff_r_b5cccbbc_valuation_selected_power_product * ff_p_b5cccbbc_valuation_selected_power_product)))))))) /\ (exists bpv_factor_b5cccbbc_valuation_selected_divides. C = bpv_result_b5cccbbc_valuation_selected * bpv_factor_b5cccbbc_valuation_selected_divides)))) /\ forall bpv_candidate_b5cccbbc_valuation. (exists bpv_gap_b5cccbbc_valuation_candidate_bound. bpv_gap_b5cccbbc_valuation_candidate_bound + bpv_candidate_b5cccbbc_valuation = C) -> (exists bpv_result_b5cccbbc_valuation_candidate. ((exists ff_b_b5cccbbc_valuation_candidate_power ff_c_b5cccbbc_valuation_candidate_power. ((forall ff_i_b5cccbbc_valuation_candidate_power_repeat. (exists ff_lt_b5cccbbc_valuation_candidate_power_repeat_bound. ff_lt_b5cccbbc_valuation_candidate_power_repeat_bound + S ff_i_b5cccbbc_valuation_candidate_power_repeat = bpv_candidate_b5cccbbc_valuation) -> (((exists ff_h_b5cccbbc_valuation_candidate_power_repeat_decoded. ff_h_b5cccbbc_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_b5cccbbc_valuation_candidate_power_repeat)) * ff_c_b5cccbbc_valuation_candidate_power)) /\ exists ff_q_b5cccbbc_valuation_candidate_power_repeat_decoded. ff_b_b5cccbbc_valuation_candidate_power = ff_q_b5cccbbc_valuation_candidate_power_repeat_decoded * S ((S (ff_i_b5cccbbc_valuation_candidate_power_repeat)) * ff_c_b5cccbbc_valuation_candidate_power) + (p)))) /\ (exists ff_u_b5cccbbc_valuation_candidate_power_product ff_v_b5cccbbc_valuation_candidate_power_product. ((((exists ff_h_b5cccbbc_valuation_candidate_power_product_start. ff_h_b5cccbbc_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_b5cccbbc_valuation_candidate_power_product)) /\ exists ff_q_b5cccbbc_valuation_candidate_power_product_start. ff_u_b5cccbbc_valuation_candidate_power_product = ff_q_b5cccbbc_valuation_candidate_power_product_start * S ((S (0)) * ff_v_b5cccbbc_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_b5cccbbc_valuation_candidate_power_product_terminal. ff_h_b5cccbbc_valuation_candidate_power_product_terminal + S (bpv_result_b5cccbbc_valuation_candidate) = S ((S (bpv_candidate_b5cccbbc_valuation)) * ff_v_b5cccbbc_valuation_candidate_power_product)) /\ exists ff_q_b5cccbbc_valuation_candidate_power_product_terminal. ff_u_b5cccbbc_valuation_candidate_power_product = ff_q_b5cccbbc_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_b5cccbbc_valuation)) * ff_v_b5cccbbc_valuation_candidate_power_product) + (bpv_result_b5cccbbc_valuation_candidate))) /\ forall ff_i_b5cccbbc_valuation_candidate_power_product. (exists ff_lt_b5cccbbc_valuation_candidate_power_product_bound. ff_lt_b5cccbbc_valuation_candidate_power_product_bound + S ff_i_b5cccbbc_valuation_candidate_power_product = bpv_candidate_b5cccbbc_valuation) -> exists ff_p_b5cccbbc_valuation_candidate_power_product ff_r_b5cccbbc_valuation_candidate_power_product ff_s_b5cccbbc_valuation_candidate_power_product. ((((exists ff_h_b5cccbbc_valuation_candidate_power_product_factor. ff_h_b5cccbbc_valuation_candidate_power_product_factor + S (ff_p_b5cccbbc_valuation_candidate_power_product) = S ((S (ff_i_b5cccbbc_valuation_candidate_power_product)) * ff_c_b5cccbbc_valuation_candidate_power)) /\ exists ff_q_b5cccbbc_valuation_candidate_power_product_factor. ff_b_b5cccbbc_valuation_candidate_power = ff_q_b5cccbbc_valuation_candidate_power_product_factor * S ((S (ff_i_b5cccbbc_valuation_candidate_power_product)) * ff_c_b5cccbbc_valuation_candidate_power) + (ff_p_b5cccbbc_valuation_candidate_power_product))) /\ ((((exists ff_h_b5cccbbc_valuation_candidate_power_product_partial. ff_h_b5cccbbc_valuation_candidate_power_product_partial + S (ff_r_b5cccbbc_valuation_candidate_power_product) = S ((S (ff_i_b5cccbbc_valuation_candidate_power_product)) * ff_v_b5cccbbc_valuation_candidate_power_product)) /\ exists ff_q_b5cccbbc_valuation_candidate_power_product_partial. ff_u_b5cccbbc_valuation_candidate_power_product = ff_q_b5cccbbc_valuation_candidate_power_product_partial * S ((S (ff_i_b5cccbbc_valuation_candidate_power_product)) * ff_v_b5cccbbc_valuation_candidate_power_product) + (ff_r_b5cccbbc_valuation_candidate_power_product))) /\ ((((exists ff_h_b5cccbbc_valuation_candidate_power_product_successor. ff_h_b5cccbbc_valuation_candidate_power_product_successor + S (ff_s_b5cccbbc_valuation_candidate_power_product) = S ((S (S ff_i_b5cccbbc_valuation_candidate_power_product)) * ff_v_b5cccbbc_valuation_candidate_power_product)) /\ exists ff_q_b5cccbbc_valuation_candidate_power_product_successor. ff_u_b5cccbbc_valuation_candidate_power_product = ff_q_b5cccbbc_valuation_candidate_power_product_successor * S ((S (S ff_i_b5cccbbc_valuation_candidate_power_product)) * ff_v_b5cccbbc_valuation_candidate_power_product) + (ff_s_b5cccbbc_valuation_candidate_power_product))) /\ ff_s_b5cccbbc_valuation_candidate_power_product = ff_r_b5cccbbc_valuation_candidate_power_product * ff_p_b5cccbbc_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_b5cccbbc_valuation_candidate_divides. C = bpv_result_b5cccbbc_valuation_candidate * bpv_factor_b5cccbbc_valuation_candidate_divides))) -> (exists bpv_gap_b5cccbbc_valuation_maximal. bpv_gap_b5cccbbc_valuation_maximal + bpv_candidate_b5cccbbc_valuation = v)) -> exists b s d t f g. (forall bls_index_b5cccbbc_left. (exists bls_gap_b5cccbbc_left_bound. bls_gap_b5cccbbc_left_bound + S (bls_index_b5cccbbc_left) = (n + n)) -> exists bls_power_b5cccbbc_left bls_quotient_b5cccbbc_left bls_remainder_b5cccbbc_left. ((exists bpvi_b_bls_b5cccbbc_left_power bpvi_c_bls_b5cccbbc_left_power. ((forall bpvi_i_bls_b5cccbbc_left_power. (exists bpvi_repeat_gap_bls_b5cccbbc_left_power. bpvi_repeat_gap_bls_b5cccbbc_left_power + S bpvi_i_bls_b5cccbbc_left_power = S bls_index_b5cccbbc_left) -> (((exists bpvi_h_bls_b5cccbbc_left_power_repeat. bpvi_h_bls_b5cccbbc_left_power_repeat + S (p) = S ((S (bpvi_i_bls_b5cccbbc_left_power)) * bpvi_c_bls_b5cccbbc_left_power)) /\ exists bpvi_q_bls_b5cccbbc_left_power_repeat. bpvi_b_bls_b5cccbbc_left_power = bpvi_q_bls_b5cccbbc_left_power_repeat * S ((S (bpvi_i_bls_b5cccbbc_left_power)) * bpvi_c_bls_b5cccbbc_left_power) + (p)))) /\ (exists bpvi_u_bls_b5cccbbc_left_power bpvi_v_bls_b5cccbbc_left_power. ((((exists bpvi_h_bls_b5cccbbc_left_power_start. bpvi_h_bls_b5cccbbc_left_power_start + S (1) = S ((S (0)) * bpvi_v_bls_b5cccbbc_left_power)) /\ exists bpvi_q_bls_b5cccbbc_left_power_start. bpvi_u_bls_b5cccbbc_left_power = bpvi_q_bls_b5cccbbc_left_power_start * S ((S (0)) * bpvi_v_bls_b5cccbbc_left_power) + (1))) /\ ((((exists bpvi_h_bls_b5cccbbc_left_power_terminal. bpvi_h_bls_b5cccbbc_left_power_terminal + S (bls_power_b5cccbbc_left) = S ((S (S bls_index_b5cccbbc_left)) * bpvi_v_bls_b5cccbbc_left_power)) /\ exists bpvi_q_bls_b5cccbbc_left_power_terminal. bpvi_u_bls_b5cccbbc_left_power = bpvi_q_bls_b5cccbbc_left_power_terminal * S ((S (S bls_index_b5cccbbc_left)) * bpvi_v_bls_b5cccbbc_left_power) + (bls_power_b5cccbbc_left))) /\ forall bpvi_j_bls_b5cccbbc_left_power. (exists bpvi_product_gap_bls_b5cccbbc_left_power. bpvi_product_gap_bls_b5cccbbc_left_power + S bpvi_j_bls_b5cccbbc_left_power = S bls_index_b5cccbbc_left) -> exists bpvi_factor_bls_b5cccbbc_left_power bpvi_partial_bls_b5cccbbc_left_power bpvi_successor_bls_b5cccbbc_left_power. ((((exists bpvi_h_bls_b5cccbbc_left_power_factor. bpvi_h_bls_b5cccbbc_left_power_factor + S (bpvi_factor_bls_b5cccbbc_left_power) = S ((S (bpvi_j_bls_b5cccbbc_left_power)) * bpvi_c_bls_b5cccbbc_left_power)) /\ exists bpvi_q_bls_b5cccbbc_left_power_factor. bpvi_b_bls_b5cccbbc_left_power = bpvi_q_bls_b5cccbbc_left_power_factor * S ((S (bpvi_j_bls_b5cccbbc_left_power)) * bpvi_c_bls_b5cccbbc_left_power) + (bpvi_factor_bls_b5cccbbc_left_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_left_power_partial. bpvi_h_bls_b5cccbbc_left_power_partial + S (bpvi_partial_bls_b5cccbbc_left_power) = S ((S (bpvi_j_bls_b5cccbbc_left_power)) * bpvi_v_bls_b5cccbbc_left_power)) /\ exists bpvi_q_bls_b5cccbbc_left_power_partial. bpvi_u_bls_b5cccbbc_left_power = bpvi_q_bls_b5cccbbc_left_power_partial * S ((S (bpvi_j_bls_b5cccbbc_left_power)) * bpvi_v_bls_b5cccbbc_left_power) + (bpvi_partial_bls_b5cccbbc_left_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_left_power_successor. bpvi_h_bls_b5cccbbc_left_power_successor + S (bpvi_successor_bls_b5cccbbc_left_power) = S ((S (S bpvi_j_bls_b5cccbbc_left_power)) * bpvi_v_bls_b5cccbbc_left_power)) /\ exists bpvi_q_bls_b5cccbbc_left_power_successor. bpvi_u_bls_b5cccbbc_left_power = bpvi_q_bls_b5cccbbc_left_power_successor * S ((S (S bpvi_j_bls_b5cccbbc_left_power)) * bpvi_v_bls_b5cccbbc_left_power) + (bpvi_successor_bls_b5cccbbc_left_power))) /\ bpvi_successor_bls_b5cccbbc_left_power = bpvi_partial_bls_b5cccbbc_left_power * bpvi_factor_bls_b5cccbbc_left_power)))))))) /\ ((((exists ff_h_bls_b5cccbbc_left_quotient_entry. ff_h_bls_b5cccbbc_left_quotient_entry + S (bls_quotient_b5cccbbc_left) = S ((S (bls_index_b5cccbbc_left)) * s)) /\ exists ff_q_bls_b5cccbbc_left_quotient_entry. b = ff_q_bls_b5cccbbc_left_quotient_entry * S ((S (bls_index_b5cccbbc_left)) * s) + (bls_quotient_b5cccbbc_left))) /\ ((n = bls_power_b5cccbbc_left * bls_quotient_b5cccbbc_left + bls_remainder_b5cccbbc_left /\ exists bls_remainder_gap_b5cccbbc_left_division. bls_remainder_gap_b5cccbbc_left_division + S (bls_remainder_b5cccbbc_left) = bls_power_b5cccbbc_left))))) /\ ((forall bls_index_b5cccbbc_right. (exists bls_gap_b5cccbbc_right_bound. bls_gap_b5cccbbc_right_bound + S (bls_index_b5cccbbc_right) = (n + n)) -> exists bls_power_b5cccbbc_right bls_quotient_b5cccbbc_right bls_remainder_b5cccbbc_right. ((exists bpvi_b_bls_b5cccbbc_right_power bpvi_c_bls_b5cccbbc_right_power. ((forall bpvi_i_bls_b5cccbbc_right_power. (exists bpvi_repeat_gap_bls_b5cccbbc_right_power. bpvi_repeat_gap_bls_b5cccbbc_right_power + S bpvi_i_bls_b5cccbbc_right_power = S bls_index_b5cccbbc_right) -> (((exists bpvi_h_bls_b5cccbbc_right_power_repeat. bpvi_h_bls_b5cccbbc_right_power_repeat + S (p) = S ((S (bpvi_i_bls_b5cccbbc_right_power)) * bpvi_c_bls_b5cccbbc_right_power)) /\ exists bpvi_q_bls_b5cccbbc_right_power_repeat. bpvi_b_bls_b5cccbbc_right_power = bpvi_q_bls_b5cccbbc_right_power_repeat * S ((S (bpvi_i_bls_b5cccbbc_right_power)) * bpvi_c_bls_b5cccbbc_right_power) + (p)))) /\ (exists bpvi_u_bls_b5cccbbc_right_power bpvi_v_bls_b5cccbbc_right_power. ((((exists bpvi_h_bls_b5cccbbc_right_power_start. bpvi_h_bls_b5cccbbc_right_power_start + S (1) = S ((S (0)) * bpvi_v_bls_b5cccbbc_right_power)) /\ exists bpvi_q_bls_b5cccbbc_right_power_start. bpvi_u_bls_b5cccbbc_right_power = bpvi_q_bls_b5cccbbc_right_power_start * S ((S (0)) * bpvi_v_bls_b5cccbbc_right_power) + (1))) /\ ((((exists bpvi_h_bls_b5cccbbc_right_power_terminal. bpvi_h_bls_b5cccbbc_right_power_terminal + S (bls_power_b5cccbbc_right) = S ((S (S bls_index_b5cccbbc_right)) * bpvi_v_bls_b5cccbbc_right_power)) /\ exists bpvi_q_bls_b5cccbbc_right_power_terminal. bpvi_u_bls_b5cccbbc_right_power = bpvi_q_bls_b5cccbbc_right_power_terminal * S ((S (S bls_index_b5cccbbc_right)) * bpvi_v_bls_b5cccbbc_right_power) + (bls_power_b5cccbbc_right))) /\ forall bpvi_j_bls_b5cccbbc_right_power. (exists bpvi_product_gap_bls_b5cccbbc_right_power. bpvi_product_gap_bls_b5cccbbc_right_power + S bpvi_j_bls_b5cccbbc_right_power = S bls_index_b5cccbbc_right) -> exists bpvi_factor_bls_b5cccbbc_right_power bpvi_partial_bls_b5cccbbc_right_power bpvi_successor_bls_b5cccbbc_right_power. ((((exists bpvi_h_bls_b5cccbbc_right_power_factor. bpvi_h_bls_b5cccbbc_right_power_factor + S (bpvi_factor_bls_b5cccbbc_right_power) = S ((S (bpvi_j_bls_b5cccbbc_right_power)) * bpvi_c_bls_b5cccbbc_right_power)) /\ exists bpvi_q_bls_b5cccbbc_right_power_factor. bpvi_b_bls_b5cccbbc_right_power = bpvi_q_bls_b5cccbbc_right_power_factor * S ((S (bpvi_j_bls_b5cccbbc_right_power)) * bpvi_c_bls_b5cccbbc_right_power) + (bpvi_factor_bls_b5cccbbc_right_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_right_power_partial. bpvi_h_bls_b5cccbbc_right_power_partial + S (bpvi_partial_bls_b5cccbbc_right_power) = S ((S (bpvi_j_bls_b5cccbbc_right_power)) * bpvi_v_bls_b5cccbbc_right_power)) /\ exists bpvi_q_bls_b5cccbbc_right_power_partial. bpvi_u_bls_b5cccbbc_right_power = bpvi_q_bls_b5cccbbc_right_power_partial * S ((S (bpvi_j_bls_b5cccbbc_right_power)) * bpvi_v_bls_b5cccbbc_right_power) + (bpvi_partial_bls_b5cccbbc_right_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_right_power_successor. bpvi_h_bls_b5cccbbc_right_power_successor + S (bpvi_successor_bls_b5cccbbc_right_power) = S ((S (S bpvi_j_bls_b5cccbbc_right_power)) * bpvi_v_bls_b5cccbbc_right_power)) /\ exists bpvi_q_bls_b5cccbbc_right_power_successor. bpvi_u_bls_b5cccbbc_right_power = bpvi_q_bls_b5cccbbc_right_power_successor * S ((S (S bpvi_j_bls_b5cccbbc_right_power)) * bpvi_v_bls_b5cccbbc_right_power) + (bpvi_successor_bls_b5cccbbc_right_power))) /\ bpvi_successor_bls_b5cccbbc_right_power = bpvi_partial_bls_b5cccbbc_right_power * bpvi_factor_bls_b5cccbbc_right_power)))))))) /\ ((((exists ff_h_bls_b5cccbbc_right_quotient_entry. ff_h_bls_b5cccbbc_right_quotient_entry + S (bls_quotient_b5cccbbc_right) = S ((S (bls_index_b5cccbbc_right)) * t)) /\ exists ff_q_bls_b5cccbbc_right_quotient_entry. d = ff_q_bls_b5cccbbc_right_quotient_entry * S ((S (bls_index_b5cccbbc_right)) * t) + (bls_quotient_b5cccbbc_right))) /\ ((n + n = bls_power_b5cccbbc_right * bls_quotient_b5cccbbc_right + bls_remainder_b5cccbbc_right /\ exists bls_remainder_gap_b5cccbbc_right_division. bls_remainder_gap_b5cccbbc_right_division + S (bls_remainder_b5cccbbc_right) = bls_power_b5cccbbc_right))))) /\ ((forall b5cc_index_b5cccbbc_carries. (exists bcf_lt_gap_b5cccbbc_carries_bound. bcf_lt_gap_b5cccbbc_carries_bound + S (b5cc_index_b5cccbbc_carries) = n + n) -> exists b5cc_left_b5cccbbc_carries b5cc_right_b5cccbbc_carries b5cc_bit_b5cccbbc_carries. (((exists fs_h_b5cc_b5cccbbc_carries_left. fs_h_b5cc_b5cccbbc_carries_left + S (b5cc_left_b5cccbbc_carries) = S ((S (b5cc_index_b5cccbbc_carries)) * s)) /\ exists fs_q_b5cc_b5cccbbc_carries_left. b = fs_q_b5cc_b5cccbbc_carries_left * S ((S (b5cc_index_b5cccbbc_carries)) * s) + (b5cc_left_b5cccbbc_carries))) /\ ((((exists fs_h_b5cc_b5cccbbc_carries_right. fs_h_b5cc_b5cccbbc_carries_right + S (b5cc_right_b5cccbbc_carries) = S ((S (b5cc_index_b5cccbbc_carries)) * t)) /\ exists fs_q_b5cc_b5cccbbc_carries_right. d = fs_q_b5cc_b5cccbbc_carries_right * S ((S (b5cc_index_b5cccbbc_carries)) * t) + (b5cc_right_b5cccbbc_carries))) /\ ((((exists fs_h_b5cc_b5cccbbc_carries_bit. fs_h_b5cc_b5cccbbc_carries_bit + S (b5cc_bit_b5cccbbc_carries) = S ((S (b5cc_index_b5cccbbc_carries)) * g)) /\ exists fs_q_b5cc_b5cccbbc_carries_bit. f = fs_q_b5cc_b5cccbbc_carries_bit * S ((S (b5cc_index_b5cccbbc_carries)) * g) + (b5cc_bit_b5cccbbc_carries))) /\ (((b5cc_bit_b5cccbbc_carries = 0 /\ b5cc_right_b5cccbbc_carries = b5cc_left_b5cccbbc_carries + b5cc_left_b5cccbbc_carries) \/ (b5cc_bit_b5cccbbc_carries = 1 /\ b5cc_right_b5cccbbc_carries = S (b5cc_left_b5cccbbc_carries + b5cc_left_b5cccbbc_carries))))))) /\ (((exists ff_u_b5cccbbc_count_sum ff_v_b5cccbbc_count_sum. ((((exists ff_h_b5cccbbc_count_sum_start. ff_h_b5cccbbc_count_sum_start + S (0) = S ((S (0)) * ff_v_b5cccbbc_count_sum)) /\ exists ff_q_b5cccbbc_count_sum_start. ff_u_b5cccbbc_count_sum = ff_q_b5cccbbc_count_sum_start * S ((S (0)) * ff_v_b5cccbbc_count_sum) + (0))) /\ ((((exists ff_h_b5cccbbc_count_sum_terminal. ff_h_b5cccbbc_count_sum_terminal + S ((v)) = S ((S ((n + n))) * ff_v_b5cccbbc_count_sum)) /\ exists ff_q_b5cccbbc_count_sum_terminal. ff_u_b5cccbbc_count_sum = ff_q_b5cccbbc_count_sum_terminal * S ((S ((n + n))) * ff_v_b5cccbbc_count_sum) + ((v)))) /\ forall ff_i_b5cccbbc_count_sum. (exists ff_lt_b5cccbbc_count_sum_bound. ff_lt_b5cccbbc_count_sum_bound + S ff_i_b5cccbbc_count_sum = (n + n)) -> exists ff_a_b5cccbbc_count_sum ff_r_b5cccbbc_count_sum ff_s_b5cccbbc_count_sum. ((((exists ff_h_b5cccbbc_count_sum_summand. ff_h_b5cccbbc_count_sum_summand + S (ff_a_b5cccbbc_count_sum) = S ((S (ff_i_b5cccbbc_count_sum)) * g)) /\ exists ff_q_b5cccbbc_count_sum_summand. f = ff_q_b5cccbbc_count_sum_summand * S ((S (ff_i_b5cccbbc_count_sum)) * g) + (ff_a_b5cccbbc_count_sum))) /\ ((((exists ff_h_b5cccbbc_count_sum_partial. ff_h_b5cccbbc_count_sum_partial + S (ff_r_b5cccbbc_count_sum) = S ((S (ff_i_b5cccbbc_count_sum)) * ff_v_b5cccbbc_count_sum)) /\ exists ff_q_b5cccbbc_count_sum_partial. ff_u_b5cccbbc_count_sum = ff_q_b5cccbbc_count_sum_partial * S ((S (ff_i_b5cccbbc_count_sum)) * ff_v_b5cccbbc_count_sum) + (ff_r_b5cccbbc_count_sum))) /\ ((((exists ff_h_b5cccbbc_count_sum_successor. ff_h_b5cccbbc_count_sum_successor + S (ff_s_b5cccbbc_count_sum) = S ((S (S ff_i_b5cccbbc_count_sum)) * ff_v_b5cccbbc_count_sum)) /\ exists ff_q_b5cccbbc_count_sum_successor. ff_u_b5cccbbc_count_sum = ff_q_b5cccbbc_count_sum_successor * S ((S (S ff_i_b5cccbbc_count_sum)) * ff_v_b5cccbbc_count_sum) + (ff_s_b5cccbbc_count_sum))) /\ ff_s_b5cccbbc_count_sum = ff_r_b5cccbbc_count_sum + ff_a_b5cccbbc_count_sum)))))) /\ (forall ff_i_b5cccbbc_count_bits. (exists ff_lt_b5cccbbc_count_bits_bound. ff_lt_b5cccbbc_count_bits_bound + S ff_i_b5cccbbc_count_bits = (n + n)) -> exists ff_bit_b5cccbbc_count_bits. ((((exists ff_h_b5cccbbc_count_bits_decoded. ff_h_b5cccbbc_count_bits_decoded + S (ff_bit_b5cccbbc_count_bits) = S ((S (ff_i_b5cccbbc_count_bits)) * g)) /\ exists ff_q_b5cccbbc_count_bits_decoded. f = ff_q_b5cccbbc_count_bits_decoded * S ((S (ff_i_b5cccbbc_count_bits)) * g) + (ff_bit_b5cccbbc_count_bits))) /\ (ff_bit_b5cccbbc_count_bits = 0 \/ ff_bit_b5cccbbc_count_bits = 1)))))))Proof neighborhood
Direct theorem prerequisites
BT00S2 prime_legendre_sum_exists BT00XN central_binom_legendre_valuation_balance BT00XR legendre_sum_extended_prefix_exists BT00XX double_quotient_carry_prefix_exists BT00XY double_quotient_carry_prefix_all_bits BT008L bit_count_exists BT00Y3 beta_sum_double_carry_exact BT000V add_left_cancelDirect 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
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.
Named ingredients (8)
01Fix variables and assumptionsL1–7
02Establish hcolumnL8–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime legendre sum exists.
- L8
have hcolumn : ∃ B. LegendreSum(p,n,B)Definitions: LegendreSum(p,n,B)Original native command in the exact edition - L9
specialize prime_legendre_sum_exists p - L10
specialize prime_legendre_sum_exists n - L11
apply prime_legendre_sum_exists - L12
exact hp
03Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hcolumn
04Establish htotalL14–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime legendre sum exists.
- L14
have htotal : ∃ A. LegendreSum(p,n + n,A)Definitions: LegendreSum(p,n + n,A)Original native command in the exact edition - L15
specialize prime_legendre_sum_exists p - L16
specialize prime_legendre_sum_exists (n + n) - L17
apply prime_legendre_sum_exists - L18
exact hp
05Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
cases htotal
06Establish hbalanceL20–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply central binom legendre valuation balance.
- L20
have hbalance : x1 = (x + x) + v - L21
specialize central_binom_legendre_valuation_balance p - L22
specialize central_binom_legendre_valuation_balance n - L23
specialize central_binom_legendre_valuation_balance C - L24
specialize central_binom_legendre_valuation_balance v - L25
specialize central_binom_legendre_valuation_balance x1 - L26
specialize central_binom_legendre_valuation_balance x - L27
apply central_binom_legendre_valuation_balance - L28
exact hp - L29
exact hcentral
07Use earlier factsL30–32
08Establish hextendedL33–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply legendre sum extended prefix exists.
- L33
have hextended : ∃ b. ∃ s. PowerQuotPrefix(p,n,b,s,n + n) ∧ Sum(b,s,n + n,x)Definitions: PowerQuotPrefix(p,n,b,s,n + n)Sum(b,s,n + n,x)Original native command in the exact edition - L34
specialize legendre_sum_extended_prefix_exists p - L35
specialize legendre_sum_extended_prefix_exists n - L36
specialize legendre_sum_extended_prefix_exists x - L37
specialize legendre_sum_extended_prefix_exists n - L38
apply legendre_sum_extended_prefix_exists - L39
exact hp - L40
exact hcolumn_witness
09Separate the logical casesL41–46
10Establish hcarry_codesL47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply double quotient carry prefix exists.
- L47
have hcarry_codes : ∃ f. ∃ g. ∀ b5cc_index_b5cccbbc_codes. Lt(b5cc_index_b5cccbbc_codes,n + n) → ∃ x. ∃ y. ∃ z. BetaAt(x2,x3,b5cc_index_b5cccbbc_codes,x) ∧ (BetaAt(x4,x5,b5cc_index_b5cccbbc_codes,y) ∧ (BetaAt(f,g,b5cc_index_b5cccbbc_codes,z) ∧ (z = 0 ∧ y = x + x ∨ z = 1 ∧ y = S (x + x))))Definitions: Lt(b5cc_index_b5cccbbc_codes,n + n)BetaAt(x2,x3,b5cc_index_b5cccbbc_codes,x)BetaAt(x4,x5,b5cc_index_b5cccbbc_codes,y)BetaAt(f,g,b5cc_index_b5cccbbc_codes,z)Original native command in the exact edition - L48
specialize double_quotient_carry_prefix_exists p - L49
specialize double_quotient_carry_prefix_exists n - L50
specialize double_quotient_carry_prefix_exists x2 - L51
specialize double_quotient_carry_prefix_exists x3 - L52
specialize double_quotient_carry_prefix_exists x4 - L53
specialize double_quotient_carry_prefix_exists x5 - L54
specialize double_quotient_carry_prefix_exists (n + n) - L55
apply double_quotient_carry_prefix_exists - L56
exact hextended_witness_witness_left
11Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact htotal_witness_witness_witness_left
12Separate the logical casesL58–59
13Establish hall_bitsL60–69
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply double quotient carry prefix all bits.
- L60
have hall_bits : AllBits(x6,x7,n + n)Definitions: AllBits(x6,x7,n + n)Original native command in the exact edition - L61
specialize double_quotient_carry_prefix_all_bits x2 - L62
specialize double_quotient_carry_prefix_all_bits x3 - L63
specialize double_quotient_carry_prefix_all_bits x4 - L64
specialize double_quotient_carry_prefix_all_bits x5 - L65
specialize double_quotient_carry_prefix_all_bits x6 - L66
specialize double_quotient_carry_prefix_all_bits x7 - L67
specialize double_quotient_carry_prefix_all_bits (n + n) - L68
apply double_quotient_carry_prefix_all_bits - L69
exact hcarry_codes_witness_witness
14Establish hcountL70–75
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bit count exists.
- L70
have hcount : ∃ E. BitCount(x6,x7,n + n,E)Definitions: BitCount(x6,x7,n + n,E)Original native command in the exact edition - L71
specialize bit_count_exists x6 - L72
specialize bit_count_exists x7 - L73
specialize bit_count_exists (n + n) - L74
apply bit_count_exists - L75
exact hall_bits
15Separate the logical casesL76–76
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
cases hcount
16Establish hcarry_balanceL77–86
Establish this local claim before using it. It is not an additional assumption.
- L77
have hcarry_balance : x1 = (x + x) + x8 - L78
specialize beta_sum_double_carry_exact x2 - L79
specialize beta_sum_double_carry_exact x3 - L80
specialize beta_sum_double_carry_exact x4 - L81
specialize beta_sum_double_carry_exact x5 - L82
specialize beta_sum_double_carry_exact x6 - L83
specialize beta_sum_double_carry_exact x7 - L84
specialize beta_sum_double_carry_exact (n + n) - L85
specialize beta_sum_double_carry_exact x - L86
specialize beta_sum_double_carry_exact x1
17Use earlier factsL87–92
Instantiate or apply named facts and discharge the corresponding proof obligations.
18Establish hcount_eqL93–102
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add left cancel.
19Calculate and transport equalitiesL103–103
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L103
rewrite hcount_eq at hcount_witness
20Construct an explicit witnessL104–109
21Separate the logical casesL110–110
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L110
split
22Use earlier factsL111–111
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L111
exact hextended_witness_witness_left
23Separate the logical casesL112–112
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L112
split
24Use earlier factsL113–113
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L113
exact htotal_witness_witness_witness_left
25Separate the logical casesL114–114
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L114
split
Original defined command ledger · 116 lines
- 0001
intro p - 0002
intro n - 0003
intro C - 0004
intro v - 0005
intro hp - 0006
intro hcentral - 0007
intro hvaluation - 0008
have hcolumn : ∃ B. LegendreSum(p,n,B)Exact native replay line
have hcolumn : exists B. exists bls_code_b5cccbbc_column bls_scale_b5cccbbc_column. ((forall bls_index_b5cccbbc_column_prefix. (exists bls_gap_b5cccbbc_column_prefix_bound. bls_gap_b5cccbbc_column_prefix_bound + S (bls_index_b5cccbbc_column_prefix) = (n)) -> exists bls_power_b5cccbbc_column_prefix bls_quotient_b5cccbbc_column_prefix bls_remainder_b5cccbbc_column_prefix. ((exists bpvi_b_bls_b5cccbbc_column_prefix_power bpvi_c_bls_b5cccbbc_column_prefix_power. ((forall bpvi_i_bls_b5cccbbc_column_prefix_power. (exists bpvi_repeat_gap_bls_b5cccbbc_column_prefix_power. bpvi_repeat_gap_bls_b5cccbbc_column_prefix_power + S bpvi_i_bls_b5cccbbc_column_prefix_power = S bls_index_b5cccbbc_column_prefix) -> (((exists bpvi_h_bls_b5cccbbc_column_prefix_power_repeat. bpvi_h_bls_b5cccbbc_column_prefix_power_repeat + S (p) = S ((S (bpvi_i_bls_b5cccbbc_column_prefix_power)) * bpvi_c_bls_b5cccbbc_column_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_column_prefix_power_repeat. bpvi_b_bls_b5cccbbc_column_prefix_power = bpvi_q_bls_b5cccbbc_column_prefix_power_repeat * S ((S (bpvi_i_bls_b5cccbbc_column_prefix_power)) * bpvi_c_bls_b5cccbbc_column_prefix_power) + (p)))) /\ (exists bpvi_u_bls_b5cccbbc_column_prefix_power bpvi_v_bls_b5cccbbc_column_prefix_power. ((((exists bpvi_h_bls_b5cccbbc_column_prefix_power_start. bpvi_h_bls_b5cccbbc_column_prefix_power_start + S (1) = S ((S (0)) * bpvi_v_bls_b5cccbbc_column_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_column_prefix_power_start. bpvi_u_bls_b5cccbbc_column_prefix_power = bpvi_q_bls_b5cccbbc_column_prefix_power_start * S ((S (0)) * bpvi_v_bls_b5cccbbc_column_prefix_power) + (1))) /\ ((((exists bpvi_h_bls_b5cccbbc_column_prefix_power_terminal. bpvi_h_bls_b5cccbbc_column_prefix_power_terminal + S (bls_power_b5cccbbc_column_prefix) = S ((S (S bls_index_b5cccbbc_column_prefix)) * bpvi_v_bls_b5cccbbc_column_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_column_prefix_power_terminal. bpvi_u_bls_b5cccbbc_column_prefix_power = bpvi_q_bls_b5cccbbc_column_prefix_power_terminal * S ((S (S bls_index_b5cccbbc_column_prefix)) * bpvi_v_bls_b5cccbbc_column_prefix_power) + (bls_power_b5cccbbc_column_prefix))) /\ forall bpvi_j_bls_b5cccbbc_column_prefix_power. (exists bpvi_product_gap_bls_b5cccbbc_column_prefix_power. bpvi_product_gap_bls_b5cccbbc_column_prefix_power + S bpvi_j_bls_b5cccbbc_column_prefix_power = S bls_index_b5cccbbc_column_prefix) -> exists bpvi_factor_bls_b5cccbbc_column_prefix_power bpvi_partial_bls_b5cccbbc_column_prefix_power bpvi_successor_bls_b5cccbbc_column_prefix_power. ((((exists bpvi_h_bls_b5cccbbc_column_prefix_power_factor. bpvi_h_bls_b5cccbbc_column_prefix_power_factor + S (bpvi_factor_bls_b5cccbbc_column_prefix_power) = S ((S (bpvi_j_bls_b5cccbbc_column_prefix_power)) * bpvi_c_bls_b5cccbbc_column_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_column_prefix_power_factor. bpvi_b_bls_b5cccbbc_column_prefix_power = bpvi_q_bls_b5cccbbc_column_prefix_power_factor * S ((S (bpvi_j_bls_b5cccbbc_column_prefix_power)) * bpvi_c_bls_b5cccbbc_column_prefix_power) + (bpvi_factor_bls_b5cccbbc_column_prefix_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_column_prefix_power_partial. bpvi_h_bls_b5cccbbc_column_prefix_power_partial + S (bpvi_partial_bls_b5cccbbc_column_prefix_power) = S ((S (bpvi_j_bls_b5cccbbc_column_prefix_power)) * bpvi_v_bls_b5cccbbc_column_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_column_prefix_power_partial. bpvi_u_bls_b5cccbbc_column_prefix_power = bpvi_q_bls_b5cccbbc_column_prefix_power_partial * S ((S (bpvi_j_bls_b5cccbbc_column_prefix_power)) * bpvi_v_bls_b5cccbbc_column_prefix_power) + (bpvi_partial_bls_b5cccbbc_column_prefix_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_column_prefix_power_successor. bpvi_h_bls_b5cccbbc_column_prefix_power_successor + S (bpvi_successor_bls_b5cccbbc_column_prefix_power) = S ((S (S bpvi_j_bls_b5cccbbc_column_prefix_power)) * bpvi_v_bls_b5cccbbc_column_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_column_prefix_power_successor. bpvi_u_bls_b5cccbbc_column_prefix_power = bpvi_q_bls_b5cccbbc_column_prefix_power_successor * S ((S (S bpvi_j_bls_b5cccbbc_column_prefix_power)) * bpvi_v_bls_b5cccbbc_column_prefix_power) + (bpvi_successor_bls_b5cccbbc_column_prefix_power))) /\ bpvi_successor_bls_b5cccbbc_column_prefix_power = bpvi_partial_bls_b5cccbbc_column_prefix_power * bpvi_factor_bls_b5cccbbc_column_prefix_power)))))))) /\ ((((exists ff_h_bls_b5cccbbc_column_prefix_quotient_entry. ff_h_bls_b5cccbbc_column_prefix_quotient_entry + S (bls_quotient_b5cccbbc_column_prefix) = S ((S (bls_index_b5cccbbc_column_prefix)) * bls_scale_b5cccbbc_column)) /\ exists ff_q_bls_b5cccbbc_column_prefix_quotient_entry. bls_code_b5cccbbc_column = ff_q_bls_b5cccbbc_column_prefix_quotient_entry * S ((S (bls_index_b5cccbbc_column_prefix)) * bls_scale_b5cccbbc_column) + (bls_quotient_b5cccbbc_column_prefix))) /\ ((n = bls_power_b5cccbbc_column_prefix * bls_quotient_b5cccbbc_column_prefix + bls_remainder_b5cccbbc_column_prefix /\ exists bls_remainder_gap_b5cccbbc_column_prefix_division. bls_remainder_gap_b5cccbbc_column_prefix_division + S (bls_remainder_b5cccbbc_column_prefix) = bls_power_b5cccbbc_column_prefix))))) /\ (exists ff_u_bls_b5cccbbc_column_sum ff_v_bls_b5cccbbc_column_sum. ((((exists ff_h_bls_b5cccbbc_column_sum_start. ff_h_bls_b5cccbbc_column_sum_start + S (0) = S ((S (0)) * ff_v_bls_b5cccbbc_column_sum)) /\ exists ff_q_bls_b5cccbbc_column_sum_start. ff_u_bls_b5cccbbc_column_sum = ff_q_bls_b5cccbbc_column_sum_start * S ((S (0)) * ff_v_bls_b5cccbbc_column_sum) + (0))) /\ ((((exists ff_h_bls_b5cccbbc_column_sum_terminal. ff_h_bls_b5cccbbc_column_sum_terminal + S (B) = S ((S (n)) * ff_v_bls_b5cccbbc_column_sum)) /\ exists ff_q_bls_b5cccbbc_column_sum_terminal. ff_u_bls_b5cccbbc_column_sum = ff_q_bls_b5cccbbc_column_sum_terminal * S ((S (n)) * ff_v_bls_b5cccbbc_column_sum) + (B))) /\ forall ff_i_bls_b5cccbbc_column_sum. (exists ff_lt_bls_b5cccbbc_column_sum_bound. ff_lt_bls_b5cccbbc_column_sum_bound + S ff_i_bls_b5cccbbc_column_sum = n) -> exists ff_a_bls_b5cccbbc_column_sum ff_r_bls_b5cccbbc_column_sum ff_s_bls_b5cccbbc_column_sum. ((((exists ff_h_bls_b5cccbbc_column_sum_summand. ff_h_bls_b5cccbbc_column_sum_summand + S (ff_a_bls_b5cccbbc_column_sum) = S ((S (ff_i_bls_b5cccbbc_column_sum)) * bls_scale_b5cccbbc_column)) /\ exists ff_q_bls_b5cccbbc_column_sum_summand. bls_code_b5cccbbc_column = ff_q_bls_b5cccbbc_column_sum_summand * S ((S (ff_i_bls_b5cccbbc_column_sum)) * bls_scale_b5cccbbc_column) + (ff_a_bls_b5cccbbc_column_sum))) /\ ((((exists ff_h_bls_b5cccbbc_column_sum_partial. ff_h_bls_b5cccbbc_column_sum_partial + S (ff_r_bls_b5cccbbc_column_sum) = S ((S (ff_i_bls_b5cccbbc_column_sum)) * ff_v_bls_b5cccbbc_column_sum)) /\ exists ff_q_bls_b5cccbbc_column_sum_partial. ff_u_bls_b5cccbbc_column_sum = ff_q_bls_b5cccbbc_column_sum_partial * S ((S (ff_i_bls_b5cccbbc_column_sum)) * ff_v_bls_b5cccbbc_column_sum) + (ff_r_bls_b5cccbbc_column_sum))) /\ ((((exists ff_h_bls_b5cccbbc_column_sum_successor. ff_h_bls_b5cccbbc_column_sum_successor + S (ff_s_bls_b5cccbbc_column_sum) = S ((S (S ff_i_bls_b5cccbbc_column_sum)) * ff_v_bls_b5cccbbc_column_sum)) /\ exists ff_q_bls_b5cccbbc_column_sum_successor. ff_u_bls_b5cccbbc_column_sum = ff_q_bls_b5cccbbc_column_sum_successor * S ((S (S ff_i_bls_b5cccbbc_column_sum)) * ff_v_bls_b5cccbbc_column_sum) + (ff_s_bls_b5cccbbc_column_sum))) /\ ff_s_bls_b5cccbbc_column_sum = ff_r_bls_b5cccbbc_column_sum + ff_a_bls_b5cccbbc_column_sum))))))) - 0009
specialize prime_legendre_sum_exists p - 0010
specialize prime_legendre_sum_exists n - 0011
apply prime_legendre_sum_exists - 0012
exact hp - 0013
cases hcolumn - 0014
have htotal : ∃ A. LegendreSum(p,n + n,A)Exact native replay line
have htotal : exists A. exists bls_code_b5cccbbc_total bls_scale_b5cccbbc_total. ((forall bls_index_b5cccbbc_total_prefix. (exists bls_gap_b5cccbbc_total_prefix_bound. bls_gap_b5cccbbc_total_prefix_bound + S (bls_index_b5cccbbc_total_prefix) = ((n + n))) -> exists bls_power_b5cccbbc_total_prefix bls_quotient_b5cccbbc_total_prefix bls_remainder_b5cccbbc_total_prefix. ((exists bpvi_b_bls_b5cccbbc_total_prefix_power bpvi_c_bls_b5cccbbc_total_prefix_power. ((forall bpvi_i_bls_b5cccbbc_total_prefix_power. (exists bpvi_repeat_gap_bls_b5cccbbc_total_prefix_power. bpvi_repeat_gap_bls_b5cccbbc_total_prefix_power + S bpvi_i_bls_b5cccbbc_total_prefix_power = S bls_index_b5cccbbc_total_prefix) -> (((exists bpvi_h_bls_b5cccbbc_total_prefix_power_repeat. bpvi_h_bls_b5cccbbc_total_prefix_power_repeat + S (p) = S ((S (bpvi_i_bls_b5cccbbc_total_prefix_power)) * bpvi_c_bls_b5cccbbc_total_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_total_prefix_power_repeat. bpvi_b_bls_b5cccbbc_total_prefix_power = bpvi_q_bls_b5cccbbc_total_prefix_power_repeat * S ((S (bpvi_i_bls_b5cccbbc_total_prefix_power)) * bpvi_c_bls_b5cccbbc_total_prefix_power) + (p)))) /\ (exists bpvi_u_bls_b5cccbbc_total_prefix_power bpvi_v_bls_b5cccbbc_total_prefix_power. ((((exists bpvi_h_bls_b5cccbbc_total_prefix_power_start. bpvi_h_bls_b5cccbbc_total_prefix_power_start + S (1) = S ((S (0)) * bpvi_v_bls_b5cccbbc_total_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_total_prefix_power_start. bpvi_u_bls_b5cccbbc_total_prefix_power = bpvi_q_bls_b5cccbbc_total_prefix_power_start * S ((S (0)) * bpvi_v_bls_b5cccbbc_total_prefix_power) + (1))) /\ ((((exists bpvi_h_bls_b5cccbbc_total_prefix_power_terminal. bpvi_h_bls_b5cccbbc_total_prefix_power_terminal + S (bls_power_b5cccbbc_total_prefix) = S ((S (S bls_index_b5cccbbc_total_prefix)) * bpvi_v_bls_b5cccbbc_total_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_total_prefix_power_terminal. bpvi_u_bls_b5cccbbc_total_prefix_power = bpvi_q_bls_b5cccbbc_total_prefix_power_terminal * S ((S (S bls_index_b5cccbbc_total_prefix)) * bpvi_v_bls_b5cccbbc_total_prefix_power) + (bls_power_b5cccbbc_total_prefix))) /\ forall bpvi_j_bls_b5cccbbc_total_prefix_power. (exists bpvi_product_gap_bls_b5cccbbc_total_prefix_power. bpvi_product_gap_bls_b5cccbbc_total_prefix_power + S bpvi_j_bls_b5cccbbc_total_prefix_power = S bls_index_b5cccbbc_total_prefix) -> exists bpvi_factor_bls_b5cccbbc_total_prefix_power bpvi_partial_bls_b5cccbbc_total_prefix_power bpvi_successor_bls_b5cccbbc_total_prefix_power. ((((exists bpvi_h_bls_b5cccbbc_total_prefix_power_factor. bpvi_h_bls_b5cccbbc_total_prefix_power_factor + S (bpvi_factor_bls_b5cccbbc_total_prefix_power) = S ((S (bpvi_j_bls_b5cccbbc_total_prefix_power)) * bpvi_c_bls_b5cccbbc_total_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_total_prefix_power_factor. bpvi_b_bls_b5cccbbc_total_prefix_power = bpvi_q_bls_b5cccbbc_total_prefix_power_factor * S ((S (bpvi_j_bls_b5cccbbc_total_prefix_power)) * bpvi_c_bls_b5cccbbc_total_prefix_power) + (bpvi_factor_bls_b5cccbbc_total_prefix_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_total_prefix_power_partial. bpvi_h_bls_b5cccbbc_total_prefix_power_partial + S (bpvi_partial_bls_b5cccbbc_total_prefix_power) = S ((S (bpvi_j_bls_b5cccbbc_total_prefix_power)) * bpvi_v_bls_b5cccbbc_total_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_total_prefix_power_partial. bpvi_u_bls_b5cccbbc_total_prefix_power = bpvi_q_bls_b5cccbbc_total_prefix_power_partial * S ((S (bpvi_j_bls_b5cccbbc_total_prefix_power)) * bpvi_v_bls_b5cccbbc_total_prefix_power) + (bpvi_partial_bls_b5cccbbc_total_prefix_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_total_prefix_power_successor. bpvi_h_bls_b5cccbbc_total_prefix_power_successor + S (bpvi_successor_bls_b5cccbbc_total_prefix_power) = S ((S (S bpvi_j_bls_b5cccbbc_total_prefix_power)) * bpvi_v_bls_b5cccbbc_total_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_total_prefix_power_successor. bpvi_u_bls_b5cccbbc_total_prefix_power = bpvi_q_bls_b5cccbbc_total_prefix_power_successor * S ((S (S bpvi_j_bls_b5cccbbc_total_prefix_power)) * bpvi_v_bls_b5cccbbc_total_prefix_power) + (bpvi_successor_bls_b5cccbbc_total_prefix_power))) /\ bpvi_successor_bls_b5cccbbc_total_prefix_power = bpvi_partial_bls_b5cccbbc_total_prefix_power * bpvi_factor_bls_b5cccbbc_total_prefix_power)))))))) /\ ((((exists ff_h_bls_b5cccbbc_total_prefix_quotient_entry. ff_h_bls_b5cccbbc_total_prefix_quotient_entry + S (bls_quotient_b5cccbbc_total_prefix) = S ((S (bls_index_b5cccbbc_total_prefix)) * bls_scale_b5cccbbc_total)) /\ exists ff_q_bls_b5cccbbc_total_prefix_quotient_entry. bls_code_b5cccbbc_total = ff_q_bls_b5cccbbc_total_prefix_quotient_entry * S ((S (bls_index_b5cccbbc_total_prefix)) * bls_scale_b5cccbbc_total) + (bls_quotient_b5cccbbc_total_prefix))) /\ (((n + n) = bls_power_b5cccbbc_total_prefix * bls_quotient_b5cccbbc_total_prefix + bls_remainder_b5cccbbc_total_prefix /\ exists bls_remainder_gap_b5cccbbc_total_prefix_division. bls_remainder_gap_b5cccbbc_total_prefix_division + S (bls_remainder_b5cccbbc_total_prefix) = bls_power_b5cccbbc_total_prefix))))) /\ (exists ff_u_bls_b5cccbbc_total_sum ff_v_bls_b5cccbbc_total_sum. ((((exists ff_h_bls_b5cccbbc_total_sum_start. ff_h_bls_b5cccbbc_total_sum_start + S (0) = S ((S (0)) * ff_v_bls_b5cccbbc_total_sum)) /\ exists ff_q_bls_b5cccbbc_total_sum_start. ff_u_bls_b5cccbbc_total_sum = ff_q_bls_b5cccbbc_total_sum_start * S ((S (0)) * ff_v_bls_b5cccbbc_total_sum) + (0))) /\ ((((exists ff_h_bls_b5cccbbc_total_sum_terminal. ff_h_bls_b5cccbbc_total_sum_terminal + S (A) = S ((S ((n + n))) * ff_v_bls_b5cccbbc_total_sum)) /\ exists ff_q_bls_b5cccbbc_total_sum_terminal. ff_u_bls_b5cccbbc_total_sum = ff_q_bls_b5cccbbc_total_sum_terminal * S ((S ((n + n))) * ff_v_bls_b5cccbbc_total_sum) + (A))) /\ forall ff_i_bls_b5cccbbc_total_sum. (exists ff_lt_bls_b5cccbbc_total_sum_bound. ff_lt_bls_b5cccbbc_total_sum_bound + S ff_i_bls_b5cccbbc_total_sum = (n + n)) -> exists ff_a_bls_b5cccbbc_total_sum ff_r_bls_b5cccbbc_total_sum ff_s_bls_b5cccbbc_total_sum. ((((exists ff_h_bls_b5cccbbc_total_sum_summand. ff_h_bls_b5cccbbc_total_sum_summand + S (ff_a_bls_b5cccbbc_total_sum) = S ((S (ff_i_bls_b5cccbbc_total_sum)) * bls_scale_b5cccbbc_total)) /\ exists ff_q_bls_b5cccbbc_total_sum_summand. bls_code_b5cccbbc_total = ff_q_bls_b5cccbbc_total_sum_summand * S ((S (ff_i_bls_b5cccbbc_total_sum)) * bls_scale_b5cccbbc_total) + (ff_a_bls_b5cccbbc_total_sum))) /\ ((((exists ff_h_bls_b5cccbbc_total_sum_partial. ff_h_bls_b5cccbbc_total_sum_partial + S (ff_r_bls_b5cccbbc_total_sum) = S ((S (ff_i_bls_b5cccbbc_total_sum)) * ff_v_bls_b5cccbbc_total_sum)) /\ exists ff_q_bls_b5cccbbc_total_sum_partial. ff_u_bls_b5cccbbc_total_sum = ff_q_bls_b5cccbbc_total_sum_partial * S ((S (ff_i_bls_b5cccbbc_total_sum)) * ff_v_bls_b5cccbbc_total_sum) + (ff_r_bls_b5cccbbc_total_sum))) /\ ((((exists ff_h_bls_b5cccbbc_total_sum_successor. ff_h_bls_b5cccbbc_total_sum_successor + S (ff_s_bls_b5cccbbc_total_sum) = S ((S (S ff_i_bls_b5cccbbc_total_sum)) * ff_v_bls_b5cccbbc_total_sum)) /\ exists ff_q_bls_b5cccbbc_total_sum_successor. ff_u_bls_b5cccbbc_total_sum = ff_q_bls_b5cccbbc_total_sum_successor * S ((S (S ff_i_bls_b5cccbbc_total_sum)) * ff_v_bls_b5cccbbc_total_sum) + (ff_s_bls_b5cccbbc_total_sum))) /\ ff_s_bls_b5cccbbc_total_sum = ff_r_bls_b5cccbbc_total_sum + ff_a_bls_b5cccbbc_total_sum))))))) - 0015
specialize prime_legendre_sum_exists p - 0016
specialize prime_legendre_sum_exists (n + n) - 0017
apply prime_legendre_sum_exists - 0018
exact hp - 0019
cases htotal - 0020
have hbalance : x1 = (x + x) + v - 0021
specialize central_binom_legendre_valuation_balance p - 0022
specialize central_binom_legendre_valuation_balance n - 0023
specialize central_binom_legendre_valuation_balance C - 0024
specialize central_binom_legendre_valuation_balance v - 0025
specialize central_binom_legendre_valuation_balance x1 - 0026
specialize central_binom_legendre_valuation_balance x - 0027
apply central_binom_legendre_valuation_balance - 0028
exact hp - 0029
exact hcentral - 0030
exact hvaluation - 0031
exact htotal_witness - 0032
exact hcolumn_witness - 0033
have hextended : ∃ b. ∃ s. PowerQuotPrefix(p,n,b,s,n + n) ∧ Sum(b,s,n + n,x)Exact native replay line
have hextended : exists b s. (forall bls_index_b5cccbbc_extended_prefix. (exists bls_gap_b5cccbbc_extended_prefix_bound. bls_gap_b5cccbbc_extended_prefix_bound + S (bls_index_b5cccbbc_extended_prefix) = (n + n)) -> exists bls_power_b5cccbbc_extended_prefix bls_quotient_b5cccbbc_extended_prefix bls_remainder_b5cccbbc_extended_prefix. ((exists bpvi_b_bls_b5cccbbc_extended_prefix_power bpvi_c_bls_b5cccbbc_extended_prefix_power. ((forall bpvi_i_bls_b5cccbbc_extended_prefix_power. (exists bpvi_repeat_gap_bls_b5cccbbc_extended_prefix_power. bpvi_repeat_gap_bls_b5cccbbc_extended_prefix_power + S bpvi_i_bls_b5cccbbc_extended_prefix_power = S bls_index_b5cccbbc_extended_prefix) -> (((exists bpvi_h_bls_b5cccbbc_extended_prefix_power_repeat. bpvi_h_bls_b5cccbbc_extended_prefix_power_repeat + S (p) = S ((S (bpvi_i_bls_b5cccbbc_extended_prefix_power)) * bpvi_c_bls_b5cccbbc_extended_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_extended_prefix_power_repeat. bpvi_b_bls_b5cccbbc_extended_prefix_power = bpvi_q_bls_b5cccbbc_extended_prefix_power_repeat * S ((S (bpvi_i_bls_b5cccbbc_extended_prefix_power)) * bpvi_c_bls_b5cccbbc_extended_prefix_power) + (p)))) /\ (exists bpvi_u_bls_b5cccbbc_extended_prefix_power bpvi_v_bls_b5cccbbc_extended_prefix_power. ((((exists bpvi_h_bls_b5cccbbc_extended_prefix_power_start. bpvi_h_bls_b5cccbbc_extended_prefix_power_start + S (1) = S ((S (0)) * bpvi_v_bls_b5cccbbc_extended_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_extended_prefix_power_start. bpvi_u_bls_b5cccbbc_extended_prefix_power = bpvi_q_bls_b5cccbbc_extended_prefix_power_start * S ((S (0)) * bpvi_v_bls_b5cccbbc_extended_prefix_power) + (1))) /\ ((((exists bpvi_h_bls_b5cccbbc_extended_prefix_power_terminal. bpvi_h_bls_b5cccbbc_extended_prefix_power_terminal + S (bls_power_b5cccbbc_extended_prefix) = S ((S (S bls_index_b5cccbbc_extended_prefix)) * bpvi_v_bls_b5cccbbc_extended_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_extended_prefix_power_terminal. bpvi_u_bls_b5cccbbc_extended_prefix_power = bpvi_q_bls_b5cccbbc_extended_prefix_power_terminal * S ((S (S bls_index_b5cccbbc_extended_prefix)) * bpvi_v_bls_b5cccbbc_extended_prefix_power) + (bls_power_b5cccbbc_extended_prefix))) /\ forall bpvi_j_bls_b5cccbbc_extended_prefix_power. (exists bpvi_product_gap_bls_b5cccbbc_extended_prefix_power. bpvi_product_gap_bls_b5cccbbc_extended_prefix_power + S bpvi_j_bls_b5cccbbc_extended_prefix_power = S bls_index_b5cccbbc_extended_prefix) -> exists bpvi_factor_bls_b5cccbbc_extended_prefix_power bpvi_partial_bls_b5cccbbc_extended_prefix_power bpvi_successor_bls_b5cccbbc_extended_prefix_power. ((((exists bpvi_h_bls_b5cccbbc_extended_prefix_power_factor. bpvi_h_bls_b5cccbbc_extended_prefix_power_factor + S (bpvi_factor_bls_b5cccbbc_extended_prefix_power) = S ((S (bpvi_j_bls_b5cccbbc_extended_prefix_power)) * bpvi_c_bls_b5cccbbc_extended_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_extended_prefix_power_factor. bpvi_b_bls_b5cccbbc_extended_prefix_power = bpvi_q_bls_b5cccbbc_extended_prefix_power_factor * S ((S (bpvi_j_bls_b5cccbbc_extended_prefix_power)) * bpvi_c_bls_b5cccbbc_extended_prefix_power) + (bpvi_factor_bls_b5cccbbc_extended_prefix_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_extended_prefix_power_partial. bpvi_h_bls_b5cccbbc_extended_prefix_power_partial + S (bpvi_partial_bls_b5cccbbc_extended_prefix_power) = S ((S (bpvi_j_bls_b5cccbbc_extended_prefix_power)) * bpvi_v_bls_b5cccbbc_extended_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_extended_prefix_power_partial. bpvi_u_bls_b5cccbbc_extended_prefix_power = bpvi_q_bls_b5cccbbc_extended_prefix_power_partial * S ((S (bpvi_j_bls_b5cccbbc_extended_prefix_power)) * bpvi_v_bls_b5cccbbc_extended_prefix_power) + (bpvi_partial_bls_b5cccbbc_extended_prefix_power))) /\ ((((exists bpvi_h_bls_b5cccbbc_extended_prefix_power_successor. bpvi_h_bls_b5cccbbc_extended_prefix_power_successor + S (bpvi_successor_bls_b5cccbbc_extended_prefix_power) = S ((S (S bpvi_j_bls_b5cccbbc_extended_prefix_power)) * bpvi_v_bls_b5cccbbc_extended_prefix_power)) /\ exists bpvi_q_bls_b5cccbbc_extended_prefix_power_successor. bpvi_u_bls_b5cccbbc_extended_prefix_power = bpvi_q_bls_b5cccbbc_extended_prefix_power_successor * S ((S (S bpvi_j_bls_b5cccbbc_extended_prefix_power)) * bpvi_v_bls_b5cccbbc_extended_prefix_power) + (bpvi_successor_bls_b5cccbbc_extended_prefix_power))) /\ bpvi_successor_bls_b5cccbbc_extended_prefix_power = bpvi_partial_bls_b5cccbbc_extended_prefix_power * bpvi_factor_bls_b5cccbbc_extended_prefix_power)))))))) /\ ((((exists ff_h_bls_b5cccbbc_extended_prefix_quotient_entry. ff_h_bls_b5cccbbc_extended_prefix_quotient_entry + S (bls_quotient_b5cccbbc_extended_prefix) = S ((S (bls_index_b5cccbbc_extended_prefix)) * s)) /\ exists ff_q_bls_b5cccbbc_extended_prefix_quotient_entry. b = ff_q_bls_b5cccbbc_extended_prefix_quotient_entry * S ((S (bls_index_b5cccbbc_extended_prefix)) * s) + (bls_quotient_b5cccbbc_extended_prefix))) /\ ((n = bls_power_b5cccbbc_extended_prefix * bls_quotient_b5cccbbc_extended_prefix + bls_remainder_b5cccbbc_extended_prefix /\ exists bls_remainder_gap_b5cccbbc_extended_prefix_division. bls_remainder_gap_b5cccbbc_extended_prefix_division + S (bls_remainder_b5cccbbc_extended_prefix) = bls_power_b5cccbbc_extended_prefix))))) /\ (exists fs_u_b5cccbbc_extended_sum fs_v_b5cccbbc_extended_sum. ((((exists fs_h_b5cccbbc_extended_sum_body_start. fs_h_b5cccbbc_extended_sum_body_start + S (0) = S ((S (0)) * fs_v_b5cccbbc_extended_sum)) /\ exists fs_q_b5cccbbc_extended_sum_body_start. fs_u_b5cccbbc_extended_sum = fs_q_b5cccbbc_extended_sum_body_start * S ((S (0)) * fs_v_b5cccbbc_extended_sum) + (0))) /\ ((((exists fs_h_b5cccbbc_extended_sum_body_terminal. fs_h_b5cccbbc_extended_sum_body_terminal + S (x) = S ((S (n + n)) * fs_v_b5cccbbc_extended_sum)) /\ exists fs_q_b5cccbbc_extended_sum_body_terminal. fs_u_b5cccbbc_extended_sum = fs_q_b5cccbbc_extended_sum_body_terminal * S ((S (n + n)) * fs_v_b5cccbbc_extended_sum) + (x))) /\ forall fs_i_b5cccbbc_extended_sum_body_steps. (exists fs_lt_b5cccbbc_extended_sum_body_steps_bound. fs_lt_b5cccbbc_extended_sum_body_steps_bound + S fs_i_b5cccbbc_extended_sum_body_steps = n + n) -> exists fs_a_b5cccbbc_extended_sum_body_steps fs_r_b5cccbbc_extended_sum_body_steps fs_s_b5cccbbc_extended_sum_body_steps. ((((exists fs_h_b5cccbbc_extended_sum_body_steps_summand. fs_h_b5cccbbc_extended_sum_body_steps_summand + S (fs_a_b5cccbbc_extended_sum_body_steps) = S ((S (fs_i_b5cccbbc_extended_sum_body_steps)) * s)) /\ exists fs_q_b5cccbbc_extended_sum_body_steps_summand. b = fs_q_b5cccbbc_extended_sum_body_steps_summand * S ((S (fs_i_b5cccbbc_extended_sum_body_steps)) * s) + (fs_a_b5cccbbc_extended_sum_body_steps))) /\ ((((exists fs_h_b5cccbbc_extended_sum_body_steps_partial. fs_h_b5cccbbc_extended_sum_body_steps_partial + S (fs_r_b5cccbbc_extended_sum_body_steps) = S ((S (fs_i_b5cccbbc_extended_sum_body_steps)) * fs_v_b5cccbbc_extended_sum)) /\ exists fs_q_b5cccbbc_extended_sum_body_steps_partial. fs_u_b5cccbbc_extended_sum = fs_q_b5cccbbc_extended_sum_body_steps_partial * S ((S (fs_i_b5cccbbc_extended_sum_body_steps)) * fs_v_b5cccbbc_extended_sum) + (fs_r_b5cccbbc_extended_sum_body_steps))) /\ ((((exists fs_h_b5cccbbc_extended_sum_body_steps_successor. fs_h_b5cccbbc_extended_sum_body_steps_successor + S (fs_s_b5cccbbc_extended_sum_body_steps) = S ((S (S fs_i_b5cccbbc_extended_sum_body_steps)) * fs_v_b5cccbbc_extended_sum)) /\ exists fs_q_b5cccbbc_extended_sum_body_steps_successor. fs_u_b5cccbbc_extended_sum = fs_q_b5cccbbc_extended_sum_body_steps_successor * S ((S (S fs_i_b5cccbbc_extended_sum_body_steps)) * fs_v_b5cccbbc_extended_sum) + (fs_s_b5cccbbc_extended_sum_body_steps))) /\ fs_s_b5cccbbc_extended_sum_body_steps = fs_r_b5cccbbc_extended_sum_body_steps + fs_a_b5cccbbc_extended_sum_body_steps)))))) - 0034
specialize legendre_sum_extended_prefix_exists p - 0035
specialize legendre_sum_extended_prefix_exists n - 0036
specialize legendre_sum_extended_prefix_exists x - 0037
specialize legendre_sum_extended_prefix_exists n - 0038
apply legendre_sum_extended_prefix_exists - 0039
exact hp - 0040
exact hcolumn_witness - 0041
cases hextended - 0042
cases hextended_witness - 0043
cases hextended_witness_witness - 0044
cases htotal_witness - 0045
cases htotal_witness_witness - 0046
cases htotal_witness_witness_witness - 0047
have hcarry_codes : ∃ f. ∃ g. ∀ b5cc_index_b5cccbbc_codes. Lt(b5cc_index_b5cccbbc_codes,n + n) → ∃ x. ∃ y. ∃ z. BetaAt(x2,x3,b5cc_index_b5cccbbc_codes,x) ∧ (BetaAt(x4,x5,b5cc_index_b5cccbbc_codes,y) ∧ (BetaAt(f,g,b5cc_index_b5cccbbc_codes,z) ∧ (z = 0 ∧ y = x + x ∨ z = 1 ∧ y = S (x + x))))Exact native replay line
have hcarry_codes : exists f g. forall b5cc_index_b5cccbbc_codes. (exists bcf_lt_gap_b5cccbbc_codes_bound. bcf_lt_gap_b5cccbbc_codes_bound + S (b5cc_index_b5cccbbc_codes) = n + n) -> exists b5cc_left_b5cccbbc_codes b5cc_right_b5cccbbc_codes b5cc_bit_b5cccbbc_codes. (((exists fs_h_b5cc_b5cccbbc_codes_left. fs_h_b5cc_b5cccbbc_codes_left + S (b5cc_left_b5cccbbc_codes) = S ((S (b5cc_index_b5cccbbc_codes)) * x3)) /\ exists fs_q_b5cc_b5cccbbc_codes_left. x2 = fs_q_b5cc_b5cccbbc_codes_left * S ((S (b5cc_index_b5cccbbc_codes)) * x3) + (b5cc_left_b5cccbbc_codes))) /\ ((((exists fs_h_b5cc_b5cccbbc_codes_right. fs_h_b5cc_b5cccbbc_codes_right + S (b5cc_right_b5cccbbc_codes) = S ((S (b5cc_index_b5cccbbc_codes)) * x5)) /\ exists fs_q_b5cc_b5cccbbc_codes_right. x4 = fs_q_b5cc_b5cccbbc_codes_right * S ((S (b5cc_index_b5cccbbc_codes)) * x5) + (b5cc_right_b5cccbbc_codes))) /\ ((((exists fs_h_b5cc_b5cccbbc_codes_bit. fs_h_b5cc_b5cccbbc_codes_bit + S (b5cc_bit_b5cccbbc_codes) = S ((S (b5cc_index_b5cccbbc_codes)) * g)) /\ exists fs_q_b5cc_b5cccbbc_codes_bit. f = fs_q_b5cc_b5cccbbc_codes_bit * S ((S (b5cc_index_b5cccbbc_codes)) * g) + (b5cc_bit_b5cccbbc_codes))) /\ (((b5cc_bit_b5cccbbc_codes = 0 /\ b5cc_right_b5cccbbc_codes = b5cc_left_b5cccbbc_codes + b5cc_left_b5cccbbc_codes) \/ (b5cc_bit_b5cccbbc_codes = 1 /\ b5cc_right_b5cccbbc_codes = S (b5cc_left_b5cccbbc_codes + b5cc_left_b5cccbbc_codes)))))) - 0048
specialize double_quotient_carry_prefix_exists p - 0049
specialize double_quotient_carry_prefix_exists n - 0050
specialize double_quotient_carry_prefix_exists x2 - 0051
specialize double_quotient_carry_prefix_exists x3 - 0052
specialize double_quotient_carry_prefix_exists x4 - 0053
specialize double_quotient_carry_prefix_exists x5 - 0054
specialize double_quotient_carry_prefix_exists (n + n) - 0055
apply double_quotient_carry_prefix_exists - 0056
exact hextended_witness_witness_left - 0057
exact htotal_witness_witness_witness_left - 0058
cases hcarry_codes - 0059
cases hcarry_codes_witness - 0060
have hall_bits : AllBits(x6,x7,n + n)Exact native replay line
have hall_bits : forall ff_i_b5cccbbc_bits. (exists ff_lt_b5cccbbc_bits_bound. ff_lt_b5cccbbc_bits_bound + S ff_i_b5cccbbc_bits = (n + n)) -> exists ff_bit_b5cccbbc_bits. ((((exists ff_h_b5cccbbc_bits_decoded. ff_h_b5cccbbc_bits_decoded + S (ff_bit_b5cccbbc_bits) = S ((S (ff_i_b5cccbbc_bits)) * x7)) /\ exists ff_q_b5cccbbc_bits_decoded. x6 = ff_q_b5cccbbc_bits_decoded * S ((S (ff_i_b5cccbbc_bits)) * x7) + (ff_bit_b5cccbbc_bits))) /\ (ff_bit_b5cccbbc_bits = 0 \/ ff_bit_b5cccbbc_bits = 1)) - 0061
specialize double_quotient_carry_prefix_all_bits x2 - 0062
specialize double_quotient_carry_prefix_all_bits x3 - 0063
specialize double_quotient_carry_prefix_all_bits x4 - 0064
specialize double_quotient_carry_prefix_all_bits x5 - 0065
specialize double_quotient_carry_prefix_all_bits x6 - 0066
specialize double_quotient_carry_prefix_all_bits x7 - 0067
specialize double_quotient_carry_prefix_all_bits (n + n) - 0068
apply double_quotient_carry_prefix_all_bits - 0069
exact hcarry_codes_witness_witness - 0070
have hcount : ∃ E. BitCount(x6,x7,n + n,E)Exact native replay line
have hcount : exists E. ((exists ff_u_b5cccbbc_count_exists_sum ff_v_b5cccbbc_count_exists_sum. ((((exists ff_h_b5cccbbc_count_exists_sum_start. ff_h_b5cccbbc_count_exists_sum_start + S (0) = S ((S (0)) * ff_v_b5cccbbc_count_exists_sum)) /\ exists ff_q_b5cccbbc_count_exists_sum_start. ff_u_b5cccbbc_count_exists_sum = ff_q_b5cccbbc_count_exists_sum_start * S ((S (0)) * ff_v_b5cccbbc_count_exists_sum) + (0))) /\ ((((exists ff_h_b5cccbbc_count_exists_sum_terminal. ff_h_b5cccbbc_count_exists_sum_terminal + S ((E)) = S ((S ((n + n))) * ff_v_b5cccbbc_count_exists_sum)) /\ exists ff_q_b5cccbbc_count_exists_sum_terminal. ff_u_b5cccbbc_count_exists_sum = ff_q_b5cccbbc_count_exists_sum_terminal * S ((S ((n + n))) * ff_v_b5cccbbc_count_exists_sum) + ((E)))) /\ forall ff_i_b5cccbbc_count_exists_sum. (exists ff_lt_b5cccbbc_count_exists_sum_bound. ff_lt_b5cccbbc_count_exists_sum_bound + S ff_i_b5cccbbc_count_exists_sum = (n + n)) -> exists ff_a_b5cccbbc_count_exists_sum ff_r_b5cccbbc_count_exists_sum ff_s_b5cccbbc_count_exists_sum. ((((exists ff_h_b5cccbbc_count_exists_sum_summand. ff_h_b5cccbbc_count_exists_sum_summand + S (ff_a_b5cccbbc_count_exists_sum) = S ((S (ff_i_b5cccbbc_count_exists_sum)) * x7)) /\ exists ff_q_b5cccbbc_count_exists_sum_summand. x6 = ff_q_b5cccbbc_count_exists_sum_summand * S ((S (ff_i_b5cccbbc_count_exists_sum)) * x7) + (ff_a_b5cccbbc_count_exists_sum))) /\ ((((exists ff_h_b5cccbbc_count_exists_sum_partial. ff_h_b5cccbbc_count_exists_sum_partial + S (ff_r_b5cccbbc_count_exists_sum) = S ((S (ff_i_b5cccbbc_count_exists_sum)) * ff_v_b5cccbbc_count_exists_sum)) /\ exists ff_q_b5cccbbc_count_exists_sum_partial. ff_u_b5cccbbc_count_exists_sum = ff_q_b5cccbbc_count_exists_sum_partial * S ((S (ff_i_b5cccbbc_count_exists_sum)) * ff_v_b5cccbbc_count_exists_sum) + (ff_r_b5cccbbc_count_exists_sum))) /\ ((((exists ff_h_b5cccbbc_count_exists_sum_successor. ff_h_b5cccbbc_count_exists_sum_successor + S (ff_s_b5cccbbc_count_exists_sum) = S ((S (S ff_i_b5cccbbc_count_exists_sum)) * ff_v_b5cccbbc_count_exists_sum)) /\ exists ff_q_b5cccbbc_count_exists_sum_successor. ff_u_b5cccbbc_count_exists_sum = ff_q_b5cccbbc_count_exists_sum_successor * S ((S (S ff_i_b5cccbbc_count_exists_sum)) * ff_v_b5cccbbc_count_exists_sum) + (ff_s_b5cccbbc_count_exists_sum))) /\ ff_s_b5cccbbc_count_exists_sum = ff_r_b5cccbbc_count_exists_sum + ff_a_b5cccbbc_count_exists_sum)))))) /\ (forall ff_i_b5cccbbc_count_exists_bits. (exists ff_lt_b5cccbbc_count_exists_bits_bound. ff_lt_b5cccbbc_count_exists_bits_bound + S ff_i_b5cccbbc_count_exists_bits = (n + n)) -> exists ff_bit_b5cccbbc_count_exists_bits. ((((exists ff_h_b5cccbbc_count_exists_bits_decoded. ff_h_b5cccbbc_count_exists_bits_decoded + S (ff_bit_b5cccbbc_count_exists_bits) = S ((S (ff_i_b5cccbbc_count_exists_bits)) * x7)) /\ exists ff_q_b5cccbbc_count_exists_bits_decoded. x6 = ff_q_b5cccbbc_count_exists_bits_decoded * S ((S (ff_i_b5cccbbc_count_exists_bits)) * x7) + (ff_bit_b5cccbbc_count_exists_bits))) /\ (ff_bit_b5cccbbc_count_exists_bits = 0 \/ ff_bit_b5cccbbc_count_exists_bits = 1)))) - 0071
specialize bit_count_exists x6 - 0072
specialize bit_count_exists x7 - 0073
specialize bit_count_exists (n + n) - 0074
apply bit_count_exists - 0075
exact hall_bits - 0076
cases hcount - 0077
have hcarry_balance : x1 = (x + x) + x8 - 0078
specialize beta_sum_double_carry_exact x2 - 0079
specialize beta_sum_double_carry_exact x3 - 0080
specialize beta_sum_double_carry_exact x4 - 0081
specialize beta_sum_double_carry_exact x5 - 0082
specialize beta_sum_double_carry_exact x6 - 0083
specialize beta_sum_double_carry_exact x7 - 0084
specialize beta_sum_double_carry_exact (n + n) - 0085
specialize beta_sum_double_carry_exact x - 0086
specialize beta_sum_double_carry_exact x1 - 0087
specialize beta_sum_double_carry_exact x8 - 0088
apply beta_sum_double_carry_exact - 0089
exact hextended_witness_witness_right - 0090
exact htotal_witness_witness_witness_right - 0091
exact hcarry_codes_witness_witness - 0092
exact hcount_witness - 0093
have hcount_eq : x8 = v - 0094
specialize add_left_cancel (x + x) - 0095
specialize add_left_cancel x8 - 0096
specialize add_left_cancel v - 0097
apply add_left_cancel - 0098
trans x1 - 0099
symm - 0100
exact hcarry_balance - 0101
exact hbalance - 0102
rewrite hcount_eq at hcount_witness - 0103
rewrite hcount_eq at hcount_witness - 0104
exists x2 - 0105
exists x3 - 0106
exists x4 - 0107
exists x5 - 0108
exists x6 - 0109
exists x7 - 0110
split - 0111
exact hextended_witness_witness_left - 0112
split - 0113
exact htotal_witness_witness_witness_left - 0114
split - 0115
exact hcarry_codes_witness_witness - 0116
exact hcount_witness