Exact expanded PA statement
forall p h r a b c mb mc rb rc sb sc fb fc tb tc e P M Sprod T A R. p = S r -> r = 2 * h -> (forall gsp_index_gauss_composition_signed_prefix. (exists gsp_lt_gap_gauss_composition_signed_prefix_index_bound. gsp_lt_gap_gauss_composition_signed_prefix_index_bound + S gsp_index_gauss_composition_signed_prefix = h) -> (exists gsp_value_gauss_composition_signed_prefix_entry gsp_magnitude_gauss_composition_signed_prefix_entry gsp_sign_gauss_composition_signed_prefix_entry. (((exists ff_h_gsp_gauss_composition_signed_prefix_entry_source. ff_h_gsp_gauss_composition_signed_prefix_entry_source + S (gsp_value_gauss_composition_signed_prefix_entry) = S ((S (gsp_index_gauss_composition_signed_prefix)) * c)) /\ exists ff_q_gsp_gauss_composition_signed_prefix_entry_source. b = ff_q_gsp_gauss_composition_signed_prefix_entry_source * S ((S (gsp_index_gauss_composition_signed_prefix)) * c) + (gsp_value_gauss_composition_signed_prefix_entry))) /\ ((((exists ff_h_gsp_gauss_composition_signed_prefix_entry_magnitude. ff_h_gsp_gauss_composition_signed_prefix_entry_magnitude + S (gsp_magnitude_gauss_composition_signed_prefix_entry) = S ((S (gsp_index_gauss_composition_signed_prefix)) * mc)) /\ exists ff_q_gsp_gauss_composition_signed_prefix_entry_magnitude. mb = ff_q_gsp_gauss_composition_signed_prefix_entry_magnitude * S ((S (gsp_index_gauss_composition_signed_prefix)) * mc) + (gsp_magnitude_gauss_composition_signed_prefix_entry))) /\ ((((exists ff_h_gsp_gauss_composition_signed_prefix_entry_sign. ff_h_gsp_gauss_composition_signed_prefix_entry_sign + S (gsp_sign_gauss_composition_signed_prefix_entry) = S ((S (gsp_index_gauss_composition_signed_prefix)) * sc)) /\ exists ff_q_gsp_gauss_composition_signed_prefix_entry_sign. sb = ff_q_gsp_gauss_composition_signed_prefix_entry_sign * S ((S (gsp_index_gauss_composition_signed_prefix)) * sc) + (gsp_sign_gauss_composition_signed_prefix_entry))) /\ ((exists gsp_lt_gap_gauss_composition_signed_prefix_entry_positive. gsp_lt_gap_gauss_composition_signed_prefix_entry_positive + S 0 = gsp_magnitude_gauss_composition_signed_prefix_entry) /\ ((exists gsp_le_gap_gauss_composition_signed_prefix_entry_bounded. gsp_le_gap_gauss_composition_signed_prefix_entry_bounded + gsp_magnitude_gauss_composition_signed_prefix_entry = h) /\ ((gsp_sign_gauss_composition_signed_prefix_entry = 0 \/ gsp_sign_gauss_composition_signed_prefix_entry = 1) /\ (((gsp_sign_gauss_composition_signed_prefix_entry = 0 /\ (exists gsp_mod_left_gauss_composition_signed_prefix_entry_lower gsp_mod_right_gauss_composition_signed_prefix_entry_lower. (a * gsp_value_gauss_composition_signed_prefix_entry) + p * gsp_mod_left_gauss_composition_signed_prefix_entry_lower = (gsp_magnitude_gauss_composition_signed_prefix_entry) + p * gsp_mod_right_gauss_composition_signed_prefix_entry_lower)) \/ (gsp_sign_gauss_composition_signed_prefix_entry = 1 /\ (exists gsp_mod_left_gauss_composition_signed_prefix_entry_reflected gsp_mod_right_gauss_composition_signed_prefix_entry_reflected. (a * gsp_value_gauss_composition_signed_prefix_entry) + p * gsp_mod_left_gauss_composition_signed_prefix_entry_reflected = ((2 * h) * gsp_magnitude_gauss_composition_signed_prefix_entry) + p * gsp_mod_right_gauss_composition_signed_prefix_entry_reflected))))))))))) -> (forall gspf_index_gauss_composition_sign_factors gspf_bit_gauss_composition_sign_factors. (exists gsp_lt_gap_gauss_composition_sign_factors_bound. gsp_lt_gap_gauss_composition_sign_factors_bound + S gspf_index_gauss_composition_sign_factors = h) -> (((exists ff_h_gspf_gauss_composition_sign_factors_bit. ff_h_gspf_gauss_composition_sign_factors_bit + S (gspf_bit_gauss_composition_sign_factors) = S ((S (gspf_index_gauss_composition_sign_factors)) * sc)) /\ exists ff_q_gspf_gauss_composition_sign_factors_bit. sb = ff_q_gspf_gauss_composition_sign_factors_bit * S ((S (gspf_index_gauss_composition_sign_factors)) * sc) + (gspf_bit_gauss_composition_sign_factors))) -> (((gspf_bit_gauss_composition_sign_factors = 0) /\ (((exists gsp_beta_height_gspf_gauss_composition_sign_factors_one. gsp_beta_height_gspf_gauss_composition_sign_factors_one + S (1) = S ((S (gspf_index_gauss_composition_sign_factors)) * fc)) /\ exists gsp_beta_quotient_gspf_gauss_composition_sign_factors_one. fb = gsp_beta_quotient_gspf_gauss_composition_sign_factors_one * S ((S (gspf_index_gauss_composition_sign_factors)) * fc) + (1)))) \/ ((gspf_bit_gauss_composition_sign_factors = 1) /\ (((exists ff_h_gspf_gauss_composition_sign_factors_predecessor. ff_h_gspf_gauss_composition_sign_factors_predecessor + S (r) = S ((S (gspf_index_gauss_composition_sign_factors)) * fc)) /\ exists ff_q_gspf_gauss_composition_sign_factors_predecessor. fb = ff_q_gspf_gauss_composition_sign_factors_predecessor * S ((S (gspf_index_gauss_composition_sign_factors)) * fc) + (r)))))) -> (forall fpmp_index_gauss_composition_pointwise_products fpmp_left_gauss_composition_pointwise_products fpmp_right_gauss_composition_pointwise_products fpmp_target_gauss_composition_pointwise_products. (exists fpmp_gap_gauss_composition_pointwise_products. fpmp_gap_gauss_composition_pointwise_products + S fpmp_index_gauss_composition_pointwise_products = h) -> (((exists ff_h_fpmp_gauss_composition_pointwise_products_left. ff_h_fpmp_gauss_composition_pointwise_products_left + S (fpmp_left_gauss_composition_pointwise_products) = S ((S (fpmp_index_gauss_composition_pointwise_products)) * mc)) /\ exists ff_q_fpmp_gauss_composition_pointwise_products_left. mb = ff_q_fpmp_gauss_composition_pointwise_products_left * S ((S (fpmp_index_gauss_composition_pointwise_products)) * mc) + (fpmp_left_gauss_composition_pointwise_products))) -> (((exists ff_h_fpmp_gauss_composition_pointwise_products_right. ff_h_fpmp_gauss_composition_pointwise_products_right + S (fpmp_right_gauss_composition_pointwise_products) = S ((S (fpmp_index_gauss_composition_pointwise_products)) * fc)) /\ exists ff_q_fpmp_gauss_composition_pointwise_products_right. fb = ff_q_fpmp_gauss_composition_pointwise_products_right * S ((S (fpmp_index_gauss_composition_pointwise_products)) * fc) + (fpmp_right_gauss_composition_pointwise_products))) -> (((exists ff_h_fpmp_gauss_composition_pointwise_products_target. ff_h_fpmp_gauss_composition_pointwise_products_target + S (fpmp_target_gauss_composition_pointwise_products) = S ((S (fpmp_index_gauss_composition_pointwise_products)) * tc)) /\ exists ff_q_fpmp_gauss_composition_pointwise_products_target. tb = ff_q_fpmp_gauss_composition_pointwise_products_target * S ((S (fpmp_index_gauss_composition_pointwise_products)) * tc) + (fpmp_target_gauss_composition_pointwise_products))) -> fpmp_target_gauss_composition_pointwise_products = fpmp_left_gauss_composition_pointwise_products * fpmp_right_gauss_composition_pointwise_products) -> (forall gmp_index_gauss_composition_magnitude_range. (exists gsp_lt_gap_gauss_composition_magnitude_range_index_bound. gsp_lt_gap_gauss_composition_magnitude_range_index_bound + S gmp_index_gauss_composition_magnitude_range = h) -> exists gmp_magnitude_gauss_composition_magnitude_range. ((((exists ff_h_gmp_gauss_composition_magnitude_range_decoded. ff_h_gmp_gauss_composition_magnitude_range_decoded + S (gmp_magnitude_gauss_composition_magnitude_range) = S ((S (gmp_index_gauss_composition_magnitude_range)) * mc)) /\ exists ff_q_gmp_gauss_composition_magnitude_range_decoded. mb = ff_q_gmp_gauss_composition_magnitude_range_decoded * S ((S (gmp_index_gauss_composition_magnitude_range)) * mc) + (gmp_magnitude_gauss_composition_magnitude_range))) /\ ((exists gsp_lt_gap_gauss_composition_magnitude_range_positive. gsp_lt_gap_gauss_composition_magnitude_range_positive + S 0 = gmp_magnitude_gauss_composition_magnitude_range) /\ (exists gsp_le_gap_gauss_composition_magnitude_range_bounded. gsp_le_gap_gauss_composition_magnitude_range_bounded + gmp_magnitude_gauss_composition_magnitude_range = h)))) -> (forall fp_i_gauss_composition_magnitude_injective fp_j_gauss_composition_magnitude_injective fp_value_gauss_composition_magnitude_injective. (exists fp_gap_gauss_composition_magnitude_injective_i. fp_gap_gauss_composition_magnitude_injective_i + S fp_i_gauss_composition_magnitude_injective = h) -> (exists fp_gap_gauss_composition_magnitude_injective_j. fp_gap_gauss_composition_magnitude_injective_j + S fp_j_gauss_composition_magnitude_injective = h) -> (((exists ff_h_gauss_composition_magnitude_injective_left. ff_h_gauss_composition_magnitude_injective_left + S (fp_value_gauss_composition_magnitude_injective) = S ((S (fp_i_gauss_composition_magnitude_injective)) * mc)) /\ exists ff_q_gauss_composition_magnitude_injective_left. mb = ff_q_gauss_composition_magnitude_injective_left * S ((S (fp_i_gauss_composition_magnitude_injective)) * mc) + (fp_value_gauss_composition_magnitude_injective))) -> (((exists ff_h_gauss_composition_magnitude_injective_right. ff_h_gauss_composition_magnitude_injective_right + S (fp_value_gauss_composition_magnitude_injective) = S ((S (fp_j_gauss_composition_magnitude_injective)) * mc)) /\ exists ff_q_gauss_composition_magnitude_injective_right. mb = ff_q_gauss_composition_magnitude_injective_right * S ((S (fp_j_gauss_composition_magnitude_injective)) * mc) + (fp_value_gauss_composition_magnitude_injective))) -> fp_i_gauss_composition_magnitude_injective = fp_j_gauss_composition_magnitude_injective) -> (forall gmp_index_gauss_composition_predecessor_recode gmp_predecessor_gauss_composition_predecessor_recode. (exists gsp_lt_gap_gauss_composition_predecessor_recode_index_bound. gsp_lt_gap_gauss_composition_predecessor_recode_index_bound + S gmp_index_gauss_composition_predecessor_recode = h) -> (((exists gsp_beta_height_gmp_gauss_composition_predecessor_recode_source. gsp_beta_height_gmp_gauss_composition_predecessor_recode_source + S (S gmp_predecessor_gauss_composition_predecessor_recode) = S ((S (gmp_index_gauss_composition_predecessor_recode)) * mc)) /\ exists gsp_beta_quotient_gmp_gauss_composition_predecessor_recode_source. mb = gsp_beta_quotient_gmp_gauss_composition_predecessor_recode_source * S ((S (gmp_index_gauss_composition_predecessor_recode)) * mc) + (S gmp_predecessor_gauss_composition_predecessor_recode))) -> (((exists ff_h_gmp_gauss_composition_predecessor_recode_target. ff_h_gmp_gauss_composition_predecessor_recode_target + S (gmp_predecessor_gauss_composition_predecessor_recode) = S ((S (gmp_index_gauss_composition_predecessor_recode)) * rc)) /\ exists ff_q_gmp_gauss_composition_predecessor_recode_target. rb = ff_q_gmp_gauss_composition_predecessor_recode_target * S ((S (gmp_index_gauss_composition_predecessor_recode)) * rc) + (gmp_predecessor_gauss_composition_predecessor_recode)))) -> (forall gsp_range_index_gauss_composition_half_range. (exists gsp_lt_gap_gauss_composition_half_range_range_bound. gsp_lt_gap_gauss_composition_half_range_range_bound + S gsp_range_index_gauss_composition_half_range = h) -> (((exists gsp_beta_height_gauss_composition_half_range_range_entry. gsp_beta_height_gauss_composition_half_range_range_entry + S (1 + gsp_range_index_gauss_composition_half_range) = S ((S (gsp_range_index_gauss_composition_half_range)) * c)) /\ exists gsp_beta_quotient_gauss_composition_half_range_range_entry. b = gsp_beta_quotient_gauss_composition_half_range_range_entry * S ((S (gsp_range_index_gauss_composition_half_range)) * c) + (1 + gsp_range_index_gauss_composition_half_range)))) -> (((exists ff_u_gauss_composition_sign_count_sum ff_v_gauss_composition_sign_count_sum. ((((exists ff_h_gauss_composition_sign_count_sum_start. ff_h_gauss_composition_sign_count_sum_start + S (0) = S ((S (0)) * ff_v_gauss_composition_sign_count_sum)) /\ exists ff_q_gauss_composition_sign_count_sum_start. ff_u_gauss_composition_sign_count_sum = ff_q_gauss_composition_sign_count_sum_start * S ((S (0)) * ff_v_gauss_composition_sign_count_sum) + (0))) /\ ((((exists ff_h_gauss_composition_sign_count_sum_terminal. ff_h_gauss_composition_sign_count_sum_terminal + S (e) = S ((S (h)) * ff_v_gauss_composition_sign_count_sum)) /\ exists ff_q_gauss_composition_sign_count_sum_terminal. ff_u_gauss_composition_sign_count_sum = ff_q_gauss_composition_sign_count_sum_terminal * S ((S (h)) * ff_v_gauss_composition_sign_count_sum) + (e))) /\ forall ff_i_gauss_composition_sign_count_sum. (exists ff_lt_gauss_composition_sign_count_sum_bound. ff_lt_gauss_composition_sign_count_sum_bound + S ff_i_gauss_composition_sign_count_sum = h) -> exists ff_a_gauss_composition_sign_count_sum ff_r_gauss_composition_sign_count_sum ff_s_gauss_composition_sign_count_sum. ((((exists ff_h_gauss_composition_sign_count_sum_summand. ff_h_gauss_composition_sign_count_sum_summand + S (ff_a_gauss_composition_sign_count_sum) = S ((S (ff_i_gauss_composition_sign_count_sum)) * sc)) /\ exists ff_q_gauss_composition_sign_count_sum_summand. sb = ff_q_gauss_composition_sign_count_sum_summand * S ((S (ff_i_gauss_composition_sign_count_sum)) * sc) + (ff_a_gauss_composition_sign_count_sum))) /\ ((((exists ff_h_gauss_composition_sign_count_sum_partial. ff_h_gauss_composition_sign_count_sum_partial + S (ff_r_gauss_composition_sign_count_sum) = S ((S (ff_i_gauss_composition_sign_count_sum)) * ff_v_gauss_composition_sign_count_sum)) /\ exists ff_q_gauss_composition_sign_count_sum_partial. ff_u_gauss_composition_sign_count_sum = ff_q_gauss_composition_sign_count_sum_partial * S ((S (ff_i_gauss_composition_sign_count_sum)) * ff_v_gauss_composition_sign_count_sum) + (ff_r_gauss_composition_sign_count_sum))) /\ ((((exists ff_h_gauss_composition_sign_count_sum_successor. ff_h_gauss_composition_sign_count_sum_successor + S (ff_s_gauss_composition_sign_count_sum) = S ((S (S ff_i_gauss_composition_sign_count_sum)) * ff_v_gauss_composition_sign_count_sum)) /\ exists ff_q_gauss_composition_sign_count_sum_successor. ff_u_gauss_composition_sign_count_sum = ff_q_gauss_composition_sign_count_sum_successor * S ((S (S ff_i_gauss_composition_sign_count_sum)) * ff_v_gauss_composition_sign_count_sum) + (ff_s_gauss_composition_sign_count_sum))) /\ ff_s_gauss_composition_sign_count_sum = ff_r_gauss_composition_sign_count_sum + ff_a_gauss_composition_sign_count_sum)))))) /\ (forall ff_i_gauss_composition_sign_count_bits. (exists ff_lt_gauss_composition_sign_count_bits_bound. ff_lt_gauss_composition_sign_count_bits_bound + S ff_i_gauss_composition_sign_count_bits = h) -> exists ff_bit_gauss_composition_sign_count_bits. ((((exists ff_h_gauss_composition_sign_count_bits_decoded. ff_h_gauss_composition_sign_count_bits_decoded + S (ff_bit_gauss_composition_sign_count_bits) = S ((S (ff_i_gauss_composition_sign_count_bits)) * sc)) /\ exists ff_q_gauss_composition_sign_count_bits_decoded. sb = ff_q_gauss_composition_sign_count_bits_decoded * S ((S (ff_i_gauss_composition_sign_count_bits)) * sc) + (ff_bit_gauss_composition_sign_count_bits))) /\ (ff_bit_gauss_composition_sign_count_bits = 0 \/ ff_bit_gauss_composition_sign_count_bits = 1))))) -> (exists ff_u_gauss_composition_canonical_product ff_v_gauss_composition_canonical_product. ((((exists ff_h_gauss_composition_canonical_product_start. ff_h_gauss_composition_canonical_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_canonical_product)) /\ exists ff_q_gauss_composition_canonical_product_start. ff_u_gauss_composition_canonical_product = ff_q_gauss_composition_canonical_product_start * S ((S (0)) * ff_v_gauss_composition_canonical_product) + (1))) /\ ((((exists ff_h_gauss_composition_canonical_product_terminal. ff_h_gauss_composition_canonical_product_terminal + S (P) = S ((S (h)) * ff_v_gauss_composition_canonical_product)) /\ exists ff_q_gauss_composition_canonical_product_terminal. ff_u_gauss_composition_canonical_product = ff_q_gauss_composition_canonical_product_terminal * S ((S (h)) * ff_v_gauss_composition_canonical_product) + (P))) /\ forall ff_i_gauss_composition_canonical_product. (exists ff_lt_gauss_composition_canonical_product_bound. ff_lt_gauss_composition_canonical_product_bound + S ff_i_gauss_composition_canonical_product = h) -> exists ff_p_gauss_composition_canonical_product ff_r_gauss_composition_canonical_product ff_s_gauss_composition_canonical_product. ((((exists ff_h_gauss_composition_canonical_product_factor. ff_h_gauss_composition_canonical_product_factor + S (ff_p_gauss_composition_canonical_product) = S ((S (ff_i_gauss_composition_canonical_product)) * c)) /\ exists ff_q_gauss_composition_canonical_product_factor. b = ff_q_gauss_composition_canonical_product_factor * S ((S (ff_i_gauss_composition_canonical_product)) * c) + (ff_p_gauss_composition_canonical_product))) /\ ((((exists ff_h_gauss_composition_canonical_product_partial. ff_h_gauss_composition_canonical_product_partial + S (ff_r_gauss_composition_canonical_product) = S ((S (ff_i_gauss_composition_canonical_product)) * ff_v_gauss_composition_canonical_product)) /\ exists ff_q_gauss_composition_canonical_product_partial. ff_u_gauss_composition_canonical_product = ff_q_gauss_composition_canonical_product_partial * S ((S (ff_i_gauss_composition_canonical_product)) * ff_v_gauss_composition_canonical_product) + (ff_r_gauss_composition_canonical_product))) /\ ((((exists ff_h_gauss_composition_canonical_product_successor. ff_h_gauss_composition_canonical_product_successor + S (ff_s_gauss_composition_canonical_product) = S ((S (S ff_i_gauss_composition_canonical_product)) * ff_v_gauss_composition_canonical_product)) /\ exists ff_q_gauss_composition_canonical_product_successor. ff_u_gauss_composition_canonical_product = ff_q_gauss_composition_canonical_product_successor * S ((S (S ff_i_gauss_composition_canonical_product)) * ff_v_gauss_composition_canonical_product) + (ff_s_gauss_composition_canonical_product))) /\ ff_s_gauss_composition_canonical_product = ff_r_gauss_composition_canonical_product * ff_p_gauss_composition_canonical_product)))))) -> (exists ff_u_gauss_composition_magnitude_product ff_v_gauss_composition_magnitude_product. ((((exists ff_h_gauss_composition_magnitude_product_start. ff_h_gauss_composition_magnitude_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_magnitude_product)) /\ exists ff_q_gauss_composition_magnitude_product_start. ff_u_gauss_composition_magnitude_product = ff_q_gauss_composition_magnitude_product_start * S ((S (0)) * ff_v_gauss_composition_magnitude_product) + (1))) /\ ((((exists ff_h_gauss_composition_magnitude_product_terminal. ff_h_gauss_composition_magnitude_product_terminal + S (M) = S ((S (h)) * ff_v_gauss_composition_magnitude_product)) /\ exists ff_q_gauss_composition_magnitude_product_terminal. ff_u_gauss_composition_magnitude_product = ff_q_gauss_composition_magnitude_product_terminal * S ((S (h)) * ff_v_gauss_composition_magnitude_product) + (M))) /\ forall ff_i_gauss_composition_magnitude_product. (exists ff_lt_gauss_composition_magnitude_product_bound. ff_lt_gauss_composition_magnitude_product_bound + S ff_i_gauss_composition_magnitude_product = h) -> exists ff_p_gauss_composition_magnitude_product ff_r_gauss_composition_magnitude_product ff_s_gauss_composition_magnitude_product. ((((exists ff_h_gauss_composition_magnitude_product_factor. ff_h_gauss_composition_magnitude_product_factor + S (ff_p_gauss_composition_magnitude_product) = S ((S (ff_i_gauss_composition_magnitude_product)) * mc)) /\ exists ff_q_gauss_composition_magnitude_product_factor. mb = ff_q_gauss_composition_magnitude_product_factor * S ((S (ff_i_gauss_composition_magnitude_product)) * mc) + (ff_p_gauss_composition_magnitude_product))) /\ ((((exists ff_h_gauss_composition_magnitude_product_partial. ff_h_gauss_composition_magnitude_product_partial + S (ff_r_gauss_composition_magnitude_product) = S ((S (ff_i_gauss_composition_magnitude_product)) * ff_v_gauss_composition_magnitude_product)) /\ exists ff_q_gauss_composition_magnitude_product_partial. ff_u_gauss_composition_magnitude_product = ff_q_gauss_composition_magnitude_product_partial * S ((S (ff_i_gauss_composition_magnitude_product)) * ff_v_gauss_composition_magnitude_product) + (ff_r_gauss_composition_magnitude_product))) /\ ((((exists ff_h_gauss_composition_magnitude_product_successor. ff_h_gauss_composition_magnitude_product_successor + S (ff_s_gauss_composition_magnitude_product) = S ((S (S ff_i_gauss_composition_magnitude_product)) * ff_v_gauss_composition_magnitude_product)) /\ exists ff_q_gauss_composition_magnitude_product_successor. ff_u_gauss_composition_magnitude_product = ff_q_gauss_composition_magnitude_product_successor * S ((S (S ff_i_gauss_composition_magnitude_product)) * ff_v_gauss_composition_magnitude_product) + (ff_s_gauss_composition_magnitude_product))) /\ ff_s_gauss_composition_magnitude_product = ff_r_gauss_composition_magnitude_product * ff_p_gauss_composition_magnitude_product)))))) -> (exists ff_u_gauss_composition_sign_product ff_v_gauss_composition_sign_product. ((((exists ff_h_gauss_composition_sign_product_start. ff_h_gauss_composition_sign_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_sign_product)) /\ exists ff_q_gauss_composition_sign_product_start. ff_u_gauss_composition_sign_product = ff_q_gauss_composition_sign_product_start * S ((S (0)) * ff_v_gauss_composition_sign_product) + (1))) /\ ((((exists ff_h_gauss_composition_sign_product_terminal. ff_h_gauss_composition_sign_product_terminal + S (Sprod) = S ((S (h)) * ff_v_gauss_composition_sign_product)) /\ exists ff_q_gauss_composition_sign_product_terminal. ff_u_gauss_composition_sign_product = ff_q_gauss_composition_sign_product_terminal * S ((S (h)) * ff_v_gauss_composition_sign_product) + (Sprod))) /\ forall ff_i_gauss_composition_sign_product. (exists ff_lt_gauss_composition_sign_product_bound. ff_lt_gauss_composition_sign_product_bound + S ff_i_gauss_composition_sign_product = h) -> exists ff_p_gauss_composition_sign_product ff_r_gauss_composition_sign_product ff_s_gauss_composition_sign_product. ((((exists ff_h_gauss_composition_sign_product_factor. ff_h_gauss_composition_sign_product_factor + S (ff_p_gauss_composition_sign_product) = S ((S (ff_i_gauss_composition_sign_product)) * fc)) /\ exists ff_q_gauss_composition_sign_product_factor. fb = ff_q_gauss_composition_sign_product_factor * S ((S (ff_i_gauss_composition_sign_product)) * fc) + (ff_p_gauss_composition_sign_product))) /\ ((((exists ff_h_gauss_composition_sign_product_partial. ff_h_gauss_composition_sign_product_partial + S (ff_r_gauss_composition_sign_product) = S ((S (ff_i_gauss_composition_sign_product)) * ff_v_gauss_composition_sign_product)) /\ exists ff_q_gauss_composition_sign_product_partial. ff_u_gauss_composition_sign_product = ff_q_gauss_composition_sign_product_partial * S ((S (ff_i_gauss_composition_sign_product)) * ff_v_gauss_composition_sign_product) + (ff_r_gauss_composition_sign_product))) /\ ((((exists ff_h_gauss_composition_sign_product_successor. ff_h_gauss_composition_sign_product_successor + S (ff_s_gauss_composition_sign_product) = S ((S (S ff_i_gauss_composition_sign_product)) * ff_v_gauss_composition_sign_product)) /\ exists ff_q_gauss_composition_sign_product_successor. ff_u_gauss_composition_sign_product = ff_q_gauss_composition_sign_product_successor * S ((S (S ff_i_gauss_composition_sign_product)) * ff_v_gauss_composition_sign_product) + (ff_s_gauss_composition_sign_product))) /\ ff_s_gauss_composition_sign_product = ff_r_gauss_composition_sign_product * ff_p_gauss_composition_sign_product)))))) -> (exists ff_u_gauss_composition_target_product ff_v_gauss_composition_target_product. ((((exists ff_h_gauss_composition_target_product_start. ff_h_gauss_composition_target_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_target_product)) /\ exists ff_q_gauss_composition_target_product_start. ff_u_gauss_composition_target_product = ff_q_gauss_composition_target_product_start * S ((S (0)) * ff_v_gauss_composition_target_product) + (1))) /\ ((((exists ff_h_gauss_composition_target_product_terminal. ff_h_gauss_composition_target_product_terminal + S (T) = S ((S (h)) * ff_v_gauss_composition_target_product)) /\ exists ff_q_gauss_composition_target_product_terminal. ff_u_gauss_composition_target_product = ff_q_gauss_composition_target_product_terminal * S ((S (h)) * ff_v_gauss_composition_target_product) + (T))) /\ forall ff_i_gauss_composition_target_product. (exists ff_lt_gauss_composition_target_product_bound. ff_lt_gauss_composition_target_product_bound + S ff_i_gauss_composition_target_product = h) -> exists ff_p_gauss_composition_target_product ff_r_gauss_composition_target_product ff_s_gauss_composition_target_product. ((((exists ff_h_gauss_composition_target_product_factor. ff_h_gauss_composition_target_product_factor + S (ff_p_gauss_composition_target_product) = S ((S (ff_i_gauss_composition_target_product)) * tc)) /\ exists ff_q_gauss_composition_target_product_factor. tb = ff_q_gauss_composition_target_product_factor * S ((S (ff_i_gauss_composition_target_product)) * tc) + (ff_p_gauss_composition_target_product))) /\ ((((exists ff_h_gauss_composition_target_product_partial. ff_h_gauss_composition_target_product_partial + S (ff_r_gauss_composition_target_product) = S ((S (ff_i_gauss_composition_target_product)) * ff_v_gauss_composition_target_product)) /\ exists ff_q_gauss_composition_target_product_partial. ff_u_gauss_composition_target_product = ff_q_gauss_composition_target_product_partial * S ((S (ff_i_gauss_composition_target_product)) * ff_v_gauss_composition_target_product) + (ff_r_gauss_composition_target_product))) /\ ((((exists ff_h_gauss_composition_target_product_successor. ff_h_gauss_composition_target_product_successor + S (ff_s_gauss_composition_target_product) = S ((S (S ff_i_gauss_composition_target_product)) * ff_v_gauss_composition_target_product)) /\ exists ff_q_gauss_composition_target_product_successor. ff_u_gauss_composition_target_product = ff_q_gauss_composition_target_product_successor * S ((S (S ff_i_gauss_composition_target_product)) * ff_v_gauss_composition_target_product) + (ff_s_gauss_composition_target_product))) /\ ff_s_gauss_composition_target_product = ff_r_gauss_composition_target_product * ff_p_gauss_composition_target_product)))))) -> (exists ff_b_gauss_composition_multiplier_power ff_c_gauss_composition_multiplier_power. ((forall ff_i_gauss_composition_multiplier_power_repeat. (exists ff_lt_gauss_composition_multiplier_power_repeat_bound. ff_lt_gauss_composition_multiplier_power_repeat_bound + S ff_i_gauss_composition_multiplier_power_repeat = h) -> (((exists ff_h_gauss_composition_multiplier_power_repeat_decoded. ff_h_gauss_composition_multiplier_power_repeat_decoded + S (a) = S ((S (ff_i_gauss_composition_multiplier_power_repeat)) * ff_c_gauss_composition_multiplier_power)) /\ exists ff_q_gauss_composition_multiplier_power_repeat_decoded. ff_b_gauss_composition_multiplier_power = ff_q_gauss_composition_multiplier_power_repeat_decoded * S ((S (ff_i_gauss_composition_multiplier_power_repeat)) * ff_c_gauss_composition_multiplier_power) + (a)))) /\ (exists ff_u_gauss_composition_multiplier_power_product ff_v_gauss_composition_multiplier_power_product. ((((exists ff_h_gauss_composition_multiplier_power_product_start. ff_h_gauss_composition_multiplier_power_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_multiplier_power_product)) /\ exists ff_q_gauss_composition_multiplier_power_product_start. ff_u_gauss_composition_multiplier_power_product = ff_q_gauss_composition_multiplier_power_product_start * S ((S (0)) * ff_v_gauss_composition_multiplier_power_product) + (1))) /\ ((((exists ff_h_gauss_composition_multiplier_power_product_terminal. ff_h_gauss_composition_multiplier_power_product_terminal + S (A) = S ((S (h)) * ff_v_gauss_composition_multiplier_power_product)) /\ exists ff_q_gauss_composition_multiplier_power_product_terminal. ff_u_gauss_composition_multiplier_power_product = ff_q_gauss_composition_multiplier_power_product_terminal * S ((S (h)) * ff_v_gauss_composition_multiplier_power_product) + (A))) /\ forall ff_i_gauss_composition_multiplier_power_product. (exists ff_lt_gauss_composition_multiplier_power_product_bound. ff_lt_gauss_composition_multiplier_power_product_bound + S ff_i_gauss_composition_multiplier_power_product = h) -> exists ff_p_gauss_composition_multiplier_power_product ff_r_gauss_composition_multiplier_power_product ff_s_gauss_composition_multiplier_power_product. ((((exists ff_h_gauss_composition_multiplier_power_product_factor. ff_h_gauss_composition_multiplier_power_product_factor + S (ff_p_gauss_composition_multiplier_power_product) = S ((S (ff_i_gauss_composition_multiplier_power_product)) * ff_c_gauss_composition_multiplier_power)) /\ exists ff_q_gauss_composition_multiplier_power_product_factor. ff_b_gauss_composition_multiplier_power = ff_q_gauss_composition_multiplier_power_product_factor * S ((S (ff_i_gauss_composition_multiplier_power_product)) * ff_c_gauss_composition_multiplier_power) + (ff_p_gauss_composition_multiplier_power_product))) /\ ((((exists ff_h_gauss_composition_multiplier_power_product_partial. ff_h_gauss_composition_multiplier_power_product_partial + S (ff_r_gauss_composition_multiplier_power_product) = S ((S (ff_i_gauss_composition_multiplier_power_product)) * ff_v_gauss_composition_multiplier_power_product)) /\ exists ff_q_gauss_composition_multiplier_power_product_partial. ff_u_gauss_composition_multiplier_power_product = ff_q_gauss_composition_multiplier_power_product_partial * S ((S (ff_i_gauss_composition_multiplier_power_product)) * ff_v_gauss_composition_multiplier_power_product) + (ff_r_gauss_composition_multiplier_power_product))) /\ ((((exists ff_h_gauss_composition_multiplier_power_product_successor. ff_h_gauss_composition_multiplier_power_product_successor + S (ff_s_gauss_composition_multiplier_power_product) = S ((S (S ff_i_gauss_composition_multiplier_power_product)) * ff_v_gauss_composition_multiplier_power_product)) /\ exists ff_q_gauss_composition_multiplier_power_product_successor. ff_u_gauss_composition_multiplier_power_product = ff_q_gauss_composition_multiplier_power_product_successor * S ((S (S ff_i_gauss_composition_multiplier_power_product)) * ff_v_gauss_composition_multiplier_power_product) + (ff_s_gauss_composition_multiplier_power_product))) /\ ff_s_gauss_composition_multiplier_power_product = ff_r_gauss_composition_multiplier_power_product * ff_p_gauss_composition_multiplier_power_product)))))))) -> (exists ff_b_gauss_composition_sign_power ff_c_gauss_composition_sign_power. ((forall ff_i_gauss_composition_sign_power_repeat. (exists ff_lt_gauss_composition_sign_power_repeat_bound. ff_lt_gauss_composition_sign_power_repeat_bound + S ff_i_gauss_composition_sign_power_repeat = e) -> (((exists ff_h_gauss_composition_sign_power_repeat_decoded. ff_h_gauss_composition_sign_power_repeat_decoded + S (r) = S ((S (ff_i_gauss_composition_sign_power_repeat)) * ff_c_gauss_composition_sign_power)) /\ exists ff_q_gauss_composition_sign_power_repeat_decoded. ff_b_gauss_composition_sign_power = ff_q_gauss_composition_sign_power_repeat_decoded * S ((S (ff_i_gauss_composition_sign_power_repeat)) * ff_c_gauss_composition_sign_power) + (r)))) /\ (exists ff_u_gauss_composition_sign_power_product ff_v_gauss_composition_sign_power_product. ((((exists ff_h_gauss_composition_sign_power_product_start. ff_h_gauss_composition_sign_power_product_start + S (1) = S ((S (0)) * ff_v_gauss_composition_sign_power_product)) /\ exists ff_q_gauss_composition_sign_power_product_start. ff_u_gauss_composition_sign_power_product = ff_q_gauss_composition_sign_power_product_start * S ((S (0)) * ff_v_gauss_composition_sign_power_product) + (1))) /\ ((((exists ff_h_gauss_composition_sign_power_product_terminal. ff_h_gauss_composition_sign_power_product_terminal + S (R) = S ((S (e)) * ff_v_gauss_composition_sign_power_product)) /\ exists ff_q_gauss_composition_sign_power_product_terminal. ff_u_gauss_composition_sign_power_product = ff_q_gauss_composition_sign_power_product_terminal * S ((S (e)) * ff_v_gauss_composition_sign_power_product) + (R))) /\ forall ff_i_gauss_composition_sign_power_product. (exists ff_lt_gauss_composition_sign_power_product_bound. ff_lt_gauss_composition_sign_power_product_bound + S ff_i_gauss_composition_sign_power_product = e) -> exists ff_p_gauss_composition_sign_power_product ff_r_gauss_composition_sign_power_product ff_s_gauss_composition_sign_power_product. ((((exists ff_h_gauss_composition_sign_power_product_factor. ff_h_gauss_composition_sign_power_product_factor + S (ff_p_gauss_composition_sign_power_product) = S ((S (ff_i_gauss_composition_sign_power_product)) * ff_c_gauss_composition_sign_power)) /\ exists ff_q_gauss_composition_sign_power_product_factor. ff_b_gauss_composition_sign_power = ff_q_gauss_composition_sign_power_product_factor * S ((S (ff_i_gauss_composition_sign_power_product)) * ff_c_gauss_composition_sign_power) + (ff_p_gauss_composition_sign_power_product))) /\ ((((exists ff_h_gauss_composition_sign_power_product_partial. ff_h_gauss_composition_sign_power_product_partial + S (ff_r_gauss_composition_sign_power_product) = S ((S (ff_i_gauss_composition_sign_power_product)) * ff_v_gauss_composition_sign_power_product)) /\ exists ff_q_gauss_composition_sign_power_product_partial. ff_u_gauss_composition_sign_power_product = ff_q_gauss_composition_sign_power_product_partial * S ((S (ff_i_gauss_composition_sign_power_product)) * ff_v_gauss_composition_sign_power_product) + (ff_r_gauss_composition_sign_power_product))) /\ ((((exists ff_h_gauss_composition_sign_power_product_successor. ff_h_gauss_composition_sign_power_product_successor + S (ff_s_gauss_composition_sign_power_product) = S ((S (S ff_i_gauss_composition_sign_power_product)) * ff_v_gauss_composition_sign_power_product)) /\ exists ff_q_gauss_composition_sign_power_product_successor. ff_u_gauss_composition_sign_power_product = ff_q_gauss_composition_sign_power_product_successor * S ((S (S ff_i_gauss_composition_sign_power_product)) * ff_v_gauss_composition_sign_power_product) + (ff_s_gauss_composition_sign_power_product))) /\ ff_s_gauss_composition_sign_power_product = ff_r_gauss_composition_sign_power_product * ff_p_gauss_composition_sign_power_product)))))))) -> (exists gpc_left_product_balance gpc_right_product_balance. A * P + p * gpc_left_product_balance = P * R + p * gpc_right_product_balance)Structural proof guide
Generated structural guide
The four Gauss product layers compose to A*P == P*r^e modulo p.
Use the direct prerequisites gauss_signed_pointwise_mul_product_mod, gauss_magnitude_product_eq_half_range, beta_sign_factor_product_power, beta_product_pointwise_mul_exact as previously established PA formulas.
The proof proceeds by case analysis (2), intermediate claims (4).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA007R gauss_signed_pointwise_mul_product_mod PA007Y gauss_magnitude_product_eq_half_range PA007I beta_sign_factor_product_power PA007N beta_product_pointwise_mul_exactDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v16 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
- 0001
intro p - 0002
intro h - 0003
intro r - 0004
intro a - 0005
intro b - 0006
intro c - 0007
intro mb - 0008
intro mc - 0009
intro rb - 0010
intro rc - 0011
intro sb - 0012
intro sc - 0013
intro fb - 0014
intro fc - 0015
intro tb - 0016
intro tc - 0017
intro e - 0018
intro P - 0019
intro M - 0020
intro Sprod - 0021
intro T - 0022
intro A - 0023
intro R - 0024
intro hp - 0025
intro hr - 0026
intro hsigned - 0027
intro hsigns - 0028
intro hpointwise - 0029
intro hmagnitude_range - 0030
intro hmagnitude_injective - 0031
intro hrecode - 0032
intro hhalf - 0033
intro hcount - 0034
intro hP - 0035
intro hM - 0036
intro hS - 0037
intro hT - 0038
intro hA - 0039
intro hR - 0040
have hscaled : exists gpc_left_scaled_target gpc_right_scaled_target. A * P + p * gpc_left_scaled_target = T + p * gpc_right_scaled_target - 0041
specialize gauss_signed_pointwise_mul_product_mod p - 0042
specialize gauss_signed_pointwise_mul_product_mod h - 0043
specialize gauss_signed_pointwise_mul_product_mod r - 0044
specialize gauss_signed_pointwise_mul_product_mod a - 0045
specialize gauss_signed_pointwise_mul_product_mod b - 0046
specialize gauss_signed_pointwise_mul_product_mod c - 0047
specialize gauss_signed_pointwise_mul_product_mod mb - 0048
specialize gauss_signed_pointwise_mul_product_mod mc - 0049
specialize gauss_signed_pointwise_mul_product_mod sb - 0050
specialize gauss_signed_pointwise_mul_product_mod sc - 0051
specialize gauss_signed_pointwise_mul_product_mod fb - 0052
specialize gauss_signed_pointwise_mul_product_mod fc - 0053
specialize gauss_signed_pointwise_mul_product_mod tb - 0054
specialize gauss_signed_pointwise_mul_product_mod tc - 0055
specialize gauss_signed_pointwise_mul_product_mod P - 0056
specialize gauss_signed_pointwise_mul_product_mod T - 0057
specialize gauss_signed_pointwise_mul_product_mod A - 0058
apply gauss_signed_pointwise_mul_product_mod - 0059
exact hp - 0060
exact hr - 0061
exact hsigned - 0062
exact hsigns - 0063
exact hpointwise - 0064
exact hP - 0065
exact hT - 0066
exact hA - 0067
have hPM : P = M - 0068
specialize gauss_magnitude_product_eq_half_range mb - 0069
specialize gauss_magnitude_product_eq_half_range mc - 0070
specialize gauss_magnitude_product_eq_half_range rb - 0071
specialize gauss_magnitude_product_eq_half_range rc - 0072
specialize gauss_magnitude_product_eq_half_range b - 0073
specialize gauss_magnitude_product_eq_half_range c - 0074
specialize gauss_magnitude_product_eq_half_range h - 0075
specialize gauss_magnitude_product_eq_half_range P - 0076
specialize gauss_magnitude_product_eq_half_range M - 0077
apply gauss_magnitude_product_eq_half_range - 0078
exact hmagnitude_range - 0079
exact hmagnitude_injective - 0080
exact hrecode - 0081
exact hhalf - 0082
exact hP - 0083
exact hM - 0084
have hSR : Sprod = R - 0085
specialize beta_sign_factor_product_power sb - 0086
specialize beta_sign_factor_product_power sc - 0087
specialize beta_sign_factor_product_power fb - 0088
specialize beta_sign_factor_product_power fc - 0089
specialize beta_sign_factor_product_power r - 0090
specialize beta_sign_factor_product_power h - 0091
specialize beta_sign_factor_product_power e - 0092
specialize beta_sign_factor_product_power Sprod - 0093
specialize beta_sign_factor_product_power R - 0094
apply beta_sign_factor_product_power - 0095
exact hcount - 0096
exact hsigns - 0097
exact hS - 0098
exact hR - 0099
have hTMS : T = M * Sprod - 0100
specialize beta_product_pointwise_mul_exact mb - 0101
specialize beta_product_pointwise_mul_exact mc - 0102
specialize beta_product_pointwise_mul_exact fb - 0103
specialize beta_product_pointwise_mul_exact fc - 0104
specialize beta_product_pointwise_mul_exact tb - 0105
specialize beta_product_pointwise_mul_exact tc - 0106
specialize beta_product_pointwise_mul_exact h - 0107
specialize beta_product_pointwise_mul_exact M - 0108
specialize beta_product_pointwise_mul_exact Sprod - 0109
specialize beta_product_pointwise_mul_exact T - 0110
apply beta_product_pointwise_mul_exact - 0111
exact hpointwise - 0112
exact hM - 0113
exact hS - 0114
exact hT - 0115
cases hscaled - 0116
cases hscaled_witness - 0117
exists x - 0118
exists x1 - 0119
trans T + p * x1 - 0120
exact hscaled_witness_witness - 0121
congr - 0122
trans M * Sprod - 0123
exact hTMS - 0124
congr - 0125
symm - 0126
exact hPM - 0127
exact hSR - 0128
refl