PA00EW

eisenstein_successor_row_split_prefix_extend

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

Append aligned reduced-count and terminal-bit entries while preserving complete row provenance.

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 PA statement

forall p q h sh bb bc db dc tb tc l. (forall efrd_row_index_fubini_row_split_extend_before. (exists efrd_lt_gap_fubini_row_split_extend_before_bound. efrd_lt_gap_fubini_row_split_extend_before_bound + S (efrd_row_index_fubini_row_split_extend_before) = l) -> exists efrd_count_fubini_row_split_extend_before efrd_reduced_count_fubini_row_split_extend_before efrd_terminal_bit_fubini_row_split_extend_before. (((((((exists ff_h_efrd_fubini_row_split_extend_before_entry_outer_entry. ff_h_efrd_fubini_row_split_extend_before_entry_outer_entry + S (efrd_count_fubini_row_split_extend_before) = S ((S (efrd_row_index_fubini_row_split_extend_before)) * bc)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_outer_entry. bb = ff_q_efrd_fubini_row_split_extend_before_entry_outer_entry * S ((S (efrd_row_index_fubini_row_split_extend_before)) * bc) + (efrd_count_fubini_row_split_extend_before))) /\ (((exists ff_h_efrd_fubini_row_split_extend_before_entry_reduced_entry. ff_h_efrd_fubini_row_split_extend_before_entry_reduced_entry + S (efrd_reduced_count_fubini_row_split_extend_before) = S ((S (efrd_row_index_fubini_row_split_extend_before)) * dc)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_reduced_entry. db = ff_q_efrd_fubini_row_split_extend_before_entry_reduced_entry * S ((S (efrd_row_index_fubini_row_split_extend_before)) * dc) + (efrd_reduced_count_fubini_row_split_extend_before)))) /\ (((exists ff_h_efrd_fubini_row_split_extend_before_entry_terminal_entry. ff_h_efrd_fubini_row_split_extend_before_entry_terminal_entry + S (efrd_terminal_bit_fubini_row_split_extend_before) = S ((S (efrd_row_index_fubini_row_split_extend_before)) * tc)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_terminal_entry. tb = ff_q_efrd_fubini_row_split_extend_before_entry_terminal_entry * S ((S (efrd_row_index_fubini_row_split_extend_before)) * tc) + (efrd_terminal_bit_fubini_row_split_extend_before)))) /\ (exists efrd_row_code_fubini_row_split_extend_before_entry_split efrd_row_scale_fubini_row_split_extend_before_entry_split. (((((forall eri_column_efrd_fubini_row_split_extend_before_entry_split_successor_prefix. (exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_bound. eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_before_entry_split_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_extend_before_entry_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_before_entry_split_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_before_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_before_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_decoded. efrd_row_code_fubini_row_split_extend_before_entry_split = ff_q_eri_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_before_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_before_entry_split) + (eri_bit_efrd_fubini_row_split_extend_before_entry_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_before_entry_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_extend_before) = p * S eri_column_efrd_fubini_row_split_extend_before_entry_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_before_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_extend_before))) \/ (eri_bit_efrd_fubini_row_split_extend_before_entry_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_before_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_extend_before) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_before_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_extend_before) = p * S eri_column_efrd_fubini_row_split_extend_before_entry_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum ff_v_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_start. ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_start. ff_u_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_terminal + S (efrd_count_fubini_row_split_extend_before) = S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum) + (efrd_count_fubini_row_split_extend_before))) /\ forall ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum ff_r_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum ff_s_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_summand. ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_before_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_summand. efrd_row_code_fubini_row_split_extend_before_entry_split = ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_before_entry_split) + (ff_a_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_partial. ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_partial. ff_u_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum) + (ff_r_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_successor. ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_successor. ff_u_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum) + (ff_s_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum = ff_r_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum + ff_a_efrd_fubini_row_split_extend_before_entry_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_before_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits_decoded. efrd_row_code_fubini_row_split_extend_before_entry_split = ff_q_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_before_entry_split) + (ff_bit_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_before_entry_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_before_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_decoded. efrd_row_code_fubini_row_split_extend_before_entry_split = ff_q_eri_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_before_entry_split) + (eri_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_extend_before) = p * S eri_column_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_extend_before))) \/ (eri_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_extend_before) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_extend_before) = p * S eri_column_efrd_fubini_row_split_extend_before_entry_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_terminal_entry. ff_h_efrd_fubini_row_split_extend_before_entry_split_terminal_entry + S (efrd_terminal_bit_fubini_row_split_extend_before) = S ((S (h)) * efrd_row_scale_fubini_row_split_extend_before_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_terminal_entry. efrd_row_code_fubini_row_split_extend_before_entry_split = ff_q_efrd_fubini_row_split_extend_before_entry_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_extend_before_entry_split) + (efrd_terminal_bit_fubini_row_split_extend_before))))) /\ (((((exists ff_u_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum ff_v_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_start. ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_start. ff_u_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_terminal + S (efrd_reduced_count_fubini_row_split_extend_before) = S ((S (h)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum) + (efrd_reduced_count_fubini_row_split_extend_before))) /\ forall ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum ff_r_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum ff_s_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_before_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_summand. efrd_row_code_fubini_row_split_extend_before_entry_split = ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_before_entry_split) + (ff_a_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum) + (ff_r_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum) + (ff_s_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum = ff_r_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum + ff_a_efrd_fubini_row_split_extend_before_entry_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_before_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_extend_before_entry_split = ff_q_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_before_entry_split) + (ff_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_before_entry_split_reduced_count_bits = 1))))) /\ (efrd_terminal_bit_fubini_row_split_extend_before = 0 \/ efrd_terminal_bit_fubini_row_split_extend_before = 1)) /\ efrd_count_fubini_row_split_extend_before = efrd_reduced_count_fubini_row_split_extend_before + efrd_terminal_bit_fubini_row_split_extend_before))))))) -> (exists n r a. ((((exists ff_h_fubini_row_split_extend_last_source. ff_h_fubini_row_split_extend_last_source + S (n) = S ((S (l)) * bc)) /\ exists ff_q_fubini_row_split_extend_last_source. bb = ff_q_fubini_row_split_extend_last_source * S ((S (l)) * bc) + (n))) /\ (exists efrd_row_code_fubini_row_split_extend_last_witness efrd_row_scale_fubini_row_split_extend_last_witness. (((((forall eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix. (exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_bound. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_last_witness_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_last_witness_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_last_witness_successor_prefix_decoded. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_eri_efrd_fubini_row_split_extend_last_witness_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_left + S (q * S l) = p * S eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix) = q * S l))) \/ (eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix) = q * S l) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_left + S (q * S l) = p * S eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_start. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_start. ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_terminal + S (n) = S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum) + (n))) /\ forall ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_last_witness_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_last_witness_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_extend_last_witness_successor_count_sum ff_r_efrd_fubini_row_split_extend_last_witness_successor_count_sum ff_s_efrd_fubini_row_split_extend_last_witness_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_summand. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_last_witness_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_summand. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (ff_a_efrd_fubini_row_split_extend_last_witness_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_partial. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_last_witness_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_partial. ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum) + (ff_r_efrd_fubini_row_split_extend_last_witness_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_successor. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_last_witness_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_successor. ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum) + (ff_s_efrd_fubini_row_split_extend_last_witness_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_r_efrd_fubini_row_split_extend_last_witness_successor_count_sum + ff_a_efrd_fubini_row_split_extend_last_witness_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_last_witness_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_last_witness_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_bits_decoded. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_last_witness_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_last_witness_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_last_witness_reduced_prefix_decoded. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_eri_efrd_fubini_row_split_extend_last_witness_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_left + S (q * S l) = p * S eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix) = q * S l))) \/ (eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix) = q * S l) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_left + S (q * S l) = p * S eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_extend_last_witness_terminal_entry. ff_h_efrd_fubini_row_split_extend_last_witness_terminal_entry + S (a) = S ((S (h)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_terminal_entry. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (a))))) /\ (((((exists ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_start. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_start. ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_terminal + S (r) = S ((S (h)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) + (r))) /\ forall ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_extend_last_witness_reduced_count_sum ff_r_efrd_fubini_row_split_extend_last_witness_reduced_count_sum ff_s_efrd_fubini_row_split_extend_last_witness_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_summand. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (ff_a_efrd_fubini_row_split_extend_last_witness_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) + (ff_r_efrd_fubini_row_split_extend_last_witness_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) + (ff_s_efrd_fubini_row_split_extend_last_witness_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_r_efrd_fubini_row_split_extend_last_witness_reduced_count_sum + ff_a_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits = 1))))) /\ (a = 0 \/ a = 1)) /\ n = r + a)))))) -> exists eb ec ub uc. (forall efrd_row_index_fubini_row_split_extend_after. (exists efrd_lt_gap_fubini_row_split_extend_after_bound. efrd_lt_gap_fubini_row_split_extend_after_bound + S (efrd_row_index_fubini_row_split_extend_after) = S l) -> exists efrd_count_fubini_row_split_extend_after efrd_reduced_count_fubini_row_split_extend_after efrd_terminal_bit_fubini_row_split_extend_after. (((((((exists ff_h_efrd_fubini_row_split_extend_after_entry_outer_entry. ff_h_efrd_fubini_row_split_extend_after_entry_outer_entry + S (efrd_count_fubini_row_split_extend_after) = S ((S (efrd_row_index_fubini_row_split_extend_after)) * bc)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_outer_entry. bb = ff_q_efrd_fubini_row_split_extend_after_entry_outer_entry * S ((S (efrd_row_index_fubini_row_split_extend_after)) * bc) + (efrd_count_fubini_row_split_extend_after))) /\ (((exists ff_h_efrd_fubini_row_split_extend_after_entry_reduced_entry. ff_h_efrd_fubini_row_split_extend_after_entry_reduced_entry + S (efrd_reduced_count_fubini_row_split_extend_after) = S ((S (efrd_row_index_fubini_row_split_extend_after)) * ec)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_reduced_entry. eb = ff_q_efrd_fubini_row_split_extend_after_entry_reduced_entry * S ((S (efrd_row_index_fubini_row_split_extend_after)) * ec) + (efrd_reduced_count_fubini_row_split_extend_after)))) /\ (((exists ff_h_efrd_fubini_row_split_extend_after_entry_terminal_entry. ff_h_efrd_fubini_row_split_extend_after_entry_terminal_entry + S (efrd_terminal_bit_fubini_row_split_extend_after) = S ((S (efrd_row_index_fubini_row_split_extend_after)) * uc)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_terminal_entry. ub = ff_q_efrd_fubini_row_split_extend_after_entry_terminal_entry * S ((S (efrd_row_index_fubini_row_split_extend_after)) * uc) + (efrd_terminal_bit_fubini_row_split_extend_after)))) /\ (exists efrd_row_code_fubini_row_split_extend_after_entry_split efrd_row_scale_fubini_row_split_extend_after_entry_split. (((((forall eri_column_efrd_fubini_row_split_extend_after_entry_split_successor_prefix. (exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_bound. eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_after_entry_split_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_extend_after_entry_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_after_entry_split_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_after_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_after_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_decoded. efrd_row_code_fubini_row_split_extend_after_entry_split = ff_q_eri_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_after_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_after_entry_split) + (eri_bit_efrd_fubini_row_split_extend_after_entry_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_after_entry_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_extend_after) = p * S eri_column_efrd_fubini_row_split_extend_after_entry_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_after_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_extend_after))) \/ (eri_bit_efrd_fubini_row_split_extend_after_entry_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_after_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_extend_after) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_after_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_extend_after) = p * S eri_column_efrd_fubini_row_split_extend_after_entry_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum ff_v_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_start. ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_start. ff_u_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_terminal + S (efrd_count_fubini_row_split_extend_after) = S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum) + (efrd_count_fubini_row_split_extend_after))) /\ forall ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum ff_r_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum ff_s_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_summand. ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_after_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_summand. efrd_row_code_fubini_row_split_extend_after_entry_split = ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_after_entry_split) + (ff_a_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_partial. ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_partial. ff_u_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum) + (ff_r_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_successor. ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_successor. ff_u_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum) + (ff_s_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum = ff_r_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum + ff_a_efrd_fubini_row_split_extend_after_entry_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_after_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits_decoded. efrd_row_code_fubini_row_split_extend_after_entry_split = ff_q_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_after_entry_split) + (ff_bit_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_after_entry_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_after_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_decoded. efrd_row_code_fubini_row_split_extend_after_entry_split = ff_q_eri_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_after_entry_split) + (eri_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_extend_after) = p * S eri_column_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_extend_after))) \/ (eri_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_extend_after) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_extend_after) = p * S eri_column_efrd_fubini_row_split_extend_after_entry_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_terminal_entry. ff_h_efrd_fubini_row_split_extend_after_entry_split_terminal_entry + S (efrd_terminal_bit_fubini_row_split_extend_after) = S ((S (h)) * efrd_row_scale_fubini_row_split_extend_after_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_terminal_entry. efrd_row_code_fubini_row_split_extend_after_entry_split = ff_q_efrd_fubini_row_split_extend_after_entry_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_extend_after_entry_split) + (efrd_terminal_bit_fubini_row_split_extend_after))))) /\ (((((exists ff_u_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum ff_v_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_start. ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_start. ff_u_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_terminal + S (efrd_reduced_count_fubini_row_split_extend_after) = S ((S (h)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum) + (efrd_reduced_count_fubini_row_split_extend_after))) /\ forall ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum ff_r_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum ff_s_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_after_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_summand. efrd_row_code_fubini_row_split_extend_after_entry_split = ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_after_entry_split) + (ff_a_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum) + (ff_r_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum) + (ff_s_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum = ff_r_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum + ff_a_efrd_fubini_row_split_extend_after_entry_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_after_entry_split)) /\ exists ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_extend_after_entry_split = ff_q_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_after_entry_split) + (ff_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_after_entry_split_reduced_count_bits = 1))))) /\ (efrd_terminal_bit_fubini_row_split_extend_after = 0 \/ efrd_terminal_bit_fubini_row_split_extend_after = 1)) /\ efrd_count_fubini_row_split_extend_after = efrd_reduced_count_fubini_row_split_extend_after + efrd_terminal_bit_fubini_row_split_extend_after)))))))

