Exact expanded PA statement
forall p n b c g t e. ((~(p = 1) /\ forall frm_prime_left_b5cvpsez_prime frm_prime_right_b5cvpsez_prime. p = frm_prime_left_b5cvpsez_prime * frm_prime_right_b5cvpsez_prime -> frm_prime_left_b5cvpsez_prime = 1 \/ frm_prime_right_b5cvpsez_prime = 1)) -> (forall bls_index_b5cvpsez_prefix. (exists bls_gap_b5cvpsez_prefix_bound. bls_gap_b5cvpsez_prefix_bound + S (bls_index_b5cvpsez_prefix) = (n + g)) -> exists bls_power_b5cvpsez_prefix bls_quotient_b5cvpsez_prefix bls_remainder_b5cvpsez_prefix. ((exists bpvi_b_bls_b5cvpsez_prefix_power bpvi_c_bls_b5cvpsez_prefix_power. ((forall bpvi_i_bls_b5cvpsez_prefix_power. (exists bpvi_repeat_gap_bls_b5cvpsez_prefix_power. bpvi_repeat_gap_bls_b5cvpsez_prefix_power + S bpvi_i_bls_b5cvpsez_prefix_power = S bls_index_b5cvpsez_prefix) -> (((exists bpvi_h_bls_b5cvpsez_prefix_power_repeat. bpvi_h_bls_b5cvpsez_prefix_power_repeat + S (p) = S ((S (bpvi_i_bls_b5cvpsez_prefix_power)) * bpvi_c_bls_b5cvpsez_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_prefix_power_repeat. bpvi_b_bls_b5cvpsez_prefix_power = bpvi_q_bls_b5cvpsez_prefix_power_repeat * S ((S (bpvi_i_bls_b5cvpsez_prefix_power)) * bpvi_c_bls_b5cvpsez_prefix_power) + (p)))) /\ (exists bpvi_u_bls_b5cvpsez_prefix_power bpvi_v_bls_b5cvpsez_prefix_power. ((((exists bpvi_h_bls_b5cvpsez_prefix_power_start. bpvi_h_bls_b5cvpsez_prefix_power_start + S (1) = S ((S (0)) * bpvi_v_bls_b5cvpsez_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_prefix_power_start. bpvi_u_bls_b5cvpsez_prefix_power = bpvi_q_bls_b5cvpsez_prefix_power_start * S ((S (0)) * bpvi_v_bls_b5cvpsez_prefix_power) + (1))) /\ ((((exists bpvi_h_bls_b5cvpsez_prefix_power_terminal. bpvi_h_bls_b5cvpsez_prefix_power_terminal + S (bls_power_b5cvpsez_prefix) = S ((S (S bls_index_b5cvpsez_prefix)) * bpvi_v_bls_b5cvpsez_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_prefix_power_terminal. bpvi_u_bls_b5cvpsez_prefix_power = bpvi_q_bls_b5cvpsez_prefix_power_terminal * S ((S (S bls_index_b5cvpsez_prefix)) * bpvi_v_bls_b5cvpsez_prefix_power) + (bls_power_b5cvpsez_prefix))) /\ forall bpvi_j_bls_b5cvpsez_prefix_power. (exists bpvi_product_gap_bls_b5cvpsez_prefix_power. bpvi_product_gap_bls_b5cvpsez_prefix_power + S bpvi_j_bls_b5cvpsez_prefix_power = S bls_index_b5cvpsez_prefix) -> exists bpvi_factor_bls_b5cvpsez_prefix_power bpvi_partial_bls_b5cvpsez_prefix_power bpvi_successor_bls_b5cvpsez_prefix_power. ((((exists bpvi_h_bls_b5cvpsez_prefix_power_factor. bpvi_h_bls_b5cvpsez_prefix_power_factor + S (bpvi_factor_bls_b5cvpsez_prefix_power) = S ((S (bpvi_j_bls_b5cvpsez_prefix_power)) * bpvi_c_bls_b5cvpsez_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_prefix_power_factor. bpvi_b_bls_b5cvpsez_prefix_power = bpvi_q_bls_b5cvpsez_prefix_power_factor * S ((S (bpvi_j_bls_b5cvpsez_prefix_power)) * bpvi_c_bls_b5cvpsez_prefix_power) + (bpvi_factor_bls_b5cvpsez_prefix_power))) /\ ((((exists bpvi_h_bls_b5cvpsez_prefix_power_partial. bpvi_h_bls_b5cvpsez_prefix_power_partial + S (bpvi_partial_bls_b5cvpsez_prefix_power) = S ((S (bpvi_j_bls_b5cvpsez_prefix_power)) * bpvi_v_bls_b5cvpsez_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_prefix_power_partial. bpvi_u_bls_b5cvpsez_prefix_power = bpvi_q_bls_b5cvpsez_prefix_power_partial * S ((S (bpvi_j_bls_b5cvpsez_prefix_power)) * bpvi_v_bls_b5cvpsez_prefix_power) + (bpvi_partial_bls_b5cvpsez_prefix_power))) /\ ((((exists bpvi_h_bls_b5cvpsez_prefix_power_successor. bpvi_h_bls_b5cvpsez_prefix_power_successor + S (bpvi_successor_bls_b5cvpsez_prefix_power) = S ((S (S bpvi_j_bls_b5cvpsez_prefix_power)) * bpvi_v_bls_b5cvpsez_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_prefix_power_successor. bpvi_u_bls_b5cvpsez_prefix_power = bpvi_q_bls_b5cvpsez_prefix_power_successor * S ((S (S bpvi_j_bls_b5cvpsez_prefix_power)) * bpvi_v_bls_b5cvpsez_prefix_power) + (bpvi_successor_bls_b5cvpsez_prefix_power))) /\ bpvi_successor_bls_b5cvpsez_prefix_power = bpvi_partial_bls_b5cvpsez_prefix_power * bpvi_factor_bls_b5cvpsez_prefix_power)))))))) /\ ((((exists ff_h_bls_b5cvpsez_prefix_quotient_entry. ff_h_bls_b5cvpsez_prefix_quotient_entry + S (bls_quotient_b5cvpsez_prefix) = S ((S (bls_index_b5cvpsez_prefix)) * c)) /\ exists ff_q_bls_b5cvpsez_prefix_quotient_entry. b = ff_q_bls_b5cvpsez_prefix_quotient_entry * S ((S (bls_index_b5cvpsez_prefix)) * c) + (bls_quotient_b5cvpsez_prefix))) /\ ((n = bls_power_b5cvpsez_prefix * bls_quotient_b5cvpsez_prefix + bls_remainder_b5cvpsez_prefix /\ exists bls_remainder_gap_b5cvpsez_prefix_division. bls_remainder_gap_b5cvpsez_prefix_division + S (bls_remainder_b5cvpsez_prefix) = bls_power_b5cvpsez_prefix))))) -> (exists fs_u_b5cvpsez_sum fs_v_b5cvpsez_sum. ((((exists fs_h_b5cvpsez_sum_body_start. fs_h_b5cvpsez_sum_body_start + S (0) = S ((S (0)) * fs_v_b5cvpsez_sum)) /\ exists fs_q_b5cvpsez_sum_body_start. fs_u_b5cvpsez_sum = fs_q_b5cvpsez_sum_body_start * S ((S (0)) * fs_v_b5cvpsez_sum) + (0))) /\ ((((exists fs_h_b5cvpsez_sum_body_terminal. fs_h_b5cvpsez_sum_body_terminal + S (t) = S ((S (n + g)) * fs_v_b5cvpsez_sum)) /\ exists fs_q_b5cvpsez_sum_body_terminal. fs_u_b5cvpsez_sum = fs_q_b5cvpsez_sum_body_terminal * S ((S (n + g)) * fs_v_b5cvpsez_sum) + (t))) /\ forall fs_i_b5cvpsez_sum_body_steps. (exists fs_lt_b5cvpsez_sum_body_steps_bound. fs_lt_b5cvpsez_sum_body_steps_bound + S fs_i_b5cvpsez_sum_body_steps = n + g) -> exists fs_a_b5cvpsez_sum_body_steps fs_r_b5cvpsez_sum_body_steps fs_s_b5cvpsez_sum_body_steps. ((((exists fs_h_b5cvpsez_sum_body_steps_summand. fs_h_b5cvpsez_sum_body_steps_summand + S (fs_a_b5cvpsez_sum_body_steps) = S ((S (fs_i_b5cvpsez_sum_body_steps)) * c)) /\ exists fs_q_b5cvpsez_sum_body_steps_summand. b = fs_q_b5cvpsez_sum_body_steps_summand * S ((S (fs_i_b5cvpsez_sum_body_steps)) * c) + (fs_a_b5cvpsez_sum_body_steps))) /\ ((((exists fs_h_b5cvpsez_sum_body_steps_partial. fs_h_b5cvpsez_sum_body_steps_partial + S (fs_r_b5cvpsez_sum_body_steps) = S ((S (fs_i_b5cvpsez_sum_body_steps)) * fs_v_b5cvpsez_sum)) /\ exists fs_q_b5cvpsez_sum_body_steps_partial. fs_u_b5cvpsez_sum = fs_q_b5cvpsez_sum_body_steps_partial * S ((S (fs_i_b5cvpsez_sum_body_steps)) * fs_v_b5cvpsez_sum) + (fs_r_b5cvpsez_sum_body_steps))) /\ ((((exists fs_h_b5cvpsez_sum_body_steps_successor. fs_h_b5cvpsez_sum_body_steps_successor + S (fs_s_b5cvpsez_sum_body_steps) = S ((S (S fs_i_b5cvpsez_sum_body_steps)) * fs_v_b5cvpsez_sum)) /\ exists fs_q_b5cvpsez_sum_body_steps_successor. fs_u_b5cvpsez_sum = fs_q_b5cvpsez_sum_body_steps_successor * S ((S (S fs_i_b5cvpsez_sum_body_steps)) * fs_v_b5cvpsez_sum) + (fs_s_b5cvpsez_sum_body_steps))) /\ fs_s_b5cvpsez_sum_body_steps = fs_r_b5cvpsez_sum_body_steps + fs_a_b5cvpsez_sum_body_steps)))))) -> (exists bls_code_b5cvpsez_legendre bls_scale_b5cvpsez_legendre. ((forall bls_index_b5cvpsez_legendre_prefix. (exists bls_gap_b5cvpsez_legendre_prefix_bound. bls_gap_b5cvpsez_legendre_prefix_bound + S (bls_index_b5cvpsez_legendre_prefix) = (n)) -> exists bls_power_b5cvpsez_legendre_prefix bls_quotient_b5cvpsez_legendre_prefix bls_remainder_b5cvpsez_legendre_prefix. ((exists bpvi_b_bls_b5cvpsez_legendre_prefix_power bpvi_c_bls_b5cvpsez_legendre_prefix_power. ((forall bpvi_i_bls_b5cvpsez_legendre_prefix_power. (exists bpvi_repeat_gap_bls_b5cvpsez_legendre_prefix_power. bpvi_repeat_gap_bls_b5cvpsez_legendre_prefix_power + S bpvi_i_bls_b5cvpsez_legendre_prefix_power = S bls_index_b5cvpsez_legendre_prefix) -> (((exists bpvi_h_bls_b5cvpsez_legendre_prefix_power_repeat. bpvi_h_bls_b5cvpsez_legendre_prefix_power_repeat + S (p) = S ((S (bpvi_i_bls_b5cvpsez_legendre_prefix_power)) * bpvi_c_bls_b5cvpsez_legendre_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_legendre_prefix_power_repeat. bpvi_b_bls_b5cvpsez_legendre_prefix_power = bpvi_q_bls_b5cvpsez_legendre_prefix_power_repeat * S ((S (bpvi_i_bls_b5cvpsez_legendre_prefix_power)) * bpvi_c_bls_b5cvpsez_legendre_prefix_power) + (p)))) /\ (exists bpvi_u_bls_b5cvpsez_legendre_prefix_power bpvi_v_bls_b5cvpsez_legendre_prefix_power. ((((exists bpvi_h_bls_b5cvpsez_legendre_prefix_power_start. bpvi_h_bls_b5cvpsez_legendre_prefix_power_start + S (1) = S ((S (0)) * bpvi_v_bls_b5cvpsez_legendre_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_legendre_prefix_power_start. bpvi_u_bls_b5cvpsez_legendre_prefix_power = bpvi_q_bls_b5cvpsez_legendre_prefix_power_start * S ((S (0)) * bpvi_v_bls_b5cvpsez_legendre_prefix_power) + (1))) /\ ((((exists bpvi_h_bls_b5cvpsez_legendre_prefix_power_terminal. bpvi_h_bls_b5cvpsez_legendre_prefix_power_terminal + S (bls_power_b5cvpsez_legendre_prefix) = S ((S (S bls_index_b5cvpsez_legendre_prefix)) * bpvi_v_bls_b5cvpsez_legendre_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_legendre_prefix_power_terminal. bpvi_u_bls_b5cvpsez_legendre_prefix_power = bpvi_q_bls_b5cvpsez_legendre_prefix_power_terminal * S ((S (S bls_index_b5cvpsez_legendre_prefix)) * bpvi_v_bls_b5cvpsez_legendre_prefix_power) + (bls_power_b5cvpsez_legendre_prefix))) /\ forall bpvi_j_bls_b5cvpsez_legendre_prefix_power. (exists bpvi_product_gap_bls_b5cvpsez_legendre_prefix_power. bpvi_product_gap_bls_b5cvpsez_legendre_prefix_power + S bpvi_j_bls_b5cvpsez_legendre_prefix_power = S bls_index_b5cvpsez_legendre_prefix) -> exists bpvi_factor_bls_b5cvpsez_legendre_prefix_power bpvi_partial_bls_b5cvpsez_legendre_prefix_power bpvi_successor_bls_b5cvpsez_legendre_prefix_power. ((((exists bpvi_h_bls_b5cvpsez_legendre_prefix_power_factor. bpvi_h_bls_b5cvpsez_legendre_prefix_power_factor + S (bpvi_factor_bls_b5cvpsez_legendre_prefix_power) = S ((S (bpvi_j_bls_b5cvpsez_legendre_prefix_power)) * bpvi_c_bls_b5cvpsez_legendre_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_legendre_prefix_power_factor. bpvi_b_bls_b5cvpsez_legendre_prefix_power = bpvi_q_bls_b5cvpsez_legendre_prefix_power_factor * S ((S (bpvi_j_bls_b5cvpsez_legendre_prefix_power)) * bpvi_c_bls_b5cvpsez_legendre_prefix_power) + (bpvi_factor_bls_b5cvpsez_legendre_prefix_power))) /\ ((((exists bpvi_h_bls_b5cvpsez_legendre_prefix_power_partial. bpvi_h_bls_b5cvpsez_legendre_prefix_power_partial + S (bpvi_partial_bls_b5cvpsez_legendre_prefix_power) = S ((S (bpvi_j_bls_b5cvpsez_legendre_prefix_power)) * bpvi_v_bls_b5cvpsez_legendre_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_legendre_prefix_power_partial. bpvi_u_bls_b5cvpsez_legendre_prefix_power = bpvi_q_bls_b5cvpsez_legendre_prefix_power_partial * S ((S (bpvi_j_bls_b5cvpsez_legendre_prefix_power)) * bpvi_v_bls_b5cvpsez_legendre_prefix_power) + (bpvi_partial_bls_b5cvpsez_legendre_prefix_power))) /\ ((((exists bpvi_h_bls_b5cvpsez_legendre_prefix_power_successor. bpvi_h_bls_b5cvpsez_legendre_prefix_power_successor + S (bpvi_successor_bls_b5cvpsez_legendre_prefix_power) = S ((S (S bpvi_j_bls_b5cvpsez_legendre_prefix_power)) * bpvi_v_bls_b5cvpsez_legendre_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_legendre_prefix_power_successor. bpvi_u_bls_b5cvpsez_legendre_prefix_power = bpvi_q_bls_b5cvpsez_legendre_prefix_power_successor * S ((S (S bpvi_j_bls_b5cvpsez_legendre_prefix_power)) * bpvi_v_bls_b5cvpsez_legendre_prefix_power) + (bpvi_successor_bls_b5cvpsez_legendre_prefix_power))) /\ bpvi_successor_bls_b5cvpsez_legendre_prefix_power = bpvi_partial_bls_b5cvpsez_legendre_prefix_power * bpvi_factor_bls_b5cvpsez_legendre_prefix_power)))))))) /\ ((((exists ff_h_bls_b5cvpsez_legendre_prefix_quotient_entry. ff_h_bls_b5cvpsez_legendre_prefix_quotient_entry + S (bls_quotient_b5cvpsez_legendre_prefix) = S ((S (bls_index_b5cvpsez_legendre_prefix)) * bls_scale_b5cvpsez_legendre)) /\ exists ff_q_bls_b5cvpsez_legendre_prefix_quotient_entry. bls_code_b5cvpsez_legendre = ff_q_bls_b5cvpsez_legendre_prefix_quotient_entry * S ((S (bls_index_b5cvpsez_legendre_prefix)) * bls_scale_b5cvpsez_legendre) + (bls_quotient_b5cvpsez_legendre_prefix))) /\ ((n = bls_power_b5cvpsez_legendre_prefix * bls_quotient_b5cvpsez_legendre_prefix + bls_remainder_b5cvpsez_legendre_prefix /\ exists bls_remainder_gap_b5cvpsez_legendre_prefix_division. bls_remainder_gap_b5cvpsez_legendre_prefix_division + S (bls_remainder_b5cvpsez_legendre_prefix) = bls_power_b5cvpsez_legendre_prefix))))) /\ (exists ff_u_bls_b5cvpsez_legendre_sum ff_v_bls_b5cvpsez_legendre_sum. ((((exists ff_h_bls_b5cvpsez_legendre_sum_start. ff_h_bls_b5cvpsez_legendre_sum_start + S (0) = S ((S (0)) * ff_v_bls_b5cvpsez_legendre_sum)) /\ exists ff_q_bls_b5cvpsez_legendre_sum_start. ff_u_bls_b5cvpsez_legendre_sum = ff_q_bls_b5cvpsez_legendre_sum_start * S ((S (0)) * ff_v_bls_b5cvpsez_legendre_sum) + (0))) /\ ((((exists ff_h_bls_b5cvpsez_legendre_sum_terminal. ff_h_bls_b5cvpsez_legendre_sum_terminal + S (e) = S ((S (n)) * ff_v_bls_b5cvpsez_legendre_sum)) /\ exists ff_q_bls_b5cvpsez_legendre_sum_terminal. ff_u_bls_b5cvpsez_legendre_sum = ff_q_bls_b5cvpsez_legendre_sum_terminal * S ((S (n)) * ff_v_bls_b5cvpsez_legendre_sum) + (e))) /\ forall ff_i_bls_b5cvpsez_legendre_sum. (exists ff_lt_bls_b5cvpsez_legendre_sum_bound. ff_lt_bls_b5cvpsez_legendre_sum_bound + S ff_i_bls_b5cvpsez_legendre_sum = n) -> exists ff_a_bls_b5cvpsez_legendre_sum ff_r_bls_b5cvpsez_legendre_sum ff_s_bls_b5cvpsez_legendre_sum. ((((exists ff_h_bls_b5cvpsez_legendre_sum_summand. ff_h_bls_b5cvpsez_legendre_sum_summand + S (ff_a_bls_b5cvpsez_legendre_sum) = S ((S (ff_i_bls_b5cvpsez_legendre_sum)) * bls_scale_b5cvpsez_legendre)) /\ exists ff_q_bls_b5cvpsez_legendre_sum_summand. bls_code_b5cvpsez_legendre = ff_q_bls_b5cvpsez_legendre_sum_summand * S ((S (ff_i_bls_b5cvpsez_legendre_sum)) * bls_scale_b5cvpsez_legendre) + (ff_a_bls_b5cvpsez_legendre_sum))) /\ ((((exists ff_h_bls_b5cvpsez_legendre_sum_partial. ff_h_bls_b5cvpsez_legendre_sum_partial + S (ff_r_bls_b5cvpsez_legendre_sum) = S ((S (ff_i_bls_b5cvpsez_legendre_sum)) * ff_v_bls_b5cvpsez_legendre_sum)) /\ exists ff_q_bls_b5cvpsez_legendre_sum_partial. ff_u_bls_b5cvpsez_legendre_sum = ff_q_bls_b5cvpsez_legendre_sum_partial * S ((S (ff_i_bls_b5cvpsez_legendre_sum)) * ff_v_bls_b5cvpsez_legendre_sum) + (ff_r_bls_b5cvpsez_legendre_sum))) /\ ((((exists ff_h_bls_b5cvpsez_legendre_sum_successor. ff_h_bls_b5cvpsez_legendre_sum_successor + S (ff_s_bls_b5cvpsez_legendre_sum) = S ((S (S ff_i_bls_b5cvpsez_legendre_sum)) * ff_v_bls_b5cvpsez_legendre_sum)) /\ exists ff_q_bls_b5cvpsez_legendre_sum_successor. ff_u_bls_b5cvpsez_legendre_sum = ff_q_bls_b5cvpsez_legendre_sum_successor * S ((S (S ff_i_bls_b5cvpsez_legendre_sum)) * ff_v_bls_b5cvpsez_legendre_sum) + (ff_s_bls_b5cvpsez_legendre_sum))) /\ ff_s_bls_b5cvpsez_legendre_sum = ff_r_bls_b5cvpsez_legendre_sum + ff_a_bls_b5cvpsez_legendre_sum)))))))) -> t = eStructural proof guide
Zero quotient tails preserve the finite Legendre sum.
Direct prerequisites: legendre_sum_functional, le_succ, add_comm, zero_add, beta_sum_succ_last_zero, power_quotient_prefix_tail_entry_zero. The authored body proceeds by structural induction (1), intermediate claims (8), equality transport (9).
Proof neighborhood
Direct dependencies
BT00S3 legendre_sum_functional BT0018 le_succ BT0002 add_comm BT0000 zero_add BT00SR beta_sum_succ_last_zero BT00XP power_quotient_prefix_tail_entry_zeroDirect dependents
Formal native tactic body
Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.
- 0001
intro p - 0002
intro n - 0003
intro b - 0004
intro c - 0005
induction g - 0006
intro t - 0007
intro e - 0008
intro hp - 0009
intro hprefix - 0010
intro hsum - 0011
intro hlegendre - 0012
have hbase_length : n + 0 = n - 0013
apply PA3 - 0014
rewrite hbase_length at hprefix - 0015
rewrite hbase_length at hsum - 0016
rewrite hbase_length at hsum - 0017
rewrite hbase_length at hsum - 0018
have hcompeting : exists bls_code_b5cvpsez_base bls_scale_b5cvpsez_base. ((forall bls_index_b5cvpsez_base_prefix. (exists bls_gap_b5cvpsez_base_prefix_bound. bls_gap_b5cvpsez_base_prefix_bound + S (bls_index_b5cvpsez_base_prefix) = (n)) -> exists bls_power_b5cvpsez_base_prefix bls_quotient_b5cvpsez_base_prefix bls_remainder_b5cvpsez_base_prefix. ((exists bpvi_b_bls_b5cvpsez_base_prefix_power bpvi_c_bls_b5cvpsez_base_prefix_power. ((forall bpvi_i_bls_b5cvpsez_base_prefix_power. (exists bpvi_repeat_gap_bls_b5cvpsez_base_prefix_power. bpvi_repeat_gap_bls_b5cvpsez_base_prefix_power + S bpvi_i_bls_b5cvpsez_base_prefix_power = S bls_index_b5cvpsez_base_prefix) -> (((exists bpvi_h_bls_b5cvpsez_base_prefix_power_repeat. bpvi_h_bls_b5cvpsez_base_prefix_power_repeat + S (p) = S ((S (bpvi_i_bls_b5cvpsez_base_prefix_power)) * bpvi_c_bls_b5cvpsez_base_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_base_prefix_power_repeat. bpvi_b_bls_b5cvpsez_base_prefix_power = bpvi_q_bls_b5cvpsez_base_prefix_power_repeat * S ((S (bpvi_i_bls_b5cvpsez_base_prefix_power)) * bpvi_c_bls_b5cvpsez_base_prefix_power) + (p)))) /\ (exists bpvi_u_bls_b5cvpsez_base_prefix_power bpvi_v_bls_b5cvpsez_base_prefix_power. ((((exists bpvi_h_bls_b5cvpsez_base_prefix_power_start. bpvi_h_bls_b5cvpsez_base_prefix_power_start + S (1) = S ((S (0)) * bpvi_v_bls_b5cvpsez_base_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_base_prefix_power_start. bpvi_u_bls_b5cvpsez_base_prefix_power = bpvi_q_bls_b5cvpsez_base_prefix_power_start * S ((S (0)) * bpvi_v_bls_b5cvpsez_base_prefix_power) + (1))) /\ ((((exists bpvi_h_bls_b5cvpsez_base_prefix_power_terminal. bpvi_h_bls_b5cvpsez_base_prefix_power_terminal + S (bls_power_b5cvpsez_base_prefix) = S ((S (S bls_index_b5cvpsez_base_prefix)) * bpvi_v_bls_b5cvpsez_base_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_base_prefix_power_terminal. bpvi_u_bls_b5cvpsez_base_prefix_power = bpvi_q_bls_b5cvpsez_base_prefix_power_terminal * S ((S (S bls_index_b5cvpsez_base_prefix)) * bpvi_v_bls_b5cvpsez_base_prefix_power) + (bls_power_b5cvpsez_base_prefix))) /\ forall bpvi_j_bls_b5cvpsez_base_prefix_power. (exists bpvi_product_gap_bls_b5cvpsez_base_prefix_power. bpvi_product_gap_bls_b5cvpsez_base_prefix_power + S bpvi_j_bls_b5cvpsez_base_prefix_power = S bls_index_b5cvpsez_base_prefix) -> exists bpvi_factor_bls_b5cvpsez_base_prefix_power bpvi_partial_bls_b5cvpsez_base_prefix_power bpvi_successor_bls_b5cvpsez_base_prefix_power. ((((exists bpvi_h_bls_b5cvpsez_base_prefix_power_factor. bpvi_h_bls_b5cvpsez_base_prefix_power_factor + S (bpvi_factor_bls_b5cvpsez_base_prefix_power) = S ((S (bpvi_j_bls_b5cvpsez_base_prefix_power)) * bpvi_c_bls_b5cvpsez_base_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_base_prefix_power_factor. bpvi_b_bls_b5cvpsez_base_prefix_power = bpvi_q_bls_b5cvpsez_base_prefix_power_factor * S ((S (bpvi_j_bls_b5cvpsez_base_prefix_power)) * bpvi_c_bls_b5cvpsez_base_prefix_power) + (bpvi_factor_bls_b5cvpsez_base_prefix_power))) /\ ((((exists bpvi_h_bls_b5cvpsez_base_prefix_power_partial. bpvi_h_bls_b5cvpsez_base_prefix_power_partial + S (bpvi_partial_bls_b5cvpsez_base_prefix_power) = S ((S (bpvi_j_bls_b5cvpsez_base_prefix_power)) * bpvi_v_bls_b5cvpsez_base_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_base_prefix_power_partial. bpvi_u_bls_b5cvpsez_base_prefix_power = bpvi_q_bls_b5cvpsez_base_prefix_power_partial * S ((S (bpvi_j_bls_b5cvpsez_base_prefix_power)) * bpvi_v_bls_b5cvpsez_base_prefix_power) + (bpvi_partial_bls_b5cvpsez_base_prefix_power))) /\ ((((exists bpvi_h_bls_b5cvpsez_base_prefix_power_successor. bpvi_h_bls_b5cvpsez_base_prefix_power_successor + S (bpvi_successor_bls_b5cvpsez_base_prefix_power) = S ((S (S bpvi_j_bls_b5cvpsez_base_prefix_power)) * bpvi_v_bls_b5cvpsez_base_prefix_power)) /\ exists bpvi_q_bls_b5cvpsez_base_prefix_power_successor. bpvi_u_bls_b5cvpsez_base_prefix_power = bpvi_q_bls_b5cvpsez_base_prefix_power_successor * S ((S (S bpvi_j_bls_b5cvpsez_base_prefix_power)) * bpvi_v_bls_b5cvpsez_base_prefix_power) + (bpvi_successor_bls_b5cvpsez_base_prefix_power))) /\ bpvi_successor_bls_b5cvpsez_base_prefix_power = bpvi_partial_bls_b5cvpsez_base_prefix_power * bpvi_factor_bls_b5cvpsez_base_prefix_power)))))))) /\ ((((exists ff_h_bls_b5cvpsez_base_prefix_quotient_entry. ff_h_bls_b5cvpsez_base_prefix_quotient_entry + S (bls_quotient_b5cvpsez_base_prefix) = S ((S (bls_index_b5cvpsez_base_prefix)) * bls_scale_b5cvpsez_base)) /\ exists ff_q_bls_b5cvpsez_base_prefix_quotient_entry. bls_code_b5cvpsez_base = ff_q_bls_b5cvpsez_base_prefix_quotient_entry * S ((S (bls_index_b5cvpsez_base_prefix)) * bls_scale_b5cvpsez_base) + (bls_quotient_b5cvpsez_base_prefix))) /\ ((n = bls_power_b5cvpsez_base_prefix * bls_quotient_b5cvpsez_base_prefix + bls_remainder_b5cvpsez_base_prefix /\ exists bls_remainder_gap_b5cvpsez_base_prefix_division. bls_remainder_gap_b5cvpsez_base_prefix_division + S (bls_remainder_b5cvpsez_base_prefix) = bls_power_b5cvpsez_base_prefix))))) /\ (exists ff_u_bls_b5cvpsez_base_sum ff_v_bls_b5cvpsez_base_sum. ((((exists ff_h_bls_b5cvpsez_base_sum_start. ff_h_bls_b5cvpsez_base_sum_start + S (0) = S ((S (0)) * ff_v_bls_b5cvpsez_base_sum)) /\ exists ff_q_bls_b5cvpsez_base_sum_start. ff_u_bls_b5cvpsez_base_sum = ff_q_bls_b5cvpsez_base_sum_start * S ((S (0)) * ff_v_bls_b5cvpsez_base_sum) + (0))) /\ ((((exists ff_h_bls_b5cvpsez_base_sum_terminal. ff_h_bls_b5cvpsez_base_sum_terminal + S (t) = S ((S (n)) * ff_v_bls_b5cvpsez_base_sum)) /\ exists ff_q_bls_b5cvpsez_base_sum_terminal. ff_u_bls_b5cvpsez_base_sum = ff_q_bls_b5cvpsez_base_sum_terminal * S ((S (n)) * ff_v_bls_b5cvpsez_base_sum) + (t))) /\ forall ff_i_bls_b5cvpsez_base_sum. (exists ff_lt_bls_b5cvpsez_base_sum_bound. ff_lt_bls_b5cvpsez_base_sum_bound + S ff_i_bls_b5cvpsez_base_sum = n) -> exists ff_a_bls_b5cvpsez_base_sum ff_r_bls_b5cvpsez_base_sum ff_s_bls_b5cvpsez_base_sum. ((((exists ff_h_bls_b5cvpsez_base_sum_summand. ff_h_bls_b5cvpsez_base_sum_summand + S (ff_a_bls_b5cvpsez_base_sum) = S ((S (ff_i_bls_b5cvpsez_base_sum)) * bls_scale_b5cvpsez_base)) /\ exists ff_q_bls_b5cvpsez_base_sum_summand. bls_code_b5cvpsez_base = ff_q_bls_b5cvpsez_base_sum_summand * S ((S (ff_i_bls_b5cvpsez_base_sum)) * bls_scale_b5cvpsez_base) + (ff_a_bls_b5cvpsez_base_sum))) /\ ((((exists ff_h_bls_b5cvpsez_base_sum_partial. ff_h_bls_b5cvpsez_base_sum_partial + S (ff_r_bls_b5cvpsez_base_sum) = S ((S (ff_i_bls_b5cvpsez_base_sum)) * ff_v_bls_b5cvpsez_base_sum)) /\ exists ff_q_bls_b5cvpsez_base_sum_partial. ff_u_bls_b5cvpsez_base_sum = ff_q_bls_b5cvpsez_base_sum_partial * S ((S (ff_i_bls_b5cvpsez_base_sum)) * ff_v_bls_b5cvpsez_base_sum) + (ff_r_bls_b5cvpsez_base_sum))) /\ ((((exists ff_h_bls_b5cvpsez_base_sum_successor. ff_h_bls_b5cvpsez_base_sum_successor + S (ff_s_bls_b5cvpsez_base_sum) = S ((S (S ff_i_bls_b5cvpsez_base_sum)) * ff_v_bls_b5cvpsez_base_sum)) /\ exists ff_q_bls_b5cvpsez_base_sum_successor. ff_u_bls_b5cvpsez_base_sum = ff_q_bls_b5cvpsez_base_sum_successor * S ((S (S ff_i_bls_b5cvpsez_base_sum)) * ff_v_bls_b5cvpsez_base_sum) + (ff_s_bls_b5cvpsez_base_sum))) /\ ff_s_bls_b5cvpsez_base_sum = ff_r_bls_b5cvpsez_base_sum + ff_a_bls_b5cvpsez_base_sum))))))) - 0019
exists b - 0020
exists c - 0021
split - 0022
exact hprefix - 0023
exact hsum - 0024
specialize legendre_sum_functional p - 0025
specialize legendre_sum_functional n - 0026
specialize legendre_sum_functional t - 0027
specialize legendre_sum_functional e - 0028
apply legendre_sum_functional - 0029
exact hcompeting - 0030
exact hlegendre - 0031
intro t - 0032
intro e - 0033
intro hp - 0034
intro hprefix - 0035
intro hsum - 0036
intro hlegendre - 0037
have hstep_length : n + S g = S (n + g) - 0038
apply PA4 - 0039
have hrestricted : forall bls_index_b5cvpsez_restricted. (exists bls_gap_b5cvpsez_restricted_bound. bls_gap_b5cvpsez_restricted_bound + S (bls_index_b5cvpsez_restricted) = (n + g)) -> exists bls_power_b5cvpsez_restricted bls_quotient_b5cvpsez_restricted bls_remainder_b5cvpsez_restricted. ((exists bpvi_b_bls_b5cvpsez_restricted_power bpvi_c_bls_b5cvpsez_restricted_power. ((forall bpvi_i_bls_b5cvpsez_restricted_power. (exists bpvi_repeat_gap_bls_b5cvpsez_restricted_power. bpvi_repeat_gap_bls_b5cvpsez_restricted_power + S bpvi_i_bls_b5cvpsez_restricted_power = S bls_index_b5cvpsez_restricted) -> (((exists bpvi_h_bls_b5cvpsez_restricted_power_repeat. bpvi_h_bls_b5cvpsez_restricted_power_repeat + S (p) = S ((S (bpvi_i_bls_b5cvpsez_restricted_power)) * bpvi_c_bls_b5cvpsez_restricted_power)) /\ exists bpvi_q_bls_b5cvpsez_restricted_power_repeat. bpvi_b_bls_b5cvpsez_restricted_power = bpvi_q_bls_b5cvpsez_restricted_power_repeat * S ((S (bpvi_i_bls_b5cvpsez_restricted_power)) * bpvi_c_bls_b5cvpsez_restricted_power) + (p)))) /\ (exists bpvi_u_bls_b5cvpsez_restricted_power bpvi_v_bls_b5cvpsez_restricted_power. ((((exists bpvi_h_bls_b5cvpsez_restricted_power_start. bpvi_h_bls_b5cvpsez_restricted_power_start + S (1) = S ((S (0)) * bpvi_v_bls_b5cvpsez_restricted_power)) /\ exists bpvi_q_bls_b5cvpsez_restricted_power_start. bpvi_u_bls_b5cvpsez_restricted_power = bpvi_q_bls_b5cvpsez_restricted_power_start * S ((S (0)) * bpvi_v_bls_b5cvpsez_restricted_power) + (1))) /\ ((((exists bpvi_h_bls_b5cvpsez_restricted_power_terminal. bpvi_h_bls_b5cvpsez_restricted_power_terminal + S (bls_power_b5cvpsez_restricted) = S ((S (S bls_index_b5cvpsez_restricted)) * bpvi_v_bls_b5cvpsez_restricted_power)) /\ exists bpvi_q_bls_b5cvpsez_restricted_power_terminal. bpvi_u_bls_b5cvpsez_restricted_power = bpvi_q_bls_b5cvpsez_restricted_power_terminal * S ((S (S bls_index_b5cvpsez_restricted)) * bpvi_v_bls_b5cvpsez_restricted_power) + (bls_power_b5cvpsez_restricted))) /\ forall bpvi_j_bls_b5cvpsez_restricted_power. (exists bpvi_product_gap_bls_b5cvpsez_restricted_power. bpvi_product_gap_bls_b5cvpsez_restricted_power + S bpvi_j_bls_b5cvpsez_restricted_power = S bls_index_b5cvpsez_restricted) -> exists bpvi_factor_bls_b5cvpsez_restricted_power bpvi_partial_bls_b5cvpsez_restricted_power bpvi_successor_bls_b5cvpsez_restricted_power. ((((exists bpvi_h_bls_b5cvpsez_restricted_power_factor. bpvi_h_bls_b5cvpsez_restricted_power_factor + S (bpvi_factor_bls_b5cvpsez_restricted_power) = S ((S (bpvi_j_bls_b5cvpsez_restricted_power)) * bpvi_c_bls_b5cvpsez_restricted_power)) /\ exists bpvi_q_bls_b5cvpsez_restricted_power_factor. bpvi_b_bls_b5cvpsez_restricted_power = bpvi_q_bls_b5cvpsez_restricted_power_factor * S ((S (bpvi_j_bls_b5cvpsez_restricted_power)) * bpvi_c_bls_b5cvpsez_restricted_power) + (bpvi_factor_bls_b5cvpsez_restricted_power))) /\ ((((exists bpvi_h_bls_b5cvpsez_restricted_power_partial. bpvi_h_bls_b5cvpsez_restricted_power_partial + S (bpvi_partial_bls_b5cvpsez_restricted_power) = S ((S (bpvi_j_bls_b5cvpsez_restricted_power)) * bpvi_v_bls_b5cvpsez_restricted_power)) /\ exists bpvi_q_bls_b5cvpsez_restricted_power_partial. bpvi_u_bls_b5cvpsez_restricted_power = bpvi_q_bls_b5cvpsez_restricted_power_partial * S ((S (bpvi_j_bls_b5cvpsez_restricted_power)) * bpvi_v_bls_b5cvpsez_restricted_power) + (bpvi_partial_bls_b5cvpsez_restricted_power))) /\ ((((exists bpvi_h_bls_b5cvpsez_restricted_power_successor. bpvi_h_bls_b5cvpsez_restricted_power_successor + S (bpvi_successor_bls_b5cvpsez_restricted_power) = S ((S (S bpvi_j_bls_b5cvpsez_restricted_power)) * bpvi_v_bls_b5cvpsez_restricted_power)) /\ exists bpvi_q_bls_b5cvpsez_restricted_power_successor. bpvi_u_bls_b5cvpsez_restricted_power = bpvi_q_bls_b5cvpsez_restricted_power_successor * S ((S (S bpvi_j_bls_b5cvpsez_restricted_power)) * bpvi_v_bls_b5cvpsez_restricted_power) + (bpvi_successor_bls_b5cvpsez_restricted_power))) /\ bpvi_successor_bls_b5cvpsez_restricted_power = bpvi_partial_bls_b5cvpsez_restricted_power * bpvi_factor_bls_b5cvpsez_restricted_power)))))))) /\ ((((exists ff_h_bls_b5cvpsez_restricted_quotient_entry. ff_h_bls_b5cvpsez_restricted_quotient_entry + S (bls_quotient_b5cvpsez_restricted) = S ((S (bls_index_b5cvpsez_restricted)) * c)) /\ exists ff_q_bls_b5cvpsez_restricted_quotient_entry. b = ff_q_bls_b5cvpsez_restricted_quotient_entry * S ((S (bls_index_b5cvpsez_restricted)) * c) + (bls_quotient_b5cvpsez_restricted))) /\ ((n = bls_power_b5cvpsez_restricted * bls_quotient_b5cvpsez_restricted + bls_remainder_b5cvpsez_restricted /\ exists bls_remainder_gap_b5cvpsez_restricted_division. bls_remainder_gap_b5cvpsez_restricted_division + S (bls_remainder_b5cvpsez_restricted) = bls_power_b5cvpsez_restricted)))) - 0040
intro i - 0041
intro hi - 0042
specialize hprefix i - 0043
apply hprefix - 0044
rewrite hstep_length - 0045
specialize le_succ (S i) - 0046
specialize le_succ (n + g) - 0047
apply le_succ - 0048
exact hi - 0049
have htail_start : exists k. k + n = n + g - 0050
exists g - 0051
apply add_comm - 0052
have htail_bound : exists k. k + S (n + g) = n + S g - 0053
exists 0 - 0054
rewrite hstep_length - 0055
specialize zero_add (S (n + g)) - 0056
exact zero_add - 0057
have hzero : ((exists fs_h_b5cvpsez_zero. fs_h_b5cvpsez_zero + S (0) = S ((S (n + g)) * c)) /\ exists fs_q_b5cvpsez_zero. b = fs_q_b5cvpsez_zero * S ((S (n + g)) * c) + (0)) - 0058
specialize power_quotient_prefix_tail_entry_zero p - 0059
specialize power_quotient_prefix_tail_entry_zero n - 0060
specialize power_quotient_prefix_tail_entry_zero b - 0061
specialize power_quotient_prefix_tail_entry_zero c - 0062
specialize power_quotient_prefix_tail_entry_zero (n + S g) - 0063
specialize power_quotient_prefix_tail_entry_zero (n + g) - 0064
apply power_quotient_prefix_tail_entry_zero - 0065
exact hp - 0066
exact hprefix - 0067
exact htail_start - 0068
exact htail_bound - 0069
rewrite hstep_length at hsum - 0070
rewrite hstep_length at hsum - 0071
rewrite hstep_length at hsum - 0072
have hprefix_sum : exists fs_u_b5cvpsez_prefix_sum fs_v_b5cvpsez_prefix_sum. ((((exists fs_h_b5cvpsez_prefix_sum_body_start. fs_h_b5cvpsez_prefix_sum_body_start + S (0) = S ((S (0)) * fs_v_b5cvpsez_prefix_sum)) /\ exists fs_q_b5cvpsez_prefix_sum_body_start. fs_u_b5cvpsez_prefix_sum = fs_q_b5cvpsez_prefix_sum_body_start * S ((S (0)) * fs_v_b5cvpsez_prefix_sum) + (0))) /\ ((((exists fs_h_b5cvpsez_prefix_sum_body_terminal. fs_h_b5cvpsez_prefix_sum_body_terminal + S (t) = S ((S (n + g)) * fs_v_b5cvpsez_prefix_sum)) /\ exists fs_q_b5cvpsez_prefix_sum_body_terminal. fs_u_b5cvpsez_prefix_sum = fs_q_b5cvpsez_prefix_sum_body_terminal * S ((S (n + g)) * fs_v_b5cvpsez_prefix_sum) + (t))) /\ forall fs_i_b5cvpsez_prefix_sum_body_steps. (exists fs_lt_b5cvpsez_prefix_sum_body_steps_bound. fs_lt_b5cvpsez_prefix_sum_body_steps_bound + S fs_i_b5cvpsez_prefix_sum_body_steps = n + g) -> exists fs_a_b5cvpsez_prefix_sum_body_steps fs_r_b5cvpsez_prefix_sum_body_steps fs_s_b5cvpsez_prefix_sum_body_steps. ((((exists fs_h_b5cvpsez_prefix_sum_body_steps_summand. fs_h_b5cvpsez_prefix_sum_body_steps_summand + S (fs_a_b5cvpsez_prefix_sum_body_steps) = S ((S (fs_i_b5cvpsez_prefix_sum_body_steps)) * c)) /\ exists fs_q_b5cvpsez_prefix_sum_body_steps_summand. b = fs_q_b5cvpsez_prefix_sum_body_steps_summand * S ((S (fs_i_b5cvpsez_prefix_sum_body_steps)) * c) + (fs_a_b5cvpsez_prefix_sum_body_steps))) /\ ((((exists fs_h_b5cvpsez_prefix_sum_body_steps_partial. fs_h_b5cvpsez_prefix_sum_body_steps_partial + S (fs_r_b5cvpsez_prefix_sum_body_steps) = S ((S (fs_i_b5cvpsez_prefix_sum_body_steps)) * fs_v_b5cvpsez_prefix_sum)) /\ exists fs_q_b5cvpsez_prefix_sum_body_steps_partial. fs_u_b5cvpsez_prefix_sum = fs_q_b5cvpsez_prefix_sum_body_steps_partial * S ((S (fs_i_b5cvpsez_prefix_sum_body_steps)) * fs_v_b5cvpsez_prefix_sum) + (fs_r_b5cvpsez_prefix_sum_body_steps))) /\ ((((exists fs_h_b5cvpsez_prefix_sum_body_steps_successor. fs_h_b5cvpsez_prefix_sum_body_steps_successor + S (fs_s_b5cvpsez_prefix_sum_body_steps) = S ((S (S fs_i_b5cvpsez_prefix_sum_body_steps)) * fs_v_b5cvpsez_prefix_sum)) /\ exists fs_q_b5cvpsez_prefix_sum_body_steps_successor. fs_u_b5cvpsez_prefix_sum = fs_q_b5cvpsez_prefix_sum_body_steps_successor * S ((S (S fs_i_b5cvpsez_prefix_sum_body_steps)) * fs_v_b5cvpsez_prefix_sum) + (fs_s_b5cvpsez_prefix_sum_body_steps))) /\ fs_s_b5cvpsez_prefix_sum_body_steps = fs_r_b5cvpsez_prefix_sum_body_steps + fs_a_b5cvpsez_prefix_sum_body_steps))))) - 0073
specialize beta_sum_succ_last_zero b - 0074
specialize beta_sum_succ_last_zero c - 0075
specialize beta_sum_succ_last_zero (n + g) - 0076
specialize beta_sum_succ_last_zero t - 0077
apply beta_sum_succ_last_zero - 0078
exact hsum - 0079
exact hzero - 0080
specialize IH t - 0081
specialize IH e - 0082
apply IH - 0083
exact hp - 0084
exact hrestricted - 0085
exact hprefix_sum - 0086
exact hlegendre