PA00E8

eisenstein_transposed_column_prefix_extend

Alpha v16 checked-use theorem · independently closed; not Stable

Append one provenance-carrying swapped-row bit to a transposed column.

Exact expanded PA statement

forall p q h bb bc i z e l. (forall etc_row_index_transposed_column_extend_before. (exists edt_lt_gap_transposed_column_extend_before_bound. edt_lt_gap_transposed_column_extend_before_bound + S (etc_row_index_transposed_column_extend_before) = l) -> exists etc_bit_transposed_column_extend_before. ((((exists ff_h_etc_transposed_column_extend_before_decoded. ff_h_etc_transposed_column_extend_before_decoded + S (etc_bit_transposed_column_extend_before) = S ((S (etc_row_index_transposed_column_extend_before)) * e)) /\ exists ff_q_etc_transposed_column_extend_before_decoded. z = ff_q_etc_transposed_column_extend_before_decoded * S ((S (etc_row_index_transposed_column_extend_before)) * e) + (etc_bit_transposed_column_extend_before))) /\ (exists etc_count_transposed_column_extend_before_witness etc_row_code_transposed_column_extend_before_witness etc_row_scale_transposed_column_extend_before_witness. ((((((exists ff_h_etc_transposed_column_extend_before_witness_outer_entry. ff_h_etc_transposed_column_extend_before_witness_outer_entry + S (etc_count_transposed_column_extend_before_witness) = S ((S (etc_row_index_transposed_column_extend_before)) * bc)) /\ exists ff_q_etc_transposed_column_extend_before_witness_outer_entry. bb = ff_q_etc_transposed_column_extend_before_witness_outer_entry * S ((S (etc_row_index_transposed_column_extend_before)) * bc) + (etc_count_transposed_column_extend_before_witness))) /\ (forall eri_column_etc_transposed_column_extend_before_witness_row. (exists eri_gap_etc_transposed_column_extend_before_witness_row_bound. eri_gap_etc_transposed_column_extend_before_witness_row_bound + S (eri_column_etc_transposed_column_extend_before_witness_row) = h) -> exists eri_bit_etc_transposed_column_extend_before_witness_row. ((((exists ff_h_eri_etc_transposed_column_extend_before_witness_row_decoded. ff_h_eri_etc_transposed_column_extend_before_witness_row_decoded + S (eri_bit_etc_transposed_column_extend_before_witness_row) = S ((S (eri_column_etc_transposed_column_extend_before_witness_row)) * etc_row_scale_transposed_column_extend_before_witness)) /\ exists ff_q_eri_etc_transposed_column_extend_before_witness_row_decoded. etc_row_code_transposed_column_extend_before_witness = ff_q_eri_etc_transposed_column_extend_before_witness_row_decoded * S ((S (eri_column_etc_transposed_column_extend_before_witness_row)) * etc_row_scale_transposed_column_extend_before_witness) + (eri_bit_etc_transposed_column_extend_before_witness_row))) /\ (((eri_bit_etc_transposed_column_extend_before_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_extend_before_witness_row_choice_left. eri_gap_etc_transposed_column_extend_before_witness_row_choice_left + S (p * S etc_row_index_transposed_column_extend_before) = q * S eri_column_etc_transposed_column_extend_before_witness_row) /\ ~(exists eri_gap_etc_transposed_column_extend_before_witness_row_choice_right. eri_gap_etc_transposed_column_extend_before_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_extend_before_witness_row) = p * S etc_row_index_transposed_column_extend_before))) \/ (eri_bit_etc_transposed_column_extend_before_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_extend_before_witness_row_choice_right. eri_gap_etc_transposed_column_extend_before_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_extend_before_witness_row) = p * S etc_row_index_transposed_column_extend_before) /\ ~(exists eri_gap_etc_transposed_column_extend_before_witness_row_choice_left. eri_gap_etc_transposed_column_extend_before_witness_row_choice_left + S (p * S etc_row_index_transposed_column_extend_before) = q * S eri_column_etc_transposed_column_extend_before_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_extend_before_witness_count_relation_sum ff_v_etc_transposed_column_extend_before_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_start. ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_extend_before_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_start. ff_u_etc_transposed_column_extend_before_witness_count_relation_sum = ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_extend_before_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_terminal + S (etc_count_transposed_column_extend_before_witness) = S ((S (h)) * ff_v_etc_transposed_column_extend_before_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_extend_before_witness_count_relation_sum = ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_extend_before_witness_count_relation_sum) + (etc_count_transposed_column_extend_before_witness))) /\ forall ff_i_etc_transposed_column_extend_before_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_extend_before_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_extend_before_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_extend_before_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_extend_before_witness_count_relation_sum ff_r_etc_transposed_column_extend_before_witness_count_relation_sum ff_s_etc_transposed_column_extend_before_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_summand. ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_extend_before_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_extend_before_witness_count_relation_sum)) * etc_row_scale_transposed_column_extend_before_witness)) /\ exists ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_summand. etc_row_code_transposed_column_extend_before_witness = ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_extend_before_witness_count_relation_sum)) * etc_row_scale_transposed_column_extend_before_witness) + (ff_a_etc_transposed_column_extend_before_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_partial. ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_extend_before_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_extend_before_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_before_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_partial. ff_u_etc_transposed_column_extend_before_witness_count_relation_sum = ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_extend_before_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_before_witness_count_relation_sum) + (ff_r_etc_transposed_column_extend_before_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_successor. ff_h_etc_transposed_column_extend_before_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_extend_before_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_extend_before_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_before_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_successor. ff_u_etc_transposed_column_extend_before_witness_count_relation_sum = ff_q_etc_transposed_column_extend_before_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_extend_before_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_before_witness_count_relation_sum) + (ff_s_etc_transposed_column_extend_before_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_extend_before_witness_count_relation_sum = ff_r_etc_transposed_column_extend_before_witness_count_relation_sum + ff_a_etc_transposed_column_extend_before_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_extend_before_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_extend_before_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_extend_before_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_extend_before_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_extend_before_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_extend_before_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_extend_before_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_extend_before_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_extend_before_witness_count_relation_bits)) * etc_row_scale_transposed_column_extend_before_witness)) /\ exists ff_q_etc_transposed_column_extend_before_witness_count_relation_bits_decoded. etc_row_code_transposed_column_extend_before_witness = ff_q_etc_transposed_column_extend_before_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_extend_before_witness_count_relation_bits)) * etc_row_scale_transposed_column_extend_before_witness) + (ff_bit_etc_transposed_column_extend_before_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_extend_before_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_extend_before_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_extend_before_witness_inner_entry. ff_h_etc_transposed_column_extend_before_witness_inner_entry + S (etc_bit_transposed_column_extend_before) = S ((S (i)) * etc_row_scale_transposed_column_extend_before_witness)) /\ exists ff_q_etc_transposed_column_extend_before_witness_inner_entry. etc_row_code_transposed_column_extend_before_witness = ff_q_etc_transposed_column_extend_before_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_extend_before_witness) + (etc_bit_transposed_column_extend_before))))))) -> (exists d. (exists etc_count_transposed_column_extend_last etc_row_code_transposed_column_extend_last etc_row_scale_transposed_column_extend_last. ((((((exists ff_h_etc_transposed_column_extend_last_outer_entry. ff_h_etc_transposed_column_extend_last_outer_entry + S (etc_count_transposed_column_extend_last) = S ((S (l)) * bc)) /\ exists ff_q_etc_transposed_column_extend_last_outer_entry. bb = ff_q_etc_transposed_column_extend_last_outer_entry * S ((S (l)) * bc) + (etc_count_transposed_column_extend_last))) /\ (forall eri_column_etc_transposed_column_extend_last_row. (exists eri_gap_etc_transposed_column_extend_last_row_bound. eri_gap_etc_transposed_column_extend_last_row_bound + S (eri_column_etc_transposed_column_extend_last_row) = h) -> exists eri_bit_etc_transposed_column_extend_last_row. ((((exists ff_h_eri_etc_transposed_column_extend_last_row_decoded. ff_h_eri_etc_transposed_column_extend_last_row_decoded + S (eri_bit_etc_transposed_column_extend_last_row) = S ((S (eri_column_etc_transposed_column_extend_last_row)) * etc_row_scale_transposed_column_extend_last)) /\ exists ff_q_eri_etc_transposed_column_extend_last_row_decoded. etc_row_code_transposed_column_extend_last = ff_q_eri_etc_transposed_column_extend_last_row_decoded * S ((S (eri_column_etc_transposed_column_extend_last_row)) * etc_row_scale_transposed_column_extend_last) + (eri_bit_etc_transposed_column_extend_last_row))) /\ (((eri_bit_etc_transposed_column_extend_last_row = 0 /\ ((exists eri_gap_etc_transposed_column_extend_last_row_choice_left. eri_gap_etc_transposed_column_extend_last_row_choice_left + S (p * S l) = q * S eri_column_etc_transposed_column_extend_last_row) /\ ~(exists eri_gap_etc_transposed_column_extend_last_row_choice_right. eri_gap_etc_transposed_column_extend_last_row_choice_right + S (q * S eri_column_etc_transposed_column_extend_last_row) = p * S l))) \/ (eri_bit_etc_transposed_column_extend_last_row = 1 /\ ((exists eri_gap_etc_transposed_column_extend_last_row_choice_right. eri_gap_etc_transposed_column_extend_last_row_choice_right + S (q * S eri_column_etc_transposed_column_extend_last_row) = p * S l) /\ ~(exists eri_gap_etc_transposed_column_extend_last_row_choice_left. eri_gap_etc_transposed_column_extend_last_row_choice_left + S (p * S l) = q * S eri_column_etc_transposed_column_extend_last_row)))))))) /\ (((exists ff_u_etc_transposed_column_extend_last_count_relation_sum ff_v_etc_transposed_column_extend_last_count_relation_sum. ((((exists ff_h_etc_transposed_column_extend_last_count_relation_sum_start. ff_h_etc_transposed_column_extend_last_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_extend_last_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_last_count_relation_sum_start. ff_u_etc_transposed_column_extend_last_count_relation_sum = ff_q_etc_transposed_column_extend_last_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_extend_last_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_extend_last_count_relation_sum_terminal. ff_h_etc_transposed_column_extend_last_count_relation_sum_terminal + S (etc_count_transposed_column_extend_last) = S ((S (h)) * ff_v_etc_transposed_column_extend_last_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_last_count_relation_sum_terminal. ff_u_etc_transposed_column_extend_last_count_relation_sum = ff_q_etc_transposed_column_extend_last_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_extend_last_count_relation_sum) + (etc_count_transposed_column_extend_last))) /\ forall ff_i_etc_transposed_column_extend_last_count_relation_sum. (exists ff_lt_etc_transposed_column_extend_last_count_relation_sum_bound. ff_lt_etc_transposed_column_extend_last_count_relation_sum_bound + S ff_i_etc_transposed_column_extend_last_count_relation_sum = h) -> exists ff_a_etc_transposed_column_extend_last_count_relation_sum ff_r_etc_transposed_column_extend_last_count_relation_sum ff_s_etc_transposed_column_extend_last_count_relation_sum. ((((exists ff_h_etc_transposed_column_extend_last_count_relation_sum_summand. ff_h_etc_transposed_column_extend_last_count_relation_sum_summand + S (ff_a_etc_transposed_column_extend_last_count_relation_sum) = S ((S (ff_i_etc_transposed_column_extend_last_count_relation_sum)) * etc_row_scale_transposed_column_extend_last)) /\ exists ff_q_etc_transposed_column_extend_last_count_relation_sum_summand. etc_row_code_transposed_column_extend_last = ff_q_etc_transposed_column_extend_last_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_extend_last_count_relation_sum)) * etc_row_scale_transposed_column_extend_last) + (ff_a_etc_transposed_column_extend_last_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_extend_last_count_relation_sum_partial. ff_h_etc_transposed_column_extend_last_count_relation_sum_partial + S (ff_r_etc_transposed_column_extend_last_count_relation_sum) = S ((S (ff_i_etc_transposed_column_extend_last_count_relation_sum)) * ff_v_etc_transposed_column_extend_last_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_last_count_relation_sum_partial. ff_u_etc_transposed_column_extend_last_count_relation_sum = ff_q_etc_transposed_column_extend_last_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_extend_last_count_relation_sum)) * ff_v_etc_transposed_column_extend_last_count_relation_sum) + (ff_r_etc_transposed_column_extend_last_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_extend_last_count_relation_sum_successor. ff_h_etc_transposed_column_extend_last_count_relation_sum_successor + S (ff_s_etc_transposed_column_extend_last_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_extend_last_count_relation_sum)) * ff_v_etc_transposed_column_extend_last_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_last_count_relation_sum_successor. ff_u_etc_transposed_column_extend_last_count_relation_sum = ff_q_etc_transposed_column_extend_last_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_extend_last_count_relation_sum)) * ff_v_etc_transposed_column_extend_last_count_relation_sum) + (ff_s_etc_transposed_column_extend_last_count_relation_sum))) /\ ff_s_etc_transposed_column_extend_last_count_relation_sum = ff_r_etc_transposed_column_extend_last_count_relation_sum + ff_a_etc_transposed_column_extend_last_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_extend_last_count_relation_bits. (exists ff_lt_etc_transposed_column_extend_last_count_relation_bits_bound. ff_lt_etc_transposed_column_extend_last_count_relation_bits_bound + S ff_i_etc_transposed_column_extend_last_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_extend_last_count_relation_bits. ((((exists ff_h_etc_transposed_column_extend_last_count_relation_bits_decoded. ff_h_etc_transposed_column_extend_last_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_extend_last_count_relation_bits) = S ((S (ff_i_etc_transposed_column_extend_last_count_relation_bits)) * etc_row_scale_transposed_column_extend_last)) /\ exists ff_q_etc_transposed_column_extend_last_count_relation_bits_decoded. etc_row_code_transposed_column_extend_last = ff_q_etc_transposed_column_extend_last_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_extend_last_count_relation_bits)) * etc_row_scale_transposed_column_extend_last) + (ff_bit_etc_transposed_column_extend_last_count_relation_bits))) /\ (ff_bit_etc_transposed_column_extend_last_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_extend_last_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_extend_last_inner_entry. ff_h_etc_transposed_column_extend_last_inner_entry + S (d) = S ((S (i)) * etc_row_scale_transposed_column_extend_last)) /\ exists ff_q_etc_transposed_column_extend_last_inner_entry. etc_row_code_transposed_column_extend_last = ff_q_etc_transposed_column_extend_last_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_extend_last) + (d)))))) -> exists u v. (forall etc_row_index_transposed_column_extend_after. (exists edt_lt_gap_transposed_column_extend_after_bound. edt_lt_gap_transposed_column_extend_after_bound + S (etc_row_index_transposed_column_extend_after) = S l) -> exists etc_bit_transposed_column_extend_after. ((((exists ff_h_etc_transposed_column_extend_after_decoded. ff_h_etc_transposed_column_extend_after_decoded + S (etc_bit_transposed_column_extend_after) = S ((S (etc_row_index_transposed_column_extend_after)) * v)) /\ exists ff_q_etc_transposed_column_extend_after_decoded. u = ff_q_etc_transposed_column_extend_after_decoded * S ((S (etc_row_index_transposed_column_extend_after)) * v) + (etc_bit_transposed_column_extend_after))) /\ (exists etc_count_transposed_column_extend_after_witness etc_row_code_transposed_column_extend_after_witness etc_row_scale_transposed_column_extend_after_witness. ((((((exists ff_h_etc_transposed_column_extend_after_witness_outer_entry. ff_h_etc_transposed_column_extend_after_witness_outer_entry + S (etc_count_transposed_column_extend_after_witness) = S ((S (etc_row_index_transposed_column_extend_after)) * bc)) /\ exists ff_q_etc_transposed_column_extend_after_witness_outer_entry. bb = ff_q_etc_transposed_column_extend_after_witness_outer_entry * S ((S (etc_row_index_transposed_column_extend_after)) * bc) + (etc_count_transposed_column_extend_after_witness))) /\ (forall eri_column_etc_transposed_column_extend_after_witness_row. (exists eri_gap_etc_transposed_column_extend_after_witness_row_bound. eri_gap_etc_transposed_column_extend_after_witness_row_bound + S (eri_column_etc_transposed_column_extend_after_witness_row) = h) -> exists eri_bit_etc_transposed_column_extend_after_witness_row. ((((exists ff_h_eri_etc_transposed_column_extend_after_witness_row_decoded. ff_h_eri_etc_transposed_column_extend_after_witness_row_decoded + S (eri_bit_etc_transposed_column_extend_after_witness_row) = S ((S (eri_column_etc_transposed_column_extend_after_witness_row)) * etc_row_scale_transposed_column_extend_after_witness)) /\ exists ff_q_eri_etc_transposed_column_extend_after_witness_row_decoded. etc_row_code_transposed_column_extend_after_witness = ff_q_eri_etc_transposed_column_extend_after_witness_row_decoded * S ((S (eri_column_etc_transposed_column_extend_after_witness_row)) * etc_row_scale_transposed_column_extend_after_witness) + (eri_bit_etc_transposed_column_extend_after_witness_row))) /\ (((eri_bit_etc_transposed_column_extend_after_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_extend_after_witness_row_choice_left. eri_gap_etc_transposed_column_extend_after_witness_row_choice_left + S (p * S etc_row_index_transposed_column_extend_after) = q * S eri_column_etc_transposed_column_extend_after_witness_row) /\ ~(exists eri_gap_etc_transposed_column_extend_after_witness_row_choice_right. eri_gap_etc_transposed_column_extend_after_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_extend_after_witness_row) = p * S etc_row_index_transposed_column_extend_after))) \/ (eri_bit_etc_transposed_column_extend_after_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_extend_after_witness_row_choice_right. eri_gap_etc_transposed_column_extend_after_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_extend_after_witness_row) = p * S etc_row_index_transposed_column_extend_after) /\ ~(exists eri_gap_etc_transposed_column_extend_after_witness_row_choice_left. eri_gap_etc_transposed_column_extend_after_witness_row_choice_left + S (p * S etc_row_index_transposed_column_extend_after) = q * S eri_column_etc_transposed_column_extend_after_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_extend_after_witness_count_relation_sum ff_v_etc_transposed_column_extend_after_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_start. ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_extend_after_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_start. ff_u_etc_transposed_column_extend_after_witness_count_relation_sum = ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_extend_after_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_terminal + S (etc_count_transposed_column_extend_after_witness) = S ((S (h)) * ff_v_etc_transposed_column_extend_after_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_extend_after_witness_count_relation_sum = ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_extend_after_witness_count_relation_sum) + (etc_count_transposed_column_extend_after_witness))) /\ forall ff_i_etc_transposed_column_extend_after_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_extend_after_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_extend_after_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_extend_after_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_extend_after_witness_count_relation_sum ff_r_etc_transposed_column_extend_after_witness_count_relation_sum ff_s_etc_transposed_column_extend_after_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_summand. ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_extend_after_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_extend_after_witness_count_relation_sum)) * etc_row_scale_transposed_column_extend_after_witness)) /\ exists ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_summand. etc_row_code_transposed_column_extend_after_witness = ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_extend_after_witness_count_relation_sum)) * etc_row_scale_transposed_column_extend_after_witness) + (ff_a_etc_transposed_column_extend_after_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_partial. ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_extend_after_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_extend_after_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_after_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_partial. ff_u_etc_transposed_column_extend_after_witness_count_relation_sum = ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_extend_after_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_after_witness_count_relation_sum) + (ff_r_etc_transposed_column_extend_after_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_successor. ff_h_etc_transposed_column_extend_after_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_extend_after_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_extend_after_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_after_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_successor. ff_u_etc_transposed_column_extend_after_witness_count_relation_sum = ff_q_etc_transposed_column_extend_after_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_extend_after_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_after_witness_count_relation_sum) + (ff_s_etc_transposed_column_extend_after_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_extend_after_witness_count_relation_sum = ff_r_etc_transposed_column_extend_after_witness_count_relation_sum + ff_a_etc_transposed_column_extend_after_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_extend_after_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_extend_after_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_extend_after_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_extend_after_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_extend_after_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_extend_after_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_extend_after_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_extend_after_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_extend_after_witness_count_relation_bits)) * etc_row_scale_transposed_column_extend_after_witness)) /\ exists ff_q_etc_transposed_column_extend_after_witness_count_relation_bits_decoded. etc_row_code_transposed_column_extend_after_witness = ff_q_etc_transposed_column_extend_after_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_extend_after_witness_count_relation_bits)) * etc_row_scale_transposed_column_extend_after_witness) + (ff_bit_etc_transposed_column_extend_after_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_extend_after_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_extend_after_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_extend_after_witness_inner_entry. ff_h_etc_transposed_column_extend_after_witness_inner_entry + S (etc_bit_transposed_column_extend_after) = S ((S (i)) * etc_row_scale_transposed_column_extend_after_witness)) /\ exists ff_q_etc_transposed_column_extend_after_witness_inner_entry. etc_row_code_transposed_column_extend_after_witness = ff_q_etc_transposed_column_extend_after_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_extend_after_witness) + (etc_bit_transposed_column_extend_after)))))))