Structural proof guide

Generated structural guide

Append aligned reduced-count and terminal-bit entries while preserving complete row provenance.

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

The proof proceeds by case analysis (17), intermediate claims (4), equality transport (14).

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-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.

Read the argument

Proof checkpoints

99 script commands · 27 reading checkpoints · 4 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.

Named ingredients (2)

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–10

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

  1. L1
    intro p
  2. L2
    intro q
  3. L3
    intro h
  4. L4
    intro sh
  5. L5
    intro bb
  6. L6
    intro bc
  7. L7
    intro db
  8. L8
    intro dc
  9. L9
    intro tb
  10. L10
    intro tc
02Fix variables and assumptionsL11–13

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

  1. L11
    intro l
  2. L12
    intro hprefix
  3. L13
    intro hlast
03Separate the logical casesL14–17

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

  1. L14
    cases hlast
  2. L15
    cases hlast_witness
  3. L16
    cases hlast_witness_witness
  4. L17
    cases hlast_witness_witness_witness
04Establish hreduced_extensionL18–23

Establish this local claim before using it. It is not an additional assumption.

  1. L18
    have hreduced_extension : ∃ eb. ∃ ec. BetaAt(eb,ec,l,x1) ∧ (∀ x. ∀ y. Lt(x,l) → BetaAt(db,dc,x,y) → BetaAt(eb,ec,x,y))Definitions: LtBetaAt
  2. L19
    specialize beta_prefix_extend l
  3. L20
    specialize beta_prefix_extend db
  4. L21
    specialize beta_prefix_extend dc
  5. L22
    specialize beta_prefix_extend x1
  6. L23
    exact beta_prefix_extend
05Separate the logical casesL24–26

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

  1. L24
    cases hreduced_extension
  2. L25
    cases hreduced_extension_witness
  3. L26
    cases hreduced_extension_witness_witness
06Establish hterminal_extensionL27–32

Establish this local claim before using it. It is not an additional assumption.

  1. L27
    have hterminal_extension : ∃ ub. ∃ uc. BetaAt(ub,uc,l,x2) ∧ (∀ x. ∀ y. Lt(x,l) → BetaAt(tb,tc,x,y) → BetaAt(ub,uc,x,y))Definitions: LtBetaAt
  2. L28
    specialize beta_prefix_extend l
  3. L29
    specialize beta_prefix_extend tb
  4. L30
    specialize beta_prefix_extend tc
  5. L31
    specialize beta_prefix_extend x2
  6. L32
    exact beta_prefix_extend
07Separate the logical casesL33–35

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

  1. L33
    cases hterminal_extension
  2. L34
    cases hterminal_extension_witness
  3. L35
    cases hterminal_extension_witness_witness
08Construct an explicit witnessL36–39

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

  1. L36
    exists x3
  2. L37
    exists x4
  3. L38
    exists x5
  4. L39
    exists x6
09Fix variables and assumptionsL40–41

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

  1. L40
    intro i
  2. L41
    intro hi
