DL006A

integer_span_signed_product_equal_coefficients

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Equal positive and negative coefficient streams construct a genuine coded matrix product with equal output streams, hence integer zero in every row.

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.

Exact expanded first-order arithmetic statement

forall ab ac db dc b c w r. exists pb pc. (exists ff_pp_mcp_smatrix_ics_equal_coefficients ff_pps_mcp_smatrix_ics_equal_coefficients ff_nn_mcp_smatrix_ics_equal_coefficients ff_nns_mcp_smatrix_ics_equal_coefficients ff_pn_mcp_smatrix_ics_equal_coefficients ff_pns_mcp_smatrix_ics_equal_coefficients ff_np_mcp_smatrix_ics_equal_coefficients ff_nps_mcp_smatrix_ics_equal_coefficients. ((forall ff_index_mcp_prefix_ics_equal_coefficients_pp. (exists mcp_gap_ics_equal_coefficients_pp_index. mcp_gap_ics_equal_coefficients_pp_index + S (ff_index_mcp_prefix_ics_equal_coefficients_pp) = ((r) * (1))) -> exists ff_row_mcp_prefix_ics_equal_coefficients_pp ff_column_mcp_prefix_ics_equal_coefficients_pp ff_value_mcp_prefix_ics_equal_coefficients_pp. ((ff_index_mcp_prefix_ics_equal_coefficients_pp) = (1) * ff_row_mcp_prefix_ics_equal_coefficients_pp + ff_column_mcp_prefix_ics_equal_coefficients_pp /\ ((exists mcp_gap_ics_equal_coefficients_pp_column. mcp_gap_ics_equal_coefficients_pp_column + S (ff_column_mcp_prefix_ics_equal_coefficients_pp) = (1)) /\ ((exists ff_left_mcp_cell_ics_equal_coefficients_pp_cell ff_left_scale_mcp_cell_ics_equal_coefficients_pp_cell ff_right_mcp_cell_ics_equal_coefficients_pp_cell ff_right_scale_mcp_cell_ics_equal_coefficients_pp_cell. ((forall ff_index_mcp_ics_equal_coefficients_pp_cell_row ff_source_mcp_ics_equal_coefficients_pp_cell_row ff_target_mcp_ics_equal_coefficients_pp_cell_row. (exists mcp_gap_ics_equal_coefficients_pp_cell_row_bound. mcp_gap_ics_equal_coefficients_pp_cell_row_bound + S (ff_index_mcp_ics_equal_coefficients_pp_cell_row) = (w)) -> (((exists fs_h_mcp_ics_equal_coefficients_pp_cell_row_source. fs_h_mcp_ics_equal_coefficients_pp_cell_row_source + S (ff_source_mcp_ics_equal_coefficients_pp_cell_row) = S ((S (((ff_row_mcp_prefix_ics_equal_coefficients_pp) * (w)) + (1) * ff_index_mcp_ics_equal_coefficients_pp_cell_row)) * ac)) /\ exists fs_q_mcp_ics_equal_coefficients_pp_cell_row_source. ab = fs_q_mcp_ics_equal_coefficients_pp_cell_row_source * S ((S (((ff_row_mcp_prefix_ics_equal_coefficients_pp) * (w)) + (1) * ff_index_mcp_ics_equal_coefficients_pp_cell_row)) * ac) + (ff_source_mcp_ics_equal_coefficients_pp_cell_row))) -> (((exists fs_h_mcp_ics_equal_coefficients_pp_cell_row_target. fs_h_mcp_ics_equal_coefficients_pp_cell_row_target + S (ff_target_mcp_ics_equal_coefficients_pp_cell_row) = S ((S (ff_index_mcp_ics_equal_coefficients_pp_cell_row)) * ff_left_scale_mcp_cell_ics_equal_coefficients_pp_cell)) /\ exists fs_q_mcp_ics_equal_coefficients_pp_cell_row_target. ff_left_mcp_cell_ics_equal_coefficients_pp_cell = fs_q_mcp_ics_equal_coefficients_pp_cell_row_target * S ((S (ff_index_mcp_ics_equal_coefficients_pp_cell_row)) * ff_left_scale_mcp_cell_ics_equal_coefficients_pp_cell) + (ff_target_mcp_ics_equal_coefficients_pp_cell_row))) -> ff_target_mcp_ics_equal_coefficients_pp_cell_row = ff_source_mcp_ics_equal_coefficients_pp_cell_row) /\ ((forall ff_index_mcp_ics_equal_coefficients_pp_cell_column ff_source_mcp_ics_equal_coefficients_pp_cell_column ff_target_mcp_ics_equal_coefficients_pp_cell_column. (exists mcp_gap_ics_equal_coefficients_pp_cell_column_bound. mcp_gap_ics_equal_coefficients_pp_cell_column_bound + S (ff_index_mcp_ics_equal_coefficients_pp_cell_column) = (w)) -> (((exists fs_h_mcp_ics_equal_coefficients_pp_cell_column_source. fs_h_mcp_ics_equal_coefficients_pp_cell_column_source + S (ff_source_mcp_ics_equal_coefficients_pp_cell_column) = S ((S ((ff_column_mcp_prefix_ics_equal_coefficients_pp) + (1) * ff_index_mcp_ics_equal_coefficients_pp_cell_column)) * c)) /\ exists fs_q_mcp_ics_equal_coefficients_pp_cell_column_source. b = fs_q_mcp_ics_equal_coefficients_pp_cell_column_source * S ((S ((ff_column_mcp_prefix_ics_equal_coefficients_pp) + (1) * ff_index_mcp_ics_equal_coefficients_pp_cell_column)) * c) + (ff_source_mcp_ics_equal_coefficients_pp_cell_column))) -> (((exists fs_h_mcp_ics_equal_coefficients_pp_cell_column_target. fs_h_mcp_ics_equal_coefficients_pp_cell_column_target + S (ff_target_mcp_ics_equal_coefficients_pp_cell_column) = S ((S (ff_index_mcp_ics_equal_coefficients_pp_cell_column)) * ff_right_scale_mcp_cell_ics_equal_coefficients_pp_cell)) /\ exists fs_q_mcp_ics_equal_coefficients_pp_cell_column_target. ff_right_mcp_cell_ics_equal_coefficients_pp_cell = fs_q_mcp_ics_equal_coefficients_pp_cell_column_target * S ((S (ff_index_mcp_ics_equal_coefficients_pp_cell_column)) * ff_right_scale_mcp_cell_ics_equal_coefficients_pp_cell) + (ff_target_mcp_ics_equal_coefficients_pp_cell_column))) -> ff_target_mcp_ics_equal_coefficients_pp_cell_column = ff_source_mcp_ics_equal_coefficients_pp_cell_column) /\ (exists ff_code_dot_mcp_ics_equal_coefficients_pp_cell_dot ff_scale_dot_mcp_ics_equal_coefficients_pp_cell_dot. ((forall fpmp_index_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise fpmp_left_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise fpmp_right_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise fpmp_target_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise. (exists fpmp_gap_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise. fpmp_gap_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise + S fpmp_index_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise = w) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_left. ff_h_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_left + S (fpmp_left_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_equal_coefficients_pp_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_left. ff_left_mcp_cell_ics_equal_coefficients_pp_cell = ff_q_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_left * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_equal_coefficients_pp_cell) + (fpmp_left_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_right. ff_h_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_right + S (fpmp_right_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_equal_coefficients_pp_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_right. ff_right_mcp_cell_ics_equal_coefficients_pp_cell = ff_q_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_right * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_equal_coefficients_pp_cell) + (fpmp_right_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_target. ff_h_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_target + S (fpmp_target_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_equal_coefficients_pp_cell_dot)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_target. ff_code_dot_mcp_ics_equal_coefficients_pp_cell_dot = ff_q_fpmp_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise_target * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_equal_coefficients_pp_cell_dot) + (fpmp_target_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise))) -> fpmp_target_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise = fpmp_left_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise * fpmp_right_dot_mcp_ics_equal_coefficients_pp_cell_dot_pointwise) /\ (exists ff_u_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum ff_v_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_start. ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_start + S (0) = S ((S (0)) * ff_v_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_start. ff_u_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_start * S ((S (0)) * ff_v_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum) + (0))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_terminal. ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_terminal + S (ff_value_mcp_prefix_ics_equal_coefficients_pp) = S ((S (w)) * ff_v_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_terminal. ff_u_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_terminal * S ((S (w)) * ff_v_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum) + (ff_value_mcp_prefix_ics_equal_coefficients_pp))) /\ forall ff_i_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum. (exists ff_lt_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_bound. ff_lt_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_bound + S ff_i_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum = w) -> exists ff_a_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum ff_r_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum ff_s_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_summand. ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_summand + S (ff_a_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) * ff_scale_dot_mcp_ics_equal_coefficients_pp_cell_dot)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_summand. ff_code_dot_mcp_ics_equal_coefficients_pp_cell_dot = ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_summand * S ((S (ff_i_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) * ff_scale_dot_mcp_ics_equal_coefficients_pp_cell_dot) + (ff_a_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_partial. ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_partial + S (ff_r_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_partial. ff_u_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_partial * S ((S (ff_i_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum) + (ff_r_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_successor. ff_h_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_successor + S (ff_s_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum) = S ((S (S ff_i_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_successor. ff_u_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum_successor * S ((S (S ff_i_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum) + (ff_s_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum))) /\ ff_s_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum = ff_r_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum + ff_a_dot_mcp_ics_equal_coefficients_pp_cell_dot_sum))))))))))) /\ (((exists fs_h_mcp_ics_equal_coefficients_pp_entry. fs_h_mcp_ics_equal_coefficients_pp_entry + S (ff_value_mcp_prefix_ics_equal_coefficients_pp) = S ((S (ff_index_mcp_prefix_ics_equal_coefficients_pp)) * ff_pps_mcp_smatrix_ics_equal_coefficients)) /\ exists fs_q_mcp_ics_equal_coefficients_pp_entry. ff_pp_mcp_smatrix_ics_equal_coefficients = fs_q_mcp_ics_equal_coefficients_pp_entry * S ((S (ff_index_mcp_prefix_ics_equal_coefficients_pp)) * ff_pps_mcp_smatrix_ics_equal_coefficients) + (ff_value_mcp_prefix_ics_equal_coefficients_pp))))))) /\ ((forall ff_index_mcp_prefix_ics_equal_coefficients_nn. (exists mcp_gap_ics_equal_coefficients_nn_index. mcp_gap_ics_equal_coefficients_nn_index + S (ff_index_mcp_prefix_ics_equal_coefficients_nn) = ((r) * (1))) -> exists ff_row_mcp_prefix_ics_equal_coefficients_nn ff_column_mcp_prefix_ics_equal_coefficients_nn ff_value_mcp_prefix_ics_equal_coefficients_nn. ((ff_index_mcp_prefix_ics_equal_coefficients_nn) = (1) * ff_row_mcp_prefix_ics_equal_coefficients_nn + ff_column_mcp_prefix_ics_equal_coefficients_nn /\ ((exists mcp_gap_ics_equal_coefficients_nn_column. mcp_gap_ics_equal_coefficients_nn_column + S (ff_column_mcp_prefix_ics_equal_coefficients_nn) = (1)) /\ ((exists ff_left_mcp_cell_ics_equal_coefficients_nn_cell ff_left_scale_mcp_cell_ics_equal_coefficients_nn_cell ff_right_mcp_cell_ics_equal_coefficients_nn_cell ff_right_scale_mcp_cell_ics_equal_coefficients_nn_cell. ((forall ff_index_mcp_ics_equal_coefficients_nn_cell_row ff_source_mcp_ics_equal_coefficients_nn_cell_row ff_target_mcp_ics_equal_coefficients_nn_cell_row. (exists mcp_gap_ics_equal_coefficients_nn_cell_row_bound. mcp_gap_ics_equal_coefficients_nn_cell_row_bound + S (ff_index_mcp_ics_equal_coefficients_nn_cell_row) = (w)) -> (((exists fs_h_mcp_ics_equal_coefficients_nn_cell_row_source. fs_h_mcp_ics_equal_coefficients_nn_cell_row_source + S (ff_source_mcp_ics_equal_coefficients_nn_cell_row) = S ((S (((ff_row_mcp_prefix_ics_equal_coefficients_nn) * (w)) + (1) * ff_index_mcp_ics_equal_coefficients_nn_cell_row)) * dc)) /\ exists fs_q_mcp_ics_equal_coefficients_nn_cell_row_source. db = fs_q_mcp_ics_equal_coefficients_nn_cell_row_source * S ((S (((ff_row_mcp_prefix_ics_equal_coefficients_nn) * (w)) + (1) * ff_index_mcp_ics_equal_coefficients_nn_cell_row)) * dc) + (ff_source_mcp_ics_equal_coefficients_nn_cell_row))) -> (((exists fs_h_mcp_ics_equal_coefficients_nn_cell_row_target. fs_h_mcp_ics_equal_coefficients_nn_cell_row_target + S (ff_target_mcp_ics_equal_coefficients_nn_cell_row) = S ((S (ff_index_mcp_ics_equal_coefficients_nn_cell_row)) * ff_left_scale_mcp_cell_ics_equal_coefficients_nn_cell)) /\ exists fs_q_mcp_ics_equal_coefficients_nn_cell_row_target. ff_left_mcp_cell_ics_equal_coefficients_nn_cell = fs_q_mcp_ics_equal_coefficients_nn_cell_row_target * S ((S (ff_index_mcp_ics_equal_coefficients_nn_cell_row)) * ff_left_scale_mcp_cell_ics_equal_coefficients_nn_cell) + (ff_target_mcp_ics_equal_coefficients_nn_cell_row))) -> ff_target_mcp_ics_equal_coefficients_nn_cell_row = ff_source_mcp_ics_equal_coefficients_nn_cell_row) /\ ((forall ff_index_mcp_ics_equal_coefficients_nn_cell_column ff_source_mcp_ics_equal_coefficients_nn_cell_column ff_target_mcp_ics_equal_coefficients_nn_cell_column. (exists mcp_gap_ics_equal_coefficients_nn_cell_column_bound. mcp_gap_ics_equal_coefficients_nn_cell_column_bound + S (ff_index_mcp_ics_equal_coefficients_nn_cell_column) = (w)) -> (((exists fs_h_mcp_ics_equal_coefficients_nn_cell_column_source. fs_h_mcp_ics_equal_coefficients_nn_cell_column_source + S (ff_source_mcp_ics_equal_coefficients_nn_cell_column) = S ((S ((ff_column_mcp_prefix_ics_equal_coefficients_nn) + (1) * ff_index_mcp_ics_equal_coefficients_nn_cell_column)) * c)) /\ exists fs_q_mcp_ics_equal_coefficients_nn_cell_column_source. b = fs_q_mcp_ics_equal_coefficients_nn_cell_column_source * S ((S ((ff_column_mcp_prefix_ics_equal_coefficients_nn) + (1) * ff_index_mcp_ics_equal_coefficients_nn_cell_column)) * c) + (ff_source_mcp_ics_equal_coefficients_nn_cell_column))) -> (((exists fs_h_mcp_ics_equal_coefficients_nn_cell_column_target. fs_h_mcp_ics_equal_coefficients_nn_cell_column_target + S (ff_target_mcp_ics_equal_coefficients_nn_cell_column) = S ((S (ff_index_mcp_ics_equal_coefficients_nn_cell_column)) * ff_right_scale_mcp_cell_ics_equal_coefficients_nn_cell)) /\ exists fs_q_mcp_ics_equal_coefficients_nn_cell_column_target. ff_right_mcp_cell_ics_equal_coefficients_nn_cell = fs_q_mcp_ics_equal_coefficients_nn_cell_column_target * S ((S (ff_index_mcp_ics_equal_coefficients_nn_cell_column)) * ff_right_scale_mcp_cell_ics_equal_coefficients_nn_cell) + (ff_target_mcp_ics_equal_coefficients_nn_cell_column))) -> ff_target_mcp_ics_equal_coefficients_nn_cell_column = ff_source_mcp_ics_equal_coefficients_nn_cell_column) /\ (exists ff_code_dot_mcp_ics_equal_coefficients_nn_cell_dot ff_scale_dot_mcp_ics_equal_coefficients_nn_cell_dot. ((forall fpmp_index_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise fpmp_left_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise fpmp_right_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise fpmp_target_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise. (exists fpmp_gap_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise. fpmp_gap_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise + S fpmp_index_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise = w) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_left. ff_h_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_left + S (fpmp_left_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_equal_coefficients_nn_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_left. ff_left_mcp_cell_ics_equal_coefficients_nn_cell = ff_q_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_left * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_equal_coefficients_nn_cell) + (fpmp_left_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_right. ff_h_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_right + S (fpmp_right_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_equal_coefficients_nn_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_right. ff_right_mcp_cell_ics_equal_coefficients_nn_cell = ff_q_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_right * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_equal_coefficients_nn_cell) + (fpmp_right_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_target. ff_h_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_target + S (fpmp_target_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_equal_coefficients_nn_cell_dot)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_target. ff_code_dot_mcp_ics_equal_coefficients_nn_cell_dot = ff_q_fpmp_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise_target * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_equal_coefficients_nn_cell_dot) + (fpmp_target_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise))) -> fpmp_target_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise = fpmp_left_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise * fpmp_right_dot_mcp_ics_equal_coefficients_nn_cell_dot_pointwise) /\ (exists ff_u_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum ff_v_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_start. ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_start + S (0) = S ((S (0)) * ff_v_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_start. ff_u_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_start * S ((S (0)) * ff_v_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum) + (0))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_terminal. ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_terminal + S (ff_value_mcp_prefix_ics_equal_coefficients_nn) = S ((S (w)) * ff_v_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_terminal. ff_u_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_terminal * S ((S (w)) * ff_v_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum) + (ff_value_mcp_prefix_ics_equal_coefficients_nn))) /\ forall ff_i_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum. (exists ff_lt_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_bound. ff_lt_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_bound + S ff_i_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum = w) -> exists ff_a_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum ff_r_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum ff_s_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_summand. ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_summand + S (ff_a_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) * ff_scale_dot_mcp_ics_equal_coefficients_nn_cell_dot)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_summand. ff_code_dot_mcp_ics_equal_coefficients_nn_cell_dot = ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_summand * S ((S (ff_i_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) * ff_scale_dot_mcp_ics_equal_coefficients_nn_cell_dot) + (ff_a_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_partial. ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_partial + S (ff_r_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_partial. ff_u_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_partial * S ((S (ff_i_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum) + (ff_r_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_successor. ff_h_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_successor + S (ff_s_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum) = S ((S (S ff_i_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_successor. ff_u_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum_successor * S ((S (S ff_i_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum) + (ff_s_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum))) /\ ff_s_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum = ff_r_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum + ff_a_dot_mcp_ics_equal_coefficients_nn_cell_dot_sum))))))))))) /\ (((exists fs_h_mcp_ics_equal_coefficients_nn_entry. fs_h_mcp_ics_equal_coefficients_nn_entry + S (ff_value_mcp_prefix_ics_equal_coefficients_nn) = S ((S (ff_index_mcp_prefix_ics_equal_coefficients_nn)) * ff_nns_mcp_smatrix_ics_equal_coefficients)) /\ exists fs_q_mcp_ics_equal_coefficients_nn_entry. ff_nn_mcp_smatrix_ics_equal_coefficients = fs_q_mcp_ics_equal_coefficients_nn_entry * S ((S (ff_index_mcp_prefix_ics_equal_coefficients_nn)) * ff_nns_mcp_smatrix_ics_equal_coefficients) + (ff_value_mcp_prefix_ics_equal_coefficients_nn))))))) /\ ((forall ff_index_mcp_prefix_ics_equal_coefficients_pn. (exists mcp_gap_ics_equal_coefficients_pn_index. mcp_gap_ics_equal_coefficients_pn_index + S (ff_index_mcp_prefix_ics_equal_coefficients_pn) = ((r) * (1))) -> exists ff_row_mcp_prefix_ics_equal_coefficients_pn ff_column_mcp_prefix_ics_equal_coefficients_pn ff_value_mcp_prefix_ics_equal_coefficients_pn. ((ff_index_mcp_prefix_ics_equal_coefficients_pn) = (1) * ff_row_mcp_prefix_ics_equal_coefficients_pn + ff_column_mcp_prefix_ics_equal_coefficients_pn /\ ((exists mcp_gap_ics_equal_coefficients_pn_column. mcp_gap_ics_equal_coefficients_pn_column + S (ff_column_mcp_prefix_ics_equal_coefficients_pn) = (1)) /\ ((exists ff_left_mcp_cell_ics_equal_coefficients_pn_cell ff_left_scale_mcp_cell_ics_equal_coefficients_pn_cell ff_right_mcp_cell_ics_equal_coefficients_pn_cell ff_right_scale_mcp_cell_ics_equal_coefficients_pn_cell. ((forall ff_index_mcp_ics_equal_coefficients_pn_cell_row ff_source_mcp_ics_equal_coefficients_pn_cell_row ff_target_mcp_ics_equal_coefficients_pn_cell_row. (exists mcp_gap_ics_equal_coefficients_pn_cell_row_bound. mcp_gap_ics_equal_coefficients_pn_cell_row_bound + S (ff_index_mcp_ics_equal_coefficients_pn_cell_row) = (w)) -> (((exists fs_h_mcp_ics_equal_coefficients_pn_cell_row_source. fs_h_mcp_ics_equal_coefficients_pn_cell_row_source + S (ff_source_mcp_ics_equal_coefficients_pn_cell_row) = S ((S (((ff_row_mcp_prefix_ics_equal_coefficients_pn) * (w)) + (1) * ff_index_mcp_ics_equal_coefficients_pn_cell_row)) * ac)) /\ exists fs_q_mcp_ics_equal_coefficients_pn_cell_row_source. ab = fs_q_mcp_ics_equal_coefficients_pn_cell_row_source * S ((S (((ff_row_mcp_prefix_ics_equal_coefficients_pn) * (w)) + (1) * ff_index_mcp_ics_equal_coefficients_pn_cell_row)) * ac) + (ff_source_mcp_ics_equal_coefficients_pn_cell_row))) -> (((exists fs_h_mcp_ics_equal_coefficients_pn_cell_row_target. fs_h_mcp_ics_equal_coefficients_pn_cell_row_target + S (ff_target_mcp_ics_equal_coefficients_pn_cell_row) = S ((S (ff_index_mcp_ics_equal_coefficients_pn_cell_row)) * ff_left_scale_mcp_cell_ics_equal_coefficients_pn_cell)) /\ exists fs_q_mcp_ics_equal_coefficients_pn_cell_row_target. ff_left_mcp_cell_ics_equal_coefficients_pn_cell = fs_q_mcp_ics_equal_coefficients_pn_cell_row_target * S ((S (ff_index_mcp_ics_equal_coefficients_pn_cell_row)) * ff_left_scale_mcp_cell_ics_equal_coefficients_pn_cell) + (ff_target_mcp_ics_equal_coefficients_pn_cell_row))) -> ff_target_mcp_ics_equal_coefficients_pn_cell_row = ff_source_mcp_ics_equal_coefficients_pn_cell_row) /\ ((forall ff_index_mcp_ics_equal_coefficients_pn_cell_column ff_source_mcp_ics_equal_coefficients_pn_cell_column ff_target_mcp_ics_equal_coefficients_pn_cell_column. (exists mcp_gap_ics_equal_coefficients_pn_cell_column_bound. mcp_gap_ics_equal_coefficients_pn_cell_column_bound + S (ff_index_mcp_ics_equal_coefficients_pn_cell_column) = (w)) -> (((exists fs_h_mcp_ics_equal_coefficients_pn_cell_column_source. fs_h_mcp_ics_equal_coefficients_pn_cell_column_source + S (ff_source_mcp_ics_equal_coefficients_pn_cell_column) = S ((S ((ff_column_mcp_prefix_ics_equal_coefficients_pn) + (1) * ff_index_mcp_ics_equal_coefficients_pn_cell_column)) * c)) /\ exists fs_q_mcp_ics_equal_coefficients_pn_cell_column_source. b = fs_q_mcp_ics_equal_coefficients_pn_cell_column_source * S ((S ((ff_column_mcp_prefix_ics_equal_coefficients_pn) + (1) * ff_index_mcp_ics_equal_coefficients_pn_cell_column)) * c) + (ff_source_mcp_ics_equal_coefficients_pn_cell_column))) -> (((exists fs_h_mcp_ics_equal_coefficients_pn_cell_column_target. fs_h_mcp_ics_equal_coefficients_pn_cell_column_target + S (ff_target_mcp_ics_equal_coefficients_pn_cell_column) = S ((S (ff_index_mcp_ics_equal_coefficients_pn_cell_column)) * ff_right_scale_mcp_cell_ics_equal_coefficients_pn_cell)) /\ exists fs_q_mcp_ics_equal_coefficients_pn_cell_column_target. ff_right_mcp_cell_ics_equal_coefficients_pn_cell = fs_q_mcp_ics_equal_coefficients_pn_cell_column_target * S ((S (ff_index_mcp_ics_equal_coefficients_pn_cell_column)) * ff_right_scale_mcp_cell_ics_equal_coefficients_pn_cell) + (ff_target_mcp_ics_equal_coefficients_pn_cell_column))) -> ff_target_mcp_ics_equal_coefficients_pn_cell_column = ff_source_mcp_ics_equal_coefficients_pn_cell_column) /\ (exists ff_code_dot_mcp_ics_equal_coefficients_pn_cell_dot ff_scale_dot_mcp_ics_equal_coefficients_pn_cell_dot. ((forall fpmp_index_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise fpmp_left_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise fpmp_right_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise fpmp_target_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise. (exists fpmp_gap_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise. fpmp_gap_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise + S fpmp_index_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise = w) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_left. ff_h_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_left + S (fpmp_left_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_equal_coefficients_pn_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_left. ff_left_mcp_cell_ics_equal_coefficients_pn_cell = ff_q_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_left * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_equal_coefficients_pn_cell) + (fpmp_left_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_right. ff_h_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_right + S (fpmp_right_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_equal_coefficients_pn_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_right. ff_right_mcp_cell_ics_equal_coefficients_pn_cell = ff_q_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_right * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_equal_coefficients_pn_cell) + (fpmp_right_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_target. ff_h_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_target + S (fpmp_target_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_equal_coefficients_pn_cell_dot)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_target. ff_code_dot_mcp_ics_equal_coefficients_pn_cell_dot = ff_q_fpmp_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise_target * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_equal_coefficients_pn_cell_dot) + (fpmp_target_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise))) -> fpmp_target_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise = fpmp_left_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise * fpmp_right_dot_mcp_ics_equal_coefficients_pn_cell_dot_pointwise) /\ (exists ff_u_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum ff_v_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_start. ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_start + S (0) = S ((S (0)) * ff_v_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_start. ff_u_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_start * S ((S (0)) * ff_v_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum) + (0))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_terminal. ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_terminal + S (ff_value_mcp_prefix_ics_equal_coefficients_pn) = S ((S (w)) * ff_v_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_terminal. ff_u_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_terminal * S ((S (w)) * ff_v_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum) + (ff_value_mcp_prefix_ics_equal_coefficients_pn))) /\ forall ff_i_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum. (exists ff_lt_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_bound. ff_lt_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_bound + S ff_i_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum = w) -> exists ff_a_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum ff_r_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum ff_s_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_summand. ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_summand + S (ff_a_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) * ff_scale_dot_mcp_ics_equal_coefficients_pn_cell_dot)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_summand. ff_code_dot_mcp_ics_equal_coefficients_pn_cell_dot = ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_summand * S ((S (ff_i_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) * ff_scale_dot_mcp_ics_equal_coefficients_pn_cell_dot) + (ff_a_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_partial. ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_partial + S (ff_r_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_partial. ff_u_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_partial * S ((S (ff_i_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum) + (ff_r_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_successor. ff_h_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_successor + S (ff_s_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum) = S ((S (S ff_i_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_successor. ff_u_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum_successor * S ((S (S ff_i_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum) + (ff_s_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum))) /\ ff_s_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum = ff_r_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum + ff_a_dot_mcp_ics_equal_coefficients_pn_cell_dot_sum))))))))))) /\ (((exists fs_h_mcp_ics_equal_coefficients_pn_entry. fs_h_mcp_ics_equal_coefficients_pn_entry + S (ff_value_mcp_prefix_ics_equal_coefficients_pn) = S ((S (ff_index_mcp_prefix_ics_equal_coefficients_pn)) * ff_pns_mcp_smatrix_ics_equal_coefficients)) /\ exists fs_q_mcp_ics_equal_coefficients_pn_entry. ff_pn_mcp_smatrix_ics_equal_coefficients = fs_q_mcp_ics_equal_coefficients_pn_entry * S ((S (ff_index_mcp_prefix_ics_equal_coefficients_pn)) * ff_pns_mcp_smatrix_ics_equal_coefficients) + (ff_value_mcp_prefix_ics_equal_coefficients_pn))))))) /\ ((forall ff_index_mcp_prefix_ics_equal_coefficients_np. (exists mcp_gap_ics_equal_coefficients_np_index. mcp_gap_ics_equal_coefficients_np_index + S (ff_index_mcp_prefix_ics_equal_coefficients_np) = ((r) * (1))) -> exists ff_row_mcp_prefix_ics_equal_coefficients_np ff_column_mcp_prefix_ics_equal_coefficients_np ff_value_mcp_prefix_ics_equal_coefficients_np. ((ff_index_mcp_prefix_ics_equal_coefficients_np) = (1) * ff_row_mcp_prefix_ics_equal_coefficients_np + ff_column_mcp_prefix_ics_equal_coefficients_np /\ ((exists mcp_gap_ics_equal_coefficients_np_column. mcp_gap_ics_equal_coefficients_np_column + S (ff_column_mcp_prefix_ics_equal_coefficients_np) = (1)) /\ ((exists ff_left_mcp_cell_ics_equal_coefficients_np_cell ff_left_scale_mcp_cell_ics_equal_coefficients_np_cell ff_right_mcp_cell_ics_equal_coefficients_np_cell ff_right_scale_mcp_cell_ics_equal_coefficients_np_cell. ((forall ff_index_mcp_ics_equal_coefficients_np_cell_row ff_source_mcp_ics_equal_coefficients_np_cell_row ff_target_mcp_ics_equal_coefficients_np_cell_row. (exists mcp_gap_ics_equal_coefficients_np_cell_row_bound. mcp_gap_ics_equal_coefficients_np_cell_row_bound + S (ff_index_mcp_ics_equal_coefficients_np_cell_row) = (w)) -> (((exists fs_h_mcp_ics_equal_coefficients_np_cell_row_source. fs_h_mcp_ics_equal_coefficients_np_cell_row_source + S (ff_source_mcp_ics_equal_coefficients_np_cell_row) = S ((S (((ff_row_mcp_prefix_ics_equal_coefficients_np) * (w)) + (1) * ff_index_mcp_ics_equal_coefficients_np_cell_row)) * dc)) /\ exists fs_q_mcp_ics_equal_coefficients_np_cell_row_source. db = fs_q_mcp_ics_equal_coefficients_np_cell_row_source * S ((S (((ff_row_mcp_prefix_ics_equal_coefficients_np) * (w)) + (1) * ff_index_mcp_ics_equal_coefficients_np_cell_row)) * dc) + (ff_source_mcp_ics_equal_coefficients_np_cell_row))) -> (((exists fs_h_mcp_ics_equal_coefficients_np_cell_row_target. fs_h_mcp_ics_equal_coefficients_np_cell_row_target + S (ff_target_mcp_ics_equal_coefficients_np_cell_row) = S ((S (ff_index_mcp_ics_equal_coefficients_np_cell_row)) * ff_left_scale_mcp_cell_ics_equal_coefficients_np_cell)) /\ exists fs_q_mcp_ics_equal_coefficients_np_cell_row_target. ff_left_mcp_cell_ics_equal_coefficients_np_cell = fs_q_mcp_ics_equal_coefficients_np_cell_row_target * S ((S (ff_index_mcp_ics_equal_coefficients_np_cell_row)) * ff_left_scale_mcp_cell_ics_equal_coefficients_np_cell) + (ff_target_mcp_ics_equal_coefficients_np_cell_row))) -> ff_target_mcp_ics_equal_coefficients_np_cell_row = ff_source_mcp_ics_equal_coefficients_np_cell_row) /\ ((forall ff_index_mcp_ics_equal_coefficients_np_cell_column ff_source_mcp_ics_equal_coefficients_np_cell_column ff_target_mcp_ics_equal_coefficients_np_cell_column. (exists mcp_gap_ics_equal_coefficients_np_cell_column_bound. mcp_gap_ics_equal_coefficients_np_cell_column_bound + S (ff_index_mcp_ics_equal_coefficients_np_cell_column) = (w)) -> (((exists fs_h_mcp_ics_equal_coefficients_np_cell_column_source. fs_h_mcp_ics_equal_coefficients_np_cell_column_source + S (ff_source_mcp_ics_equal_coefficients_np_cell_column) = S ((S ((ff_column_mcp_prefix_ics_equal_coefficients_np) + (1) * ff_index_mcp_ics_equal_coefficients_np_cell_column)) * c)) /\ exists fs_q_mcp_ics_equal_coefficients_np_cell_column_source. b = fs_q_mcp_ics_equal_coefficients_np_cell_column_source * S ((S ((ff_column_mcp_prefix_ics_equal_coefficients_np) + (1) * ff_index_mcp_ics_equal_coefficients_np_cell_column)) * c) + (ff_source_mcp_ics_equal_coefficients_np_cell_column))) -> (((exists fs_h_mcp_ics_equal_coefficients_np_cell_column_target. fs_h_mcp_ics_equal_coefficients_np_cell_column_target + S (ff_target_mcp_ics_equal_coefficients_np_cell_column) = S ((S (ff_index_mcp_ics_equal_coefficients_np_cell_column)) * ff_right_scale_mcp_cell_ics_equal_coefficients_np_cell)) /\ exists fs_q_mcp_ics_equal_coefficients_np_cell_column_target. ff_right_mcp_cell_ics_equal_coefficients_np_cell = fs_q_mcp_ics_equal_coefficients_np_cell_column_target * S ((S (ff_index_mcp_ics_equal_coefficients_np_cell_column)) * ff_right_scale_mcp_cell_ics_equal_coefficients_np_cell) + (ff_target_mcp_ics_equal_coefficients_np_cell_column))) -> ff_target_mcp_ics_equal_coefficients_np_cell_column = ff_source_mcp_ics_equal_coefficients_np_cell_column) /\ (exists ff_code_dot_mcp_ics_equal_coefficients_np_cell_dot ff_scale_dot_mcp_ics_equal_coefficients_np_cell_dot. ((forall fpmp_index_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise fpmp_left_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise fpmp_right_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise fpmp_target_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise. (exists fpmp_gap_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise. fpmp_gap_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise + S fpmp_index_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise = w) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_left. ff_h_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_left + S (fpmp_left_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_equal_coefficients_np_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_left. ff_left_mcp_cell_ics_equal_coefficients_np_cell = ff_q_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_left * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_equal_coefficients_np_cell) + (fpmp_left_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_right. ff_h_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_right + S (fpmp_right_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_equal_coefficients_np_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_right. ff_right_mcp_cell_ics_equal_coefficients_np_cell = ff_q_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_right * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_equal_coefficients_np_cell) + (fpmp_right_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_target. ff_h_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_target + S (fpmp_target_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_equal_coefficients_np_cell_dot)) /\ exists ff_q_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_target. ff_code_dot_mcp_ics_equal_coefficients_np_cell_dot = ff_q_fpmp_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise_target * S ((S (fpmp_index_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_equal_coefficients_np_cell_dot) + (fpmp_target_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise))) -> fpmp_target_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise = fpmp_left_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise * fpmp_right_dot_mcp_ics_equal_coefficients_np_cell_dot_pointwise) /\ (exists ff_u_dot_mcp_ics_equal_coefficients_np_cell_dot_sum ff_v_dot_mcp_ics_equal_coefficients_np_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_start. ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_start + S (0) = S ((S (0)) * ff_v_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_start. ff_u_dot_mcp_ics_equal_coefficients_np_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_start * S ((S (0)) * ff_v_dot_mcp_ics_equal_coefficients_np_cell_dot_sum) + (0))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_terminal. ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_terminal + S (ff_value_mcp_prefix_ics_equal_coefficients_np) = S ((S (w)) * ff_v_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_terminal. ff_u_dot_mcp_ics_equal_coefficients_np_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_terminal * S ((S (w)) * ff_v_dot_mcp_ics_equal_coefficients_np_cell_dot_sum) + (ff_value_mcp_prefix_ics_equal_coefficients_np))) /\ forall ff_i_dot_mcp_ics_equal_coefficients_np_cell_dot_sum. (exists ff_lt_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_bound. ff_lt_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_bound + S ff_i_dot_mcp_ics_equal_coefficients_np_cell_dot_sum = w) -> exists ff_a_dot_mcp_ics_equal_coefficients_np_cell_dot_sum ff_r_dot_mcp_ics_equal_coefficients_np_cell_dot_sum ff_s_dot_mcp_ics_equal_coefficients_np_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_summand. ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_summand + S (ff_a_dot_mcp_ics_equal_coefficients_np_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) * ff_scale_dot_mcp_ics_equal_coefficients_np_cell_dot)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_summand. ff_code_dot_mcp_ics_equal_coefficients_np_cell_dot = ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_summand * S ((S (ff_i_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) * ff_scale_dot_mcp_ics_equal_coefficients_np_cell_dot) + (ff_a_dot_mcp_ics_equal_coefficients_np_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_partial. ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_partial + S (ff_r_dot_mcp_ics_equal_coefficients_np_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_partial. ff_u_dot_mcp_ics_equal_coefficients_np_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_partial * S ((S (ff_i_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_np_cell_dot_sum) + (ff_r_dot_mcp_ics_equal_coefficients_np_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_successor. ff_h_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_successor + S (ff_s_dot_mcp_ics_equal_coefficients_np_cell_dot_sum) = S ((S (S ff_i_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_successor. ff_u_dot_mcp_ics_equal_coefficients_np_cell_dot_sum = ff_q_dot_mcp_ics_equal_coefficients_np_cell_dot_sum_successor * S ((S (S ff_i_dot_mcp_ics_equal_coefficients_np_cell_dot_sum)) * ff_v_dot_mcp_ics_equal_coefficients_np_cell_dot_sum) + (ff_s_dot_mcp_ics_equal_coefficients_np_cell_dot_sum))) /\ ff_s_dot_mcp_ics_equal_coefficients_np_cell_dot_sum = ff_r_dot_mcp_ics_equal_coefficients_np_cell_dot_sum + ff_a_dot_mcp_ics_equal_coefficients_np_cell_dot_sum))))))))))) /\ (((exists fs_h_mcp_ics_equal_coefficients_np_entry. fs_h_mcp_ics_equal_coefficients_np_entry + S (ff_value_mcp_prefix_ics_equal_coefficients_np) = S ((S (ff_index_mcp_prefix_ics_equal_coefficients_np)) * ff_nps_mcp_smatrix_ics_equal_coefficients)) /\ exists fs_q_mcp_ics_equal_coefficients_np_entry. ff_np_mcp_smatrix_ics_equal_coefficients = fs_q_mcp_ics_equal_coefficients_np_entry * S ((S (ff_index_mcp_prefix_ics_equal_coefficients_np)) * ff_nps_mcp_smatrix_ics_equal_coefficients) + (ff_value_mcp_prefix_ics_equal_coefficients_np))))))) /\ ((forall ff_index_mcp_add_ics_equal_coefficients_positive ff_left_mcp_add_ics_equal_coefficients_positive ff_right_mcp_add_ics_equal_coefficients_positive ff_target_mcp_add_ics_equal_coefficients_positive. (exists mcp_gap_ics_equal_coefficients_positive_bound. mcp_gap_ics_equal_coefficients_positive_bound + S (ff_index_mcp_add_ics_equal_coefficients_positive) = ((r) * (1))) -> (((exists fs_h_mcp_ics_equal_coefficients_positive_left. fs_h_mcp_ics_equal_coefficients_positive_left + S (ff_left_mcp_add_ics_equal_coefficients_positive) = S ((S (ff_index_mcp_add_ics_equal_coefficients_positive)) * ff_pps_mcp_smatrix_ics_equal_coefficients)) /\ exists fs_q_mcp_ics_equal_coefficients_positive_left. ff_pp_mcp_smatrix_ics_equal_coefficients = fs_q_mcp_ics_equal_coefficients_positive_left * S ((S (ff_index_mcp_add_ics_equal_coefficients_positive)) * ff_pps_mcp_smatrix_ics_equal_coefficients) + (ff_left_mcp_add_ics_equal_coefficients_positive))) -> (((exists fs_h_mcp_ics_equal_coefficients_positive_right. fs_h_mcp_ics_equal_coefficients_positive_right + S (ff_right_mcp_add_ics_equal_coefficients_positive) = S ((S (ff_index_mcp_add_ics_equal_coefficients_positive)) * ff_nns_mcp_smatrix_ics_equal_coefficients)) /\ exists fs_q_mcp_ics_equal_coefficients_positive_right. ff_nn_mcp_smatrix_ics_equal_coefficients = fs_q_mcp_ics_equal_coefficients_positive_right * S ((S (ff_index_mcp_add_ics_equal_coefficients_positive)) * ff_nns_mcp_smatrix_ics_equal_coefficients) + (ff_right_mcp_add_ics_equal_coefficients_positive))) -> (((exists fs_h_mcp_ics_equal_coefficients_positive_target. fs_h_mcp_ics_equal_coefficients_positive_target + S (ff_target_mcp_add_ics_equal_coefficients_positive) = S ((S (ff_index_mcp_add_ics_equal_coefficients_positive)) * pc)) /\ exists fs_q_mcp_ics_equal_coefficients_positive_target. pb = fs_q_mcp_ics_equal_coefficients_positive_target * S ((S (ff_index_mcp_add_ics_equal_coefficients_positive)) * pc) + (ff_target_mcp_add_ics_equal_coefficients_positive))) -> ff_target_mcp_add_ics_equal_coefficients_positive = ff_left_mcp_add_ics_equal_coefficients_positive + ff_right_mcp_add_ics_equal_coefficients_positive) /\ (forall ff_index_mcp_add_ics_equal_coefficients_negative ff_left_mcp_add_ics_equal_coefficients_negative ff_right_mcp_add_ics_equal_coefficients_negative ff_target_mcp_add_ics_equal_coefficients_negative. (exists mcp_gap_ics_equal_coefficients_negative_bound. mcp_gap_ics_equal_coefficients_negative_bound + S (ff_index_mcp_add_ics_equal_coefficients_negative) = ((r) * (1))) -> (((exists fs_h_mcp_ics_equal_coefficients_negative_left. fs_h_mcp_ics_equal_coefficients_negative_left + S (ff_left_mcp_add_ics_equal_coefficients_negative) = S ((S (ff_index_mcp_add_ics_equal_coefficients_negative)) * ff_pns_mcp_smatrix_ics_equal_coefficients)) /\ exists fs_q_mcp_ics_equal_coefficients_negative_left. ff_pn_mcp_smatrix_ics_equal_coefficients = fs_q_mcp_ics_equal_coefficients_negative_left * S ((S (ff_index_mcp_add_ics_equal_coefficients_negative)) * ff_pns_mcp_smatrix_ics_equal_coefficients) + (ff_left_mcp_add_ics_equal_coefficients_negative))) -> (((exists fs_h_mcp_ics_equal_coefficients_negative_right. fs_h_mcp_ics_equal_coefficients_negative_right + S (ff_right_mcp_add_ics_equal_coefficients_negative) = S ((S (ff_index_mcp_add_ics_equal_coefficients_negative)) * ff_nps_mcp_smatrix_ics_equal_coefficients)) /\ exists fs_q_mcp_ics_equal_coefficients_negative_right. ff_np_mcp_smatrix_ics_equal_coefficients = fs_q_mcp_ics_equal_coefficients_negative_right * S ((S (ff_index_mcp_add_ics_equal_coefficients_negative)) * ff_nps_mcp_smatrix_ics_equal_coefficients) + (ff_right_mcp_add_ics_equal_coefficients_negative))) -> (((exists fs_h_mcp_ics_equal_coefficients_negative_target. fs_h_mcp_ics_equal_coefficients_negative_target + S (ff_target_mcp_add_ics_equal_coefficients_negative) = S ((S (ff_index_mcp_add_ics_equal_coefficients_negative)) * pc)) /\ exists fs_q_mcp_ics_equal_coefficients_negative_target. pb = fs_q_mcp_ics_equal_coefficients_negative_target * S ((S (ff_index_mcp_add_ics_equal_coefficients_negative)) * pc) + (ff_target_mcp_add_ics_equal_coefficients_negative))) -> ff_target_mcp_add_ics_equal_coefficients_negative = ff_left_mcp_add_ics_equal_coefficients_negative + ff_right_mcp_add_ics_equal_coefficients_negative)))))))

Constructive proof overview

Generated structural guide

Equal positive and negative coefficient streams construct a genuine coded matrix product with equal output streams, hence integer zero in every row.

The unchanged tactic script uses 2 declared prerequisites and contains 60 exact native proof lines.

Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

beta_matrix_product_exists Alpha theorem; checked-use authorized beta_pointwise_add_prefix_exists Alpha theorem; checked-use authorized

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

60 script commands · 18 reading checkpoints · 3 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–8

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

  1. L1
    intro ab
  2. L2
    intro ac
  3. L3
    intro db
  4. L4
    intro dc
  5. L5
    intro b
  6. L6
    intro c
  7. L7
    intro w
  8. L8
    intro r
02Establish hfirstL9–17

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta matrix product exists.

  1. L9
    have hfirst : ∃ pb. ∃ pc. MatrixProductPrefix(ab,ac,b,c,w,1,pb,pc,r · 1)Definitions: MatrixProductPrefix
  2. L10
    specialize beta_matrix_product_exists (ab)
  3. L11
    specialize beta_matrix_product_exists (ac)
  4. L12
    specialize beta_matrix_product_exists (b)
  5. L13
    specialize beta_matrix_product_exists (c)
  6. L14
    specialize beta_matrix_product_exists (w)
  7. L15
    specialize beta_matrix_product_exists (1)
  8. L16
    specialize beta_matrix_product_exists (r)
  9. L17
    apply beta_matrix_product_exists
03Separate the logical casesL18–19

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

  1. L18
    cases hfirst
  2. L19
    cases hfirst_witness
04Establish hsecondL20–28

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta matrix product exists.

  1. L20
    have hsecond : ∃ nb. ∃ nc. MatrixProductPrefix(db,dc,b,c,w,1,nb,nc,r · 1)Definitions: MatrixProductPrefix
  2. L21
    specialize beta_matrix_product_exists (db)
  3. L22
    specialize beta_matrix_product_exists (dc)
  4. L23
    specialize beta_matrix_product_exists (b)
  5. L24
    specialize beta_matrix_product_exists (c)
  6. L25
    specialize beta_matrix_product_exists (w)
  7. L26
    specialize beta_matrix_product_exists (1)
  8. L27
    specialize beta_matrix_product_exists (r)
  9. L28
    apply beta_matrix_product_exists
05Separate the logical casesL29–30

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

  1. L29
    cases hsecond
  2. L30
    cases hsecond_witness
06Establish hsumL31–37

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta pointwise add prefix exists.

  1. L31
    have hsum : ∃ pb. ∃ pc. MatrixPointwiseAdd(x,x1,x2,x3,pb,pc,r · 1)Definitions: MatrixPointwiseAdd
  2. L32
    specialize beta_pointwise_add_prefix_exists (x)
  3. L33
    specialize beta_pointwise_add_prefix_exists (x1)
  4. L34
    specialize beta_pointwise_add_prefix_exists (x2)
  5. L35
    specialize beta_pointwise_add_prefix_exists (x3)
  6. L36
    specialize beta_pointwise_add_prefix_exists (r * 1)
  7. L37
    apply beta_pointwise_add_prefix_exists
07Separate the logical casesL38–39

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

  1. L38
    cases hsum
  2. L39
    cases hsum_witness
08Construct an explicit witnessL40–49

Supply the displayed value, then prove that it has the required property.

  1. L40
    exists x4
  2. L41
    exists x5
  3. L42
    exists x
  4. L43
    exists x1
  5. L44
    exists x2
  6. L45
    exists x3
  7. L46
    exists x
  8. L47
    exists x1
  9. L48
    exists x2
  10. L49
    exists x3
09Separate the logical casesL50–50

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

  1. L50
    split
10Use earlier factsL51–51

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

  1. L51
    exact hfirst_witness_witness
11Separate the logical casesL52–52

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

  1. L52
    split
12Use earlier factsL53–53

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

  1. L53
    exact hsecond_witness_witness
13Separate the logical casesL54–54

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

  1. L54
    split
14Use earlier factsL55–55

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

  1. L55
    exact hfirst_witness_witness
15Separate the logical casesL56–56

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

  1. L56
    split
16Use earlier factsL57–57

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

  1. L57
    exact hsecond_witness_witness
17Separate the logical casesL58–58

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

  1. L58
    split
18Use earlier factsL59–60

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

  1. L59
    exact hsum_witness_witness
  2. L60
    exact hsum_witness_witness

Library-wide reading audit

Original exact command ledger · 60 lines
  1. 0001intro ab
  2. 0002intro ac
  3. 0003intro db
  4. 0004intro dc
  5. 0005intro b
  6. 0006intro c
  7. 0007intro w
  8. 0008intro r
  9. 0009have hfirst : exists pb pc. (forall ff_index_mcp_prefix_ics_zero_first_product. (exists mcp_gap_ics_zero_first_product_index. mcp_gap_ics_zero_first_product_index + S (ff_index_mcp_prefix_ics_zero_first_product) = (r * 1)) -> exists ff_row_mcp_prefix_ics_zero_first_product ff_column_mcp_prefix_ics_zero_first_product ff_value_mcp_prefix_ics_zero_first_product. ((ff_index_mcp_prefix_ics_zero_first_product) = (1) * ff_row_mcp_prefix_ics_zero_first_product + ff_column_mcp_prefix_ics_zero_first_product /\ ((exists mcp_gap_ics_zero_first_product_column. mcp_gap_ics_zero_first_product_column + S (ff_column_mcp_prefix_ics_zero_first_product) = (1)) /\ ((exists ff_left_mcp_cell_ics_zero_first_product_cell ff_left_scale_mcp_cell_ics_zero_first_product_cell ff_right_mcp_cell_ics_zero_first_product_cell ff_right_scale_mcp_cell_ics_zero_first_product_cell. ((forall ff_index_mcp_ics_zero_first_product_cell_row ff_source_mcp_ics_zero_first_product_cell_row ff_target_mcp_ics_zero_first_product_cell_row. (exists mcp_gap_ics_zero_first_product_cell_row_bound. mcp_gap_ics_zero_first_product_cell_row_bound + S (ff_index_mcp_ics_zero_first_product_cell_row) = (w)) -> (((exists fs_h_mcp_ics_zero_first_product_cell_row_source. fs_h_mcp_ics_zero_first_product_cell_row_source + S (ff_source_mcp_ics_zero_first_product_cell_row) = S ((S (((ff_row_mcp_prefix_ics_zero_first_product) * (w)) + (1) * ff_index_mcp_ics_zero_first_product_cell_row)) * ac)) /\ exists fs_q_mcp_ics_zero_first_product_cell_row_source. ab = fs_q_mcp_ics_zero_first_product_cell_row_source * S ((S (((ff_row_mcp_prefix_ics_zero_first_product) * (w)) + (1) * ff_index_mcp_ics_zero_first_product_cell_row)) * ac) + (ff_source_mcp_ics_zero_first_product_cell_row))) -> (((exists fs_h_mcp_ics_zero_first_product_cell_row_target. fs_h_mcp_ics_zero_first_product_cell_row_target + S (ff_target_mcp_ics_zero_first_product_cell_row) = S ((S (ff_index_mcp_ics_zero_first_product_cell_row)) * ff_left_scale_mcp_cell_ics_zero_first_product_cell)) /\ exists fs_q_mcp_ics_zero_first_product_cell_row_target. ff_left_mcp_cell_ics_zero_first_product_cell = fs_q_mcp_ics_zero_first_product_cell_row_target * S ((S (ff_index_mcp_ics_zero_first_product_cell_row)) * ff_left_scale_mcp_cell_ics_zero_first_product_cell) + (ff_target_mcp_ics_zero_first_product_cell_row))) -> ff_target_mcp_ics_zero_first_product_cell_row = ff_source_mcp_ics_zero_first_product_cell_row) /\ ((forall ff_index_mcp_ics_zero_first_product_cell_column ff_source_mcp_ics_zero_first_product_cell_column ff_target_mcp_ics_zero_first_product_cell_column. (exists mcp_gap_ics_zero_first_product_cell_column_bound. mcp_gap_ics_zero_first_product_cell_column_bound + S (ff_index_mcp_ics_zero_first_product_cell_column) = (w)) -> (((exists fs_h_mcp_ics_zero_first_product_cell_column_source. fs_h_mcp_ics_zero_first_product_cell_column_source + S (ff_source_mcp_ics_zero_first_product_cell_column) = S ((S ((ff_column_mcp_prefix_ics_zero_first_product) + (1) * ff_index_mcp_ics_zero_first_product_cell_column)) * c)) /\ exists fs_q_mcp_ics_zero_first_product_cell_column_source. b = fs_q_mcp_ics_zero_first_product_cell_column_source * S ((S ((ff_column_mcp_prefix_ics_zero_first_product) + (1) * ff_index_mcp_ics_zero_first_product_cell_column)) * c) + (ff_source_mcp_ics_zero_first_product_cell_column))) -> (((exists fs_h_mcp_ics_zero_first_product_cell_column_target. fs_h_mcp_ics_zero_first_product_cell_column_target + S (ff_target_mcp_ics_zero_first_product_cell_column) = S ((S (ff_index_mcp_ics_zero_first_product_cell_column)) * ff_right_scale_mcp_cell_ics_zero_first_product_cell)) /\ exists fs_q_mcp_ics_zero_first_product_cell_column_target. ff_right_mcp_cell_ics_zero_first_product_cell = fs_q_mcp_ics_zero_first_product_cell_column_target * S ((S (ff_index_mcp_ics_zero_first_product_cell_column)) * ff_right_scale_mcp_cell_ics_zero_first_product_cell) + (ff_target_mcp_ics_zero_first_product_cell_column))) -> ff_target_mcp_ics_zero_first_product_cell_column = ff_source_mcp_ics_zero_first_product_cell_column) /\ (exists ff_code_dot_mcp_ics_zero_first_product_cell_dot ff_scale_dot_mcp_ics_zero_first_product_cell_dot. ((forall fpmp_index_dot_mcp_ics_zero_first_product_cell_dot_pointwise fpmp_left_dot_mcp_ics_zero_first_product_cell_dot_pointwise fpmp_right_dot_mcp_ics_zero_first_product_cell_dot_pointwise fpmp_target_dot_mcp_ics_zero_first_product_cell_dot_pointwise. (exists fpmp_gap_dot_mcp_ics_zero_first_product_cell_dot_pointwise. fpmp_gap_dot_mcp_ics_zero_first_product_cell_dot_pointwise + S fpmp_index_dot_mcp_ics_zero_first_product_cell_dot_pointwise = w) -> (((exists ff_h_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_left. ff_h_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_left + S (fpmp_left_dot_mcp_ics_zero_first_product_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_zero_first_product_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_zero_first_product_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_left. ff_left_mcp_cell_ics_zero_first_product_cell = ff_q_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_left * S ((S (fpmp_index_dot_mcp_ics_zero_first_product_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_zero_first_product_cell) + (fpmp_left_dot_mcp_ics_zero_first_product_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_right. ff_h_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_right + S (fpmp_right_dot_mcp_ics_zero_first_product_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_zero_first_product_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_zero_first_product_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_right. ff_right_mcp_cell_ics_zero_first_product_cell = ff_q_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_right * S ((S (fpmp_index_dot_mcp_ics_zero_first_product_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_zero_first_product_cell) + (fpmp_right_dot_mcp_ics_zero_first_product_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_target. ff_h_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_target + S (fpmp_target_dot_mcp_ics_zero_first_product_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_zero_first_product_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_zero_first_product_cell_dot)) /\ exists ff_q_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_target. ff_code_dot_mcp_ics_zero_first_product_cell_dot = ff_q_fpmp_dot_mcp_ics_zero_first_product_cell_dot_pointwise_target * S ((S (fpmp_index_dot_mcp_ics_zero_first_product_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_zero_first_product_cell_dot) + (fpmp_target_dot_mcp_ics_zero_first_product_cell_dot_pointwise))) -> fpmp_target_dot_mcp_ics_zero_first_product_cell_dot_pointwise = fpmp_left_dot_mcp_ics_zero_first_product_cell_dot_pointwise * fpmp_right_dot_mcp_ics_zero_first_product_cell_dot_pointwise) /\ (exists ff_u_dot_mcp_ics_zero_first_product_cell_dot_sum ff_v_dot_mcp_ics_zero_first_product_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_start. ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_start + S (0) = S ((S (0)) * ff_v_dot_mcp_ics_zero_first_product_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_start. ff_u_dot_mcp_ics_zero_first_product_cell_dot_sum = ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_start * S ((S (0)) * ff_v_dot_mcp_ics_zero_first_product_cell_dot_sum) + (0))) /\ ((((exists ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_terminal. ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_terminal + S (ff_value_mcp_prefix_ics_zero_first_product) = S ((S (w)) * ff_v_dot_mcp_ics_zero_first_product_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_terminal. ff_u_dot_mcp_ics_zero_first_product_cell_dot_sum = ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_terminal * S ((S (w)) * ff_v_dot_mcp_ics_zero_first_product_cell_dot_sum) + (ff_value_mcp_prefix_ics_zero_first_product))) /\ forall ff_i_dot_mcp_ics_zero_first_product_cell_dot_sum. (exists ff_lt_dot_mcp_ics_zero_first_product_cell_dot_sum_bound. ff_lt_dot_mcp_ics_zero_first_product_cell_dot_sum_bound + S ff_i_dot_mcp_ics_zero_first_product_cell_dot_sum = w) -> exists ff_a_dot_mcp_ics_zero_first_product_cell_dot_sum ff_r_dot_mcp_ics_zero_first_product_cell_dot_sum ff_s_dot_mcp_ics_zero_first_product_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_summand. ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_summand + S (ff_a_dot_mcp_ics_zero_first_product_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_zero_first_product_cell_dot_sum)) * ff_scale_dot_mcp_ics_zero_first_product_cell_dot)) /\ exists ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_summand. ff_code_dot_mcp_ics_zero_first_product_cell_dot = ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_summand * S ((S (ff_i_dot_mcp_ics_zero_first_product_cell_dot_sum)) * ff_scale_dot_mcp_ics_zero_first_product_cell_dot) + (ff_a_dot_mcp_ics_zero_first_product_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_partial. ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_partial + S (ff_r_dot_mcp_ics_zero_first_product_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_zero_first_product_cell_dot_sum)) * ff_v_dot_mcp_ics_zero_first_product_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_partial. ff_u_dot_mcp_ics_zero_first_product_cell_dot_sum = ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_partial * S ((S (ff_i_dot_mcp_ics_zero_first_product_cell_dot_sum)) * ff_v_dot_mcp_ics_zero_first_product_cell_dot_sum) + (ff_r_dot_mcp_ics_zero_first_product_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_successor. ff_h_dot_mcp_ics_zero_first_product_cell_dot_sum_successor + S (ff_s_dot_mcp_ics_zero_first_product_cell_dot_sum) = S ((S (S ff_i_dot_mcp_ics_zero_first_product_cell_dot_sum)) * ff_v_dot_mcp_ics_zero_first_product_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_successor. ff_u_dot_mcp_ics_zero_first_product_cell_dot_sum = ff_q_dot_mcp_ics_zero_first_product_cell_dot_sum_successor * S ((S (S ff_i_dot_mcp_ics_zero_first_product_cell_dot_sum)) * ff_v_dot_mcp_ics_zero_first_product_cell_dot_sum) + (ff_s_dot_mcp_ics_zero_first_product_cell_dot_sum))) /\ ff_s_dot_mcp_ics_zero_first_product_cell_dot_sum = ff_r_dot_mcp_ics_zero_first_product_cell_dot_sum + ff_a_dot_mcp_ics_zero_first_product_cell_dot_sum))))))))))) /\ (((exists fs_h_mcp_ics_zero_first_product_entry. fs_h_mcp_ics_zero_first_product_entry + S (ff_value_mcp_prefix_ics_zero_first_product) = S ((S (ff_index_mcp_prefix_ics_zero_first_product)) * pc)) /\ exists fs_q_mcp_ics_zero_first_product_entry. pb = fs_q_mcp_ics_zero_first_product_entry * S ((S (ff_index_mcp_prefix_ics_zero_first_product)) * pc) + (ff_value_mcp_prefix_ics_zero_first_product)))))))
  10. 0010specialize beta_matrix_product_exists (ab)
  11. 0011specialize beta_matrix_product_exists (ac)
  12. 0012specialize beta_matrix_product_exists (b)
  13. 0013specialize beta_matrix_product_exists (c)
  14. 0014specialize beta_matrix_product_exists (w)
  15. 0015specialize beta_matrix_product_exists (1)
  16. 0016specialize beta_matrix_product_exists (r)
  17. 0017apply beta_matrix_product_exists
  18. 0018cases hfirst
  19. 0019cases hfirst_witness
  20. 0020have hsecond : exists nb nc. (forall ff_index_mcp_prefix_ics_zero_second_product. (exists mcp_gap_ics_zero_second_product_index. mcp_gap_ics_zero_second_product_index + S (ff_index_mcp_prefix_ics_zero_second_product) = (r * 1)) -> exists ff_row_mcp_prefix_ics_zero_second_product ff_column_mcp_prefix_ics_zero_second_product ff_value_mcp_prefix_ics_zero_second_product. ((ff_index_mcp_prefix_ics_zero_second_product) = (1) * ff_row_mcp_prefix_ics_zero_second_product + ff_column_mcp_prefix_ics_zero_second_product /\ ((exists mcp_gap_ics_zero_second_product_column. mcp_gap_ics_zero_second_product_column + S (ff_column_mcp_prefix_ics_zero_second_product) = (1)) /\ ((exists ff_left_mcp_cell_ics_zero_second_product_cell ff_left_scale_mcp_cell_ics_zero_second_product_cell ff_right_mcp_cell_ics_zero_second_product_cell ff_right_scale_mcp_cell_ics_zero_second_product_cell. ((forall ff_index_mcp_ics_zero_second_product_cell_row ff_source_mcp_ics_zero_second_product_cell_row ff_target_mcp_ics_zero_second_product_cell_row. (exists mcp_gap_ics_zero_second_product_cell_row_bound. mcp_gap_ics_zero_second_product_cell_row_bound + S (ff_index_mcp_ics_zero_second_product_cell_row) = (w)) -> (((exists fs_h_mcp_ics_zero_second_product_cell_row_source. fs_h_mcp_ics_zero_second_product_cell_row_source + S (ff_source_mcp_ics_zero_second_product_cell_row) = S ((S (((ff_row_mcp_prefix_ics_zero_second_product) * (w)) + (1) * ff_index_mcp_ics_zero_second_product_cell_row)) * dc)) /\ exists fs_q_mcp_ics_zero_second_product_cell_row_source. db = fs_q_mcp_ics_zero_second_product_cell_row_source * S ((S (((ff_row_mcp_prefix_ics_zero_second_product) * (w)) + (1) * ff_index_mcp_ics_zero_second_product_cell_row)) * dc) + (ff_source_mcp_ics_zero_second_product_cell_row))) -> (((exists fs_h_mcp_ics_zero_second_product_cell_row_target. fs_h_mcp_ics_zero_second_product_cell_row_target + S (ff_target_mcp_ics_zero_second_product_cell_row) = S ((S (ff_index_mcp_ics_zero_second_product_cell_row)) * ff_left_scale_mcp_cell_ics_zero_second_product_cell)) /\ exists fs_q_mcp_ics_zero_second_product_cell_row_target. ff_left_mcp_cell_ics_zero_second_product_cell = fs_q_mcp_ics_zero_second_product_cell_row_target * S ((S (ff_index_mcp_ics_zero_second_product_cell_row)) * ff_left_scale_mcp_cell_ics_zero_second_product_cell) + (ff_target_mcp_ics_zero_second_product_cell_row))) -> ff_target_mcp_ics_zero_second_product_cell_row = ff_source_mcp_ics_zero_second_product_cell_row) /\ ((forall ff_index_mcp_ics_zero_second_product_cell_column ff_source_mcp_ics_zero_second_product_cell_column ff_target_mcp_ics_zero_second_product_cell_column. (exists mcp_gap_ics_zero_second_product_cell_column_bound. mcp_gap_ics_zero_second_product_cell_column_bound + S (ff_index_mcp_ics_zero_second_product_cell_column) = (w)) -> (((exists fs_h_mcp_ics_zero_second_product_cell_column_source. fs_h_mcp_ics_zero_second_product_cell_column_source + S (ff_source_mcp_ics_zero_second_product_cell_column) = S ((S ((ff_column_mcp_prefix_ics_zero_second_product) + (1) * ff_index_mcp_ics_zero_second_product_cell_column)) * c)) /\ exists fs_q_mcp_ics_zero_second_product_cell_column_source. b = fs_q_mcp_ics_zero_second_product_cell_column_source * S ((S ((ff_column_mcp_prefix_ics_zero_second_product) + (1) * ff_index_mcp_ics_zero_second_product_cell_column)) * c) + (ff_source_mcp_ics_zero_second_product_cell_column))) -> (((exists fs_h_mcp_ics_zero_second_product_cell_column_target. fs_h_mcp_ics_zero_second_product_cell_column_target + S (ff_target_mcp_ics_zero_second_product_cell_column) = S ((S (ff_index_mcp_ics_zero_second_product_cell_column)) * ff_right_scale_mcp_cell_ics_zero_second_product_cell)) /\ exists fs_q_mcp_ics_zero_second_product_cell_column_target. ff_right_mcp_cell_ics_zero_second_product_cell = fs_q_mcp_ics_zero_second_product_cell_column_target * S ((S (ff_index_mcp_ics_zero_second_product_cell_column)) * ff_right_scale_mcp_cell_ics_zero_second_product_cell) + (ff_target_mcp_ics_zero_second_product_cell_column))) -> ff_target_mcp_ics_zero_second_product_cell_column = ff_source_mcp_ics_zero_second_product_cell_column) /\ (exists ff_code_dot_mcp_ics_zero_second_product_cell_dot ff_scale_dot_mcp_ics_zero_second_product_cell_dot. ((forall fpmp_index_dot_mcp_ics_zero_second_product_cell_dot_pointwise fpmp_left_dot_mcp_ics_zero_second_product_cell_dot_pointwise fpmp_right_dot_mcp_ics_zero_second_product_cell_dot_pointwise fpmp_target_dot_mcp_ics_zero_second_product_cell_dot_pointwise. (exists fpmp_gap_dot_mcp_ics_zero_second_product_cell_dot_pointwise. fpmp_gap_dot_mcp_ics_zero_second_product_cell_dot_pointwise + S fpmp_index_dot_mcp_ics_zero_second_product_cell_dot_pointwise = w) -> (((exists ff_h_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_left. ff_h_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_left + S (fpmp_left_dot_mcp_ics_zero_second_product_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_zero_second_product_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_zero_second_product_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_left. ff_left_mcp_cell_ics_zero_second_product_cell = ff_q_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_left * S ((S (fpmp_index_dot_mcp_ics_zero_second_product_cell_dot_pointwise)) * ff_left_scale_mcp_cell_ics_zero_second_product_cell) + (fpmp_left_dot_mcp_ics_zero_second_product_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_right. ff_h_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_right + S (fpmp_right_dot_mcp_ics_zero_second_product_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_zero_second_product_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_zero_second_product_cell)) /\ exists ff_q_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_right. ff_right_mcp_cell_ics_zero_second_product_cell = ff_q_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_right * S ((S (fpmp_index_dot_mcp_ics_zero_second_product_cell_dot_pointwise)) * ff_right_scale_mcp_cell_ics_zero_second_product_cell) + (fpmp_right_dot_mcp_ics_zero_second_product_cell_dot_pointwise))) -> (((exists ff_h_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_target. ff_h_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_target + S (fpmp_target_dot_mcp_ics_zero_second_product_cell_dot_pointwise) = S ((S (fpmp_index_dot_mcp_ics_zero_second_product_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_zero_second_product_cell_dot)) /\ exists ff_q_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_target. ff_code_dot_mcp_ics_zero_second_product_cell_dot = ff_q_fpmp_dot_mcp_ics_zero_second_product_cell_dot_pointwise_target * S ((S (fpmp_index_dot_mcp_ics_zero_second_product_cell_dot_pointwise)) * ff_scale_dot_mcp_ics_zero_second_product_cell_dot) + (fpmp_target_dot_mcp_ics_zero_second_product_cell_dot_pointwise))) -> fpmp_target_dot_mcp_ics_zero_second_product_cell_dot_pointwise = fpmp_left_dot_mcp_ics_zero_second_product_cell_dot_pointwise * fpmp_right_dot_mcp_ics_zero_second_product_cell_dot_pointwise) /\ (exists ff_u_dot_mcp_ics_zero_second_product_cell_dot_sum ff_v_dot_mcp_ics_zero_second_product_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_start. ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_start + S (0) = S ((S (0)) * ff_v_dot_mcp_ics_zero_second_product_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_start. ff_u_dot_mcp_ics_zero_second_product_cell_dot_sum = ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_start * S ((S (0)) * ff_v_dot_mcp_ics_zero_second_product_cell_dot_sum) + (0))) /\ ((((exists ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_terminal. ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_terminal + S (ff_value_mcp_prefix_ics_zero_second_product) = S ((S (w)) * ff_v_dot_mcp_ics_zero_second_product_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_terminal. ff_u_dot_mcp_ics_zero_second_product_cell_dot_sum = ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_terminal * S ((S (w)) * ff_v_dot_mcp_ics_zero_second_product_cell_dot_sum) + (ff_value_mcp_prefix_ics_zero_second_product))) /\ forall ff_i_dot_mcp_ics_zero_second_product_cell_dot_sum. (exists ff_lt_dot_mcp_ics_zero_second_product_cell_dot_sum_bound. ff_lt_dot_mcp_ics_zero_second_product_cell_dot_sum_bound + S ff_i_dot_mcp_ics_zero_second_product_cell_dot_sum = w) -> exists ff_a_dot_mcp_ics_zero_second_product_cell_dot_sum ff_r_dot_mcp_ics_zero_second_product_cell_dot_sum ff_s_dot_mcp_ics_zero_second_product_cell_dot_sum. ((((exists ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_summand. ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_summand + S (ff_a_dot_mcp_ics_zero_second_product_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_zero_second_product_cell_dot_sum)) * ff_scale_dot_mcp_ics_zero_second_product_cell_dot)) /\ exists ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_summand. ff_code_dot_mcp_ics_zero_second_product_cell_dot = ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_summand * S ((S (ff_i_dot_mcp_ics_zero_second_product_cell_dot_sum)) * ff_scale_dot_mcp_ics_zero_second_product_cell_dot) + (ff_a_dot_mcp_ics_zero_second_product_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_partial. ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_partial + S (ff_r_dot_mcp_ics_zero_second_product_cell_dot_sum) = S ((S (ff_i_dot_mcp_ics_zero_second_product_cell_dot_sum)) * ff_v_dot_mcp_ics_zero_second_product_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_partial. ff_u_dot_mcp_ics_zero_second_product_cell_dot_sum = ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_partial * S ((S (ff_i_dot_mcp_ics_zero_second_product_cell_dot_sum)) * ff_v_dot_mcp_ics_zero_second_product_cell_dot_sum) + (ff_r_dot_mcp_ics_zero_second_product_cell_dot_sum))) /\ ((((exists ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_successor. ff_h_dot_mcp_ics_zero_second_product_cell_dot_sum_successor + S (ff_s_dot_mcp_ics_zero_second_product_cell_dot_sum) = S ((S (S ff_i_dot_mcp_ics_zero_second_product_cell_dot_sum)) * ff_v_dot_mcp_ics_zero_second_product_cell_dot_sum)) /\ exists ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_successor. ff_u_dot_mcp_ics_zero_second_product_cell_dot_sum = ff_q_dot_mcp_ics_zero_second_product_cell_dot_sum_successor * S ((S (S ff_i_dot_mcp_ics_zero_second_product_cell_dot_sum)) * ff_v_dot_mcp_ics_zero_second_product_cell_dot_sum) + (ff_s_dot_mcp_ics_zero_second_product_cell_dot_sum))) /\ ff_s_dot_mcp_ics_zero_second_product_cell_dot_sum = ff_r_dot_mcp_ics_zero_second_product_cell_dot_sum + ff_a_dot_mcp_ics_zero_second_product_cell_dot_sum))))))))))) /\ (((exists fs_h_mcp_ics_zero_second_product_entry. fs_h_mcp_ics_zero_second_product_entry + S (ff_value_mcp_prefix_ics_zero_second_product) = S ((S (ff_index_mcp_prefix_ics_zero_second_product)) * nc)) /\ exists fs_q_mcp_ics_zero_second_product_entry. nb = fs_q_mcp_ics_zero_second_product_entry * S ((S (ff_index_mcp_prefix_ics_zero_second_product)) * nc) + (ff_value_mcp_prefix_ics_zero_second_product)))))))
  21. 0021specialize beta_matrix_product_exists (db)
  22. 0022specialize beta_matrix_product_exists (dc)
  23. 0023specialize beta_matrix_product_exists (b)
  24. 0024specialize beta_matrix_product_exists (c)
  25. 0025specialize beta_matrix_product_exists (w)
  26. 0026specialize beta_matrix_product_exists (1)
  27. 0027specialize beta_matrix_product_exists (r)
  28. 0028apply beta_matrix_product_exists
  29. 0029cases hsecond
  30. 0030cases hsecond_witness
  31. 0031have hsum : exists pb pc. (forall ff_index_mcp_add_ics_zero_output_sum ff_left_mcp_add_ics_zero_output_sum ff_right_mcp_add_ics_zero_output_sum ff_target_mcp_add_ics_zero_output_sum. (exists mcp_gap_ics_zero_output_sum_bound. mcp_gap_ics_zero_output_sum_bound + S (ff_index_mcp_add_ics_zero_output_sum) = (r * 1)) -> (((exists fs_h_mcp_ics_zero_output_sum_left. fs_h_mcp_ics_zero_output_sum_left + S (ff_left_mcp_add_ics_zero_output_sum) = S ((S (ff_index_mcp_add_ics_zero_output_sum)) * x1)) /\ exists fs_q_mcp_ics_zero_output_sum_left. x = fs_q_mcp_ics_zero_output_sum_left * S ((S (ff_index_mcp_add_ics_zero_output_sum)) * x1) + (ff_left_mcp_add_ics_zero_output_sum))) -> (((exists fs_h_mcp_ics_zero_output_sum_right. fs_h_mcp_ics_zero_output_sum_right + S (ff_right_mcp_add_ics_zero_output_sum) = S ((S (ff_index_mcp_add_ics_zero_output_sum)) * x3)) /\ exists fs_q_mcp_ics_zero_output_sum_right. x2 = fs_q_mcp_ics_zero_output_sum_right * S ((S (ff_index_mcp_add_ics_zero_output_sum)) * x3) + (ff_right_mcp_add_ics_zero_output_sum))) -> (((exists fs_h_mcp_ics_zero_output_sum_target. fs_h_mcp_ics_zero_output_sum_target + S (ff_target_mcp_add_ics_zero_output_sum) = S ((S (ff_index_mcp_add_ics_zero_output_sum)) * pc)) /\ exists fs_q_mcp_ics_zero_output_sum_target. pb = fs_q_mcp_ics_zero_output_sum_target * S ((S (ff_index_mcp_add_ics_zero_output_sum)) * pc) + (ff_target_mcp_add_ics_zero_output_sum))) -> ff_target_mcp_add_ics_zero_output_sum = ff_left_mcp_add_ics_zero_output_sum + ff_right_mcp_add_ics_zero_output_sum)
  32. 0032specialize beta_pointwise_add_prefix_exists (x)
  33. 0033specialize beta_pointwise_add_prefix_exists (x1)
  34. 0034specialize beta_pointwise_add_prefix_exists (x2)
  35. 0035specialize beta_pointwise_add_prefix_exists (x3)
  36. 0036specialize beta_pointwise_add_prefix_exists (r * 1)
  37. 0037apply beta_pointwise_add_prefix_exists
  38. 0038cases hsum
  39. 0039cases hsum_witness
  40. 0040exists x4
  41. 0041exists x5
  42. 0042exists x
  43. 0043exists x1
  44. 0044exists x2
  45. 0045exists x3
  46. 0046exists x
  47. 0047exists x1
  48. 0048exists x2
  49. 0049exists x3
  50. 0050split
  51. 0051exact hfirst_witness_witness
  52. 0052split
  53. 0053exact hsecond_witness_witness
  54. 0054split
  55. 0055exact hfirst_witness_witness
  56. 0056split
  57. 0057exact hsecond_witness_witness
  58. 0058split
  59. 0059exact hsum_witness_witness
  60. 0060exact hsum_witness_witness