Structural proof guide

Generated structural guide

Append one provenance-carrying swapped-row bit to a transposed column.

Use the direct prerequisites beta_prefix_extend, finite_lt_succ_eq_or_lt as previously established PA formulas.

The proof proceeds by case analysis (7), intermediate claims (2), equality transport (8).

Referenced ingredients

Proof neighborhood

Direct dependencies

Direct 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.

  1. 0001intro p
  2. 0002intro q
  3. 0003intro h
  4. 0004intro bb
  5. 0005intro bc
  6. 0006intro i
  7. 0007intro z
  8. 0008intro e
  9. 0009intro l
  10. 0010intro hprefix
  11. 0011intro hlast
  12. 0012cases hlast
  13. 0013specialize beta_prefix_extend l
  14. 0014specialize beta_prefix_extend z
  15. 0015specialize beta_prefix_extend e
  16. 0016specialize beta_prefix_extend x
  17. 0017cases beta_prefix_extend
  18. 0018cases beta_prefix_extend_witness
  19. 0019cases beta_prefix_extend_witness_witness
  20. 0020exists x1
  21. 0021exists x2
  22. 0022intro j
  23. 0023intro hj
  24. 0024have hsplit : j = l \/ exists gap. gap + S j = l
  25. 0025specialize finite_lt_succ_eq_or_lt l
  26. 0026specialize finite_lt_succ_eq_or_lt j
  27. 0027apply finite_lt_succ_eq_or_lt
  28. 0028exact hj
  29. 0029cases hsplit
  30. 0030exists x
  31. 0031split
  32. 0032rewrite hsplit_left
  33. 0033rewrite hsplit_left
  34. 0034exact beta_prefix_extend_witness_witness_left
  35. 0035rewrite hsplit_left
  36. 0036rewrite hsplit_left
  37. 0037rewrite hsplit_left
  38. 0038rewrite hsplit_left
  39. 0039rewrite hsplit_left
  40. 0040rewrite hsplit_left
  41. 0041exact hlast_witness
  42. 0042have hold : exists oldbit. ((((exists ff_h_transposed_column_extend_old_entry. ff_h_transposed_column_extend_old_entry + S (oldbit) = S ((S (j)) * e)) /\ exists ff_q_transposed_column_extend_old_entry. z = ff_q_transposed_column_extend_old_entry * S ((S (j)) * e) + (oldbit))) /\ (exists etc_count_transposed_column_extend_old_witness etc_row_code_transposed_column_extend_old_witness etc_row_scale_transposed_column_extend_old_witness. ((((((exists ff_h_etc_transposed_column_extend_old_witness_outer_entry. ff_h_etc_transposed_column_extend_old_witness_outer_entry + S (etc_count_transposed_column_extend_old_witness) = S ((S (j)) * bc)) /\ exists ff_q_etc_transposed_column_extend_old_witness_outer_entry. bb = ff_q_etc_transposed_column_extend_old_witness_outer_entry * S ((S (j)) * bc) + (etc_count_transposed_column_extend_old_witness))) /\ (forall eri_column_etc_transposed_column_extend_old_witness_row. (exists eri_gap_etc_transposed_column_extend_old_witness_row_bound. eri_gap_etc_transposed_column_extend_old_witness_row_bound + S (eri_column_etc_transposed_column_extend_old_witness_row) = h) -> exists eri_bit_etc_transposed_column_extend_old_witness_row. ((((exists ff_h_eri_etc_transposed_column_extend_old_witness_row_decoded. ff_h_eri_etc_transposed_column_extend_old_witness_row_decoded + S (eri_bit_etc_transposed_column_extend_old_witness_row) = S ((S (eri_column_etc_transposed_column_extend_old_witness_row)) * etc_row_scale_transposed_column_extend_old_witness)) /\ exists ff_q_eri_etc_transposed_column_extend_old_witness_row_decoded. etc_row_code_transposed_column_extend_old_witness = ff_q_eri_etc_transposed_column_extend_old_witness_row_decoded * S ((S (eri_column_etc_transposed_column_extend_old_witness_row)) * etc_row_scale_transposed_column_extend_old_witness) + (eri_bit_etc_transposed_column_extend_old_witness_row))) /\ (((eri_bit_etc_transposed_column_extend_old_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_extend_old_witness_row_choice_left. eri_gap_etc_transposed_column_extend_old_witness_row_choice_left + S (p * S j) = q * S eri_column_etc_transposed_column_extend_old_witness_row) /\ ~(exists eri_gap_etc_transposed_column_extend_old_witness_row_choice_right. eri_gap_etc_transposed_column_extend_old_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_extend_old_witness_row) = p * S j))) \/ (eri_bit_etc_transposed_column_extend_old_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_extend_old_witness_row_choice_right. eri_gap_etc_transposed_column_extend_old_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_extend_old_witness_row) = p * S j) /\ ~(exists eri_gap_etc_transposed_column_extend_old_witness_row_choice_left. eri_gap_etc_transposed_column_extend_old_witness_row_choice_left + S (p * S j) = q * S eri_column_etc_transposed_column_extend_old_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_extend_old_witness_count_relation_sum ff_v_etc_transposed_column_extend_old_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_start. ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_extend_old_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_start. ff_u_etc_transposed_column_extend_old_witness_count_relation_sum = ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_extend_old_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_terminal + S (etc_count_transposed_column_extend_old_witness) = S ((S (h)) * ff_v_etc_transposed_column_extend_old_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_extend_old_witness_count_relation_sum = ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_extend_old_witness_count_relation_sum) + (etc_count_transposed_column_extend_old_witness))) /\ forall ff_i_etc_transposed_column_extend_old_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_extend_old_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_extend_old_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_extend_old_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_extend_old_witness_count_relation_sum ff_r_etc_transposed_column_extend_old_witness_count_relation_sum ff_s_etc_transposed_column_extend_old_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_summand. ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_extend_old_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_extend_old_witness_count_relation_sum)) * etc_row_scale_transposed_column_extend_old_witness)) /\ exists ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_summand. etc_row_code_transposed_column_extend_old_witness = ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_extend_old_witness_count_relation_sum)) * etc_row_scale_transposed_column_extend_old_witness) + (ff_a_etc_transposed_column_extend_old_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_partial. ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_extend_old_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_extend_old_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_old_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_partial. ff_u_etc_transposed_column_extend_old_witness_count_relation_sum = ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_extend_old_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_old_witness_count_relation_sum) + (ff_r_etc_transposed_column_extend_old_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_successor. ff_h_etc_transposed_column_extend_old_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_extend_old_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_extend_old_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_old_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_successor. ff_u_etc_transposed_column_extend_old_witness_count_relation_sum = ff_q_etc_transposed_column_extend_old_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_extend_old_witness_count_relation_sum)) * ff_v_etc_transposed_column_extend_old_witness_count_relation_sum) + (ff_s_etc_transposed_column_extend_old_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_extend_old_witness_count_relation_sum = ff_r_etc_transposed_column_extend_old_witness_count_relation_sum + ff_a_etc_transposed_column_extend_old_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_extend_old_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_extend_old_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_extend_old_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_extend_old_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_extend_old_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_extend_old_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_extend_old_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_extend_old_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_extend_old_witness_count_relation_bits)) * etc_row_scale_transposed_column_extend_old_witness)) /\ exists ff_q_etc_transposed_column_extend_old_witness_count_relation_bits_decoded. etc_row_code_transposed_column_extend_old_witness = ff_q_etc_transposed_column_extend_old_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_extend_old_witness_count_relation_bits)) * etc_row_scale_transposed_column_extend_old_witness) + (ff_bit_etc_transposed_column_extend_old_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_extend_old_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_extend_old_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_extend_old_witness_inner_entry. ff_h_etc_transposed_column_extend_old_witness_inner_entry + S (oldbit) = S ((S (i)) * etc_row_scale_transposed_column_extend_old_witness)) /\ exists ff_q_etc_transposed_column_extend_old_witness_inner_entry. etc_row_code_transposed_column_extend_old_witness = ff_q_etc_transposed_column_extend_old_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_extend_old_witness) + (oldbit))))))
  43. 0043specialize hprefix j
  44. 0044apply hprefix
  45. 0045exact hsplit_right
  46. 0046cases hold
  47. 0047cases hold_witness
  48. 0048exists x3
  49. 0049split
  50. 0050specialize beta_prefix_extend_witness_witness_right j
  51. 0051specialize beta_prefix_extend_witness_witness_right x3
  52. 0052apply beta_prefix_extend_witness_witness_right
  53. 0053exact hsplit_right
  54. 0054exact hold_witness_left
  55. 0055exact hold_witness_right