10Establish hpositionL42–46

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.

  1. L42
    have hposition : i = l \/ exists gap. gap + S i = l
  2. L43
    specialize finite_lt_succ_eq_or_lt l
  3. L44
    specialize finite_lt_succ_eq_or_lt i
  4. L45
    apply finite_lt_succ_eq_or_lt
  5. L46
    exact hi
11Separate the logical casesL47–47

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

  1. L47
    cases hposition
12Construct an explicit witnessL48–50

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

  1. L48
    exists x
  2. L49
    exists x1
  3. L50
    exists x2
13Separate the logical casesL51–53

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

  1. L51
    split
  2. L52
    split
  3. L53
    split
14Calculate and transport equalitiesL54–55

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L54
    rewrite hposition_left
  2. L55
    rewrite hposition_left
15Use earlier factsL56–56

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

  1. L56
    exact hlast_witness_witness_witness_left
16Calculate and transport equalitiesL57–58

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L57
    rewrite hposition_left
  2. L58
    rewrite hposition_left
17Use earlier factsL59–59

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

  1. L59
    exact hreduced_extension_witness_witness_left
18Calculate and transport equalitiesL60–61

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L60
    rewrite hposition_left
  2. L61
    rewrite hposition_left
19Use earlier factsL62–62

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

  1. L62
    exact hterminal_extension_witness_witness_left
20Calculate and transport equalitiesL63–70

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L63
    rewrite hposition_left
  2. L64
    rewrite hposition_left
  3. L65
    rewrite hposition_left
  4. L66
    rewrite hposition_left
  5. L67
    rewrite hposition_left
  6. L68
    rewrite hposition_left
  7. L69
    rewrite hposition_left
  8. L70
    rewrite hposition_left
21Use earlier factsL71–71

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

  1. L71
    exact hlast_witness_witness_witness_right
22Establish holdL72–75

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.

  1. L72
    have hold : ∃ oldn. ∃ oldr. ∃ olda. BetaAt(bb,bc,i,oldn) ∧ BetaAt(db,dc,i,oldr) ∧ BetaAt(tb,tc,i,olda) ∧ (∃ x. ∃ y. (∀ z. Lt(z,sh) → ∃ n. BetaAt(x,y,z,n) ∧ (n = 0 ∧ (Lt(q · S i,p · S z) ∧ ¬Lt(p · S z,q · S i)) ∨ n = 1 ∧ (Lt(p · S z,q · S i) ∧ ¬Lt(q · S i,p · S z)))) ∧ BitCount(x,y,sh,oldn) ∧ ((∀ z. Lt(z,h) → ∃ n. BetaAt(x,y,z,n) ∧ (n = 0 ∧ (Lt(q · S i,p · S z) ∧ ¬Lt(p · S z,q · S i)) ∨ n = 1 ∧ (Lt(p · S z,q · S i) ∧ ¬Lt(q · S i,p · S z)))) ∧ BetaAt(x,y,h,olda)) ∧ (BitCount(x,y,h,oldr) ∧ (olda = 0 ∨ olda = 1) ∧ oldn = oldr + olda))Definitions: LtBetaAtBitCount
  2. L73
    specialize hprefix i
  3. L74
    apply hprefix
  4. L75
    exact hposition_right
23Separate the logical casesL76–81

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

  1. L76
    cases hold
  2. L77
    cases hold_witness
  3. L78
    cases hold_witness_witness
  4. L79
    cases hold_witness_witness_witness
  5. L80
    cases hold_witness_witness_witness_left
  6. L81
    cases hold_witness_witness_witness_left_left
24Construct an explicit witnessL82–84

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

  1. L82
    exists x7
  2. L83
    exists x8
  3. L84
    exists x9
25Separate the logical casesL85–87

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

  1. L85
    split
  2. L86
    split
  3. L87
    split
26Use earlier factsL88–97

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

  1. L88
    exact hold_witness_witness_witness_left_left_left
  2. L89
    specialize hreduced_extension_witness_witness_right i
  3. L90
    specialize hreduced_extension_witness_witness_right x8
  4. L91
    apply hreduced_extension_witness_witness_right
  5. L92
    exact hposition_right
  6. L93
    exact hold_witness_witness_witness_left_left_right
  7. L94
    specialize hterminal_extension_witness_witness_right i
  8. L95
    specialize hterminal_extension_witness_witness_right x9
  9. L96
    apply hterminal_extension_witness_witness_right
  10. L97
    exact hposition_right
27Use earlier factsL98–99

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

  1. L98
    exact hold_witness_witness_witness_left_right
  2. L99
    exact hold_witness_witness_witness_right

Library-wide reading audit

Original exact command ledger · 99 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro h
  4. 0004intro sh
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro db
  8. 0008intro dc
  9. 0009intro tb
  10. 0010intro tc
  11. 0011intro l
  12. 0012intro hprefix
  13. 0013intro hlast
  14. 0014cases hlast
  15. 0015cases hlast_witness
  16. 0016cases hlast_witness_witness
  17. 0017cases hlast_witness_witness_witness
  18. 0018have hreduced_extension : exists eb ec. ((((exists ff_h_fubini_row_split_extend_reduced_last. ff_h_fubini_row_split_extend_reduced_last + S (x1) = S ((S (l)) * ec)) /\ exists ff_q_fubini_row_split_extend_reduced_last. eb = ff_q_fubini_row_split_extend_reduced_last * S ((S (l)) * ec) + (x1))) /\ forall i value. (exists gap. gap + S i = l) -> (((exists ff_h_fubini_row_split_extend_reduced_old. ff_h_fubini_row_split_extend_reduced_old + S (value) = S ((S (i)) * dc)) /\ exists ff_q_fubini_row_split_extend_reduced_old. db = ff_q_fubini_row_split_extend_reduced_old * S ((S (i)) * dc) + (value))) -> (((exists ff_h_fubini_row_split_extend_reduced_new. ff_h_fubini_row_split_extend_reduced_new + S (value) = S ((S (i)) * ec)) /\ exists ff_q_fubini_row_split_extend_reduced_new. eb = ff_q_fubini_row_split_extend_reduced_new * S ((S (i)) * ec) + (value))))
  19. 0019specialize beta_prefix_extend l
  20. 0020specialize beta_prefix_extend db
  21. 0021specialize beta_prefix_extend dc
  22. 0022specialize beta_prefix_extend x1
  23. 0023exact beta_prefix_extend
  24. 0024cases hreduced_extension
  25. 0025cases hreduced_extension_witness
  26. 0026cases hreduced_extension_witness_witness
  27. 0027have hterminal_extension : exists ub uc. ((((exists ff_h_fubini_row_split_extend_terminal_last. ff_h_fubini_row_split_extend_terminal_last + S (x2) = S ((S (l)) * uc)) /\ exists ff_q_fubini_row_split_extend_terminal_last. ub = ff_q_fubini_row_split_extend_terminal_last * S ((S (l)) * uc) + (x2))) /\ forall i value. (exists gap. gap + S i = l) -> (((exists ff_h_fubini_row_split_extend_terminal_old. ff_h_fubini_row_split_extend_terminal_old + S (value) = S ((S (i)) * tc)) /\ exists ff_q_fubini_row_split_extend_terminal_old. tb = ff_q_fubini_row_split_extend_terminal_old * S ((S (i)) * tc) + (value))) -> (((exists ff_h_fubini_row_split_extend_terminal_new. ff_h_fubini_row_split_extend_terminal_new + S (value) = S ((S (i)) * uc)) /\ exists ff_q_fubini_row_split_extend_terminal_new. ub = ff_q_fubini_row_split_extend_terminal_new * S ((S (i)) * uc) + (value))))
  28. 0028specialize beta_prefix_extend l
  29. 0029specialize beta_prefix_extend tb
  30. 0030specialize beta_prefix_extend tc
  31. 0031specialize beta_prefix_extend x2
  32. 0032exact beta_prefix_extend
  33. 0033cases hterminal_extension
  34. 0034cases hterminal_extension_witness
  35. 0035cases hterminal_extension_witness_witness
  36. 0036exists x3
  37. 0037exists x4
  38. 0038exists x5
  39. 0039exists x6
  40. 0040intro i
  41. 0041intro hi
  42. 0042have hposition : i = l \/ exists gap. gap + S i = l
  43. 0043specialize finite_lt_succ_eq_or_lt l
  44. 0044specialize finite_lt_succ_eq_or_lt i
  45. 0045apply finite_lt_succ_eq_or_lt
  46. 0046exact hi
  47. 0047cases hposition
  48. 0048exists x
  49. 0049exists x1
  50. 0050exists x2
  51. 0051split
  52. 0052split
  53. 0053split
  54. 0054rewrite hposition_left
  55. 0055rewrite hposition_left
  56. 0056exact hlast_witness_witness_witness_left
  57. 0057rewrite hposition_left
  58. 0058rewrite hposition_left
  59. 0059exact hreduced_extension_witness_witness_left
  60. 0060rewrite hposition_left
  61. 0061rewrite hposition_left
  62. 0062exact hterminal_extension_witness_witness_left
  63. 0063rewrite hposition_left
  64. 0064rewrite hposition_left
  65. 0065rewrite hposition_left
  66. 0066rewrite hposition_left
  67. 0067rewrite hposition_left
  68. 0068rewrite hposition_left
  69. 0069rewrite hposition_left
  70. 0070rewrite hposition_left
  71. 0071exact hlast_witness_witness_witness_right
  72. 0072have hold : exists oldn oldr olda. (((((((exists ff_h_efrd_fubini_row_split_extend_old_package_outer_entry. ff_h_efrd_fubini_row_split_extend_old_package_outer_entry + S (oldn) = S ((S (i)) * bc)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_outer_entry. bb = ff_q_efrd_fubini_row_split_extend_old_package_outer_entry * S ((S (i)) * bc) + (oldn))) /\ (((exists ff_h_efrd_fubini_row_split_extend_old_package_reduced_entry. ff_h_efrd_fubini_row_split_extend_old_package_reduced_entry + S (oldr) = S ((S (i)) * dc)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_reduced_entry. db = ff_q_efrd_fubini_row_split_extend_old_package_reduced_entry * S ((S (i)) * dc) + (oldr)))) /\ (((exists ff_h_efrd_fubini_row_split_extend_old_package_terminal_entry. ff_h_efrd_fubini_row_split_extend_old_package_terminal_entry + S (olda) = S ((S (i)) * tc)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_terminal_entry. tb = ff_q_efrd_fubini_row_split_extend_old_package_terminal_entry * S ((S (i)) * tc) + (olda)))) /\ (exists efrd_row_code_fubini_row_split_extend_old_package_split efrd_row_scale_fubini_row_split_extend_old_package_split. (((((forall eri_column_efrd_fubini_row_split_extend_old_package_split_successor_prefix. (exists eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_bound. eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_old_package_split_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_extend_old_package_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_old_package_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_old_package_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_old_package_split_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_old_package_split_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_old_package_split)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_old_package_split_successor_prefix_decoded. efrd_row_code_fubini_row_split_extend_old_package_split = ff_q_eri_efrd_fubini_row_split_extend_old_package_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_old_package_split_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_old_package_split) + (eri_bit_efrd_fubini_row_split_extend_old_package_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_old_package_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_choice_left + S (q * S i) = p * S eri_column_efrd_fubini_row_split_extend_old_package_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_old_package_split_successor_prefix) = q * S i))) \/ (eri_bit_efrd_fubini_row_split_extend_old_package_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_old_package_split_successor_prefix) = q * S i) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_old_package_split_successor_prefix_choice_left + S (q * S i) = p * S eri_column_efrd_fubini_row_split_extend_old_package_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_extend_old_package_split_successor_count_sum ff_v_efrd_fubini_row_split_extend_old_package_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_start. ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_start. ff_u_efrd_fubini_row_split_extend_old_package_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_old_package_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_terminal + S (oldn) = S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_old_package_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_old_package_split_successor_count_sum) + (oldn))) /\ forall ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_extend_old_package_split_successor_count_sum ff_r_efrd_fubini_row_split_extend_old_package_split_successor_count_sum ff_s_efrd_fubini_row_split_extend_old_package_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_summand. ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_old_package_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_old_package_split)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_summand. efrd_row_code_fubini_row_split_extend_old_package_split = ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_old_package_split) + (ff_a_efrd_fubini_row_split_extend_old_package_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_partial. ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_old_package_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_partial. ff_u_efrd_fubini_row_split_extend_old_package_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_old_package_split_successor_count_sum) + (ff_r_efrd_fubini_row_split_extend_old_package_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_successor. ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_old_package_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_successor. ff_u_efrd_fubini_row_split_extend_old_package_split_successor_count_sum = ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_old_package_split_successor_count_sum) + (ff_s_efrd_fubini_row_split_extend_old_package_split_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_old_package_split_successor_count_sum = ff_r_efrd_fubini_row_split_extend_old_package_split_successor_count_sum + ff_a_efrd_fubini_row_split_extend_old_package_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_old_package_split_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_old_package_split_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_extend_old_package_split_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_old_package_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_old_package_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_old_package_split)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_bits_decoded. efrd_row_code_fubini_row_split_extend_old_package_split = ff_q_efrd_fubini_row_split_extend_old_package_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_old_package_split) + (ff_bit_efrd_fubini_row_split_extend_old_package_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_old_package_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_old_package_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_extend_old_package_split_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_old_package_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_extend_old_package_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_old_package_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_old_package_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_old_package_split)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_decoded. efrd_row_code_fubini_row_split_extend_old_package_split = ff_q_eri_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_old_package_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_old_package_split) + (eri_bit_efrd_fubini_row_split_extend_old_package_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_old_package_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_choice_left + S (q * S i) = p * S eri_column_efrd_fubini_row_split_extend_old_package_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_old_package_split_reduced_prefix) = q * S i))) \/ (eri_bit_efrd_fubini_row_split_extend_old_package_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_old_package_split_reduced_prefix) = q * S i) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_old_package_split_reduced_prefix_choice_left + S (q * S i) = p * S eri_column_efrd_fubini_row_split_extend_old_package_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_extend_old_package_split_terminal_entry. ff_h_efrd_fubini_row_split_extend_old_package_split_terminal_entry + S (olda) = S ((S (h)) * efrd_row_scale_fubini_row_split_extend_old_package_split)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_terminal_entry. efrd_row_code_fubini_row_split_extend_old_package_split = ff_q_efrd_fubini_row_split_extend_old_package_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_extend_old_package_split) + (olda))))) /\ (((((exists ff_u_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum ff_v_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_start. ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_start. ff_u_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_terminal + S (oldr) = S ((S (h)) * ff_v_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum) + (oldr))) /\ forall ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum ff_r_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum ff_s_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_old_package_split)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_summand. efrd_row_code_fubini_row_split_extend_old_package_split = ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_old_package_split) + (ff_a_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum) + (ff_r_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum) + (ff_s_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum = ff_r_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum + ff_a_efrd_fubini_row_split_extend_old_package_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_old_package_split)) /\ exists ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_extend_old_package_split = ff_q_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_old_package_split) + (ff_bit_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_old_package_split_reduced_count_bits = 1))))) /\ (olda = 0 \/ olda = 1)) /\ oldn = oldr + olda))))))
  73. 0073specialize hprefix i
  74. 0074apply hprefix
  75. 0075exact hposition_right
  76. 0076cases hold
  77. 0077cases hold_witness
  78. 0078cases hold_witness_witness
  79. 0079cases hold_witness_witness_witness
  80. 0080cases hold_witness_witness_witness_left
  81. 0081cases hold_witness_witness_witness_left_left
  82. 0082exists x7
  83. 0083exists x8
  84. 0084exists x9
  85. 0085split
  86. 0086split
  87. 0087split
  88. 0088exact hold_witness_witness_witness_left_left_left
  89. 0089specialize hreduced_extension_witness_witness_right i
  90. 0090specialize hreduced_extension_witness_witness_right x8
  91. 0091apply hreduced_extension_witness_witness_right
  92. 0092exact hposition_right
  93. 0093exact hold_witness_witness_witness_left_left_right
  94. 0094specialize hterminal_extension_witness_witness_right i
  95. 0095specialize hterminal_extension_witness_witness_right x9
  96. 0096apply hterminal_extension_witness_witness_right
  97. 0097exact hposition_right
  98. 0098exact hold_witness_witness_witness_left_right
  99. 0099exact hold_witness_witness_witness_right