PA00F7

eisenstein_fubini_column_count_witness_retarget

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

Rebuild a counted column over another semantic outer code without changing its count.

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 hs ht bs cs bt ct i k n. (forall erc_row_fubini_total_retarget_outer. (exists erc_lt_gap_fubini_total_retarget_outer_bound. erc_lt_gap_fubini_total_retarget_outer_bound + S (erc_row_fubini_total_retarget_outer) = k) -> exists erc_count_fubini_total_retarget_outer. ((((exists ff_h_erc_fubini_total_retarget_outer_decoded. ff_h_erc_fubini_total_retarget_outer_decoded + S (erc_count_fubini_total_retarget_outer) = S ((S (erc_row_fubini_total_retarget_outer)) * ct)) /\ exists ff_q_erc_fubini_total_retarget_outer_decoded. bt = ff_q_erc_fubini_total_retarget_outer_decoded * S ((S (erc_row_fubini_total_retarget_outer)) * ct) + (erc_count_fubini_total_retarget_outer))) /\ (exists erc_row_code_fubini_total_retarget_outer_witness erc_row_scale_fubini_total_retarget_outer_witness. ((forall eri_column_erc_fubini_total_retarget_outer_witness_row. (exists eri_gap_erc_fubini_total_retarget_outer_witness_row_bound. eri_gap_erc_fubini_total_retarget_outer_witness_row_bound + S (eri_column_erc_fubini_total_retarget_outer_witness_row) = ht) -> exists eri_bit_erc_fubini_total_retarget_outer_witness_row. ((((exists ff_h_eri_erc_fubini_total_retarget_outer_witness_row_decoded. ff_h_eri_erc_fubini_total_retarget_outer_witness_row_decoded + S (eri_bit_erc_fubini_total_retarget_outer_witness_row) = S ((S (eri_column_erc_fubini_total_retarget_outer_witness_row)) * erc_row_scale_fubini_total_retarget_outer_witness)) /\ exists ff_q_eri_erc_fubini_total_retarget_outer_witness_row_decoded. erc_row_code_fubini_total_retarget_outer_witness = ff_q_eri_erc_fubini_total_retarget_outer_witness_row_decoded * S ((S (eri_column_erc_fubini_total_retarget_outer_witness_row)) * erc_row_scale_fubini_total_retarget_outer_witness) + (eri_bit_erc_fubini_total_retarget_outer_witness_row))) /\ (((eri_bit_erc_fubini_total_retarget_outer_witness_row = 0 /\ ((exists eri_gap_erc_fubini_total_retarget_outer_witness_row_choice_left. eri_gap_erc_fubini_total_retarget_outer_witness_row_choice_left + S (p * S erc_row_fubini_total_retarget_outer) = q * S eri_column_erc_fubini_total_retarget_outer_witness_row) /\ ~(exists eri_gap_erc_fubini_total_retarget_outer_witness_row_choice_right. eri_gap_erc_fubini_total_retarget_outer_witness_row_choice_right + S (q * S eri_column_erc_fubini_total_retarget_outer_witness_row) = p * S erc_row_fubini_total_retarget_outer))) \/ (eri_bit_erc_fubini_total_retarget_outer_witness_row = 1 /\ ((exists eri_gap_erc_fubini_total_retarget_outer_witness_row_choice_right. eri_gap_erc_fubini_total_retarget_outer_witness_row_choice_right + S (q * S eri_column_erc_fubini_total_retarget_outer_witness_row) = p * S erc_row_fubini_total_retarget_outer) /\ ~(exists eri_gap_erc_fubini_total_retarget_outer_witness_row_choice_left. eri_gap_erc_fubini_total_retarget_outer_witness_row_choice_left + S (p * S erc_row_fubini_total_retarget_outer) = q * S eri_column_erc_fubini_total_retarget_outer_witness_row))))))) /\ (((exists ff_u_erc_fubini_total_retarget_outer_witness_count_sum ff_v_erc_fubini_total_retarget_outer_witness_count_sum. ((((exists ff_h_erc_fubini_total_retarget_outer_witness_count_sum_start. ff_h_erc_fubini_total_retarget_outer_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_fubini_total_retarget_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_retarget_outer_witness_count_sum_start. ff_u_erc_fubini_total_retarget_outer_witness_count_sum = ff_q_erc_fubini_total_retarget_outer_witness_count_sum_start * S ((S (0)) * ff_v_erc_fubini_total_retarget_outer_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_fubini_total_retarget_outer_witness_count_sum_terminal. ff_h_erc_fubini_total_retarget_outer_witness_count_sum_terminal + S (erc_count_fubini_total_retarget_outer) = S ((S (ht)) * ff_v_erc_fubini_total_retarget_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_retarget_outer_witness_count_sum_terminal. ff_u_erc_fubini_total_retarget_outer_witness_count_sum = ff_q_erc_fubini_total_retarget_outer_witness_count_sum_terminal * S ((S (ht)) * ff_v_erc_fubini_total_retarget_outer_witness_count_sum) + (erc_count_fubini_total_retarget_outer))) /\ forall ff_i_erc_fubini_total_retarget_outer_witness_count_sum. (exists ff_lt_erc_fubini_total_retarget_outer_witness_count_sum_bound. ff_lt_erc_fubini_total_retarget_outer_witness_count_sum_bound + S ff_i_erc_fubini_total_retarget_outer_witness_count_sum = ht) -> exists ff_a_erc_fubini_total_retarget_outer_witness_count_sum ff_r_erc_fubini_total_retarget_outer_witness_count_sum ff_s_erc_fubini_total_retarget_outer_witness_count_sum. ((((exists ff_h_erc_fubini_total_retarget_outer_witness_count_sum_summand. ff_h_erc_fubini_total_retarget_outer_witness_count_sum_summand + S (ff_a_erc_fubini_total_retarget_outer_witness_count_sum) = S ((S (ff_i_erc_fubini_total_retarget_outer_witness_count_sum)) * erc_row_scale_fubini_total_retarget_outer_witness)) /\ exists ff_q_erc_fubini_total_retarget_outer_witness_count_sum_summand. erc_row_code_fubini_total_retarget_outer_witness = ff_q_erc_fubini_total_retarget_outer_witness_count_sum_summand * S ((S (ff_i_erc_fubini_total_retarget_outer_witness_count_sum)) * erc_row_scale_fubini_total_retarget_outer_witness) + (ff_a_erc_fubini_total_retarget_outer_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_total_retarget_outer_witness_count_sum_partial. ff_h_erc_fubini_total_retarget_outer_witness_count_sum_partial + S (ff_r_erc_fubini_total_retarget_outer_witness_count_sum) = S ((S (ff_i_erc_fubini_total_retarget_outer_witness_count_sum)) * ff_v_erc_fubini_total_retarget_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_retarget_outer_witness_count_sum_partial. ff_u_erc_fubini_total_retarget_outer_witness_count_sum = ff_q_erc_fubini_total_retarget_outer_witness_count_sum_partial * S ((S (ff_i_erc_fubini_total_retarget_outer_witness_count_sum)) * ff_v_erc_fubini_total_retarget_outer_witness_count_sum) + (ff_r_erc_fubini_total_retarget_outer_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_total_retarget_outer_witness_count_sum_successor. ff_h_erc_fubini_total_retarget_outer_witness_count_sum_successor + S (ff_s_erc_fubini_total_retarget_outer_witness_count_sum) = S ((S (S ff_i_erc_fubini_total_retarget_outer_witness_count_sum)) * ff_v_erc_fubini_total_retarget_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_retarget_outer_witness_count_sum_successor. ff_u_erc_fubini_total_retarget_outer_witness_count_sum = ff_q_erc_fubini_total_retarget_outer_witness_count_sum_successor * S ((S (S ff_i_erc_fubini_total_retarget_outer_witness_count_sum)) * ff_v_erc_fubini_total_retarget_outer_witness_count_sum) + (ff_s_erc_fubini_total_retarget_outer_witness_count_sum))) /\ ff_s_erc_fubini_total_retarget_outer_witness_count_sum = ff_r_erc_fubini_total_retarget_outer_witness_count_sum + ff_a_erc_fubini_total_retarget_outer_witness_count_sum)))))) /\ (forall ff_i_erc_fubini_total_retarget_outer_witness_count_bits. (exists ff_lt_erc_fubini_total_retarget_outer_witness_count_bits_bound. ff_lt_erc_fubini_total_retarget_outer_witness_count_bits_bound + S ff_i_erc_fubini_total_retarget_outer_witness_count_bits = ht) -> exists ff_bit_erc_fubini_total_retarget_outer_witness_count_bits. ((((exists ff_h_erc_fubini_total_retarget_outer_witness_count_bits_decoded. ff_h_erc_fubini_total_retarget_outer_witness_count_bits_decoded + S (ff_bit_erc_fubini_total_retarget_outer_witness_count_bits) = S ((S (ff_i_erc_fubini_total_retarget_outer_witness_count_bits)) * erc_row_scale_fubini_total_retarget_outer_witness)) /\ exists ff_q_erc_fubini_total_retarget_outer_witness_count_bits_decoded. erc_row_code_fubini_total_retarget_outer_witness = ff_q_erc_fubini_total_retarget_outer_witness_count_bits_decoded * S ((S (ff_i_erc_fubini_total_retarget_outer_witness_count_bits)) * erc_row_scale_fubini_total_retarget_outer_witness) + (ff_bit_erc_fubini_total_retarget_outer_witness_count_bits))) /\ (ff_bit_erc_fubini_total_retarget_outer_witness_count_bits = 0 \/ ff_bit_erc_fubini_total_retarget_outer_witness_count_bits = 1))))))))) -> (exists edt_lt_gap_fubini_total_source_fixed_bound. edt_lt_gap_fubini_total_source_fixed_bound + S (i) = hs) -> (exists edt_lt_gap_fubini_total_target_fixed_bound. edt_lt_gap_fubini_total_target_fixed_bound + S (i) = ht) -> (exists eft_column_code_fubini_total_retarget_source eft_column_scale_fubini_total_retarget_source. ((forall etc_row_index_eft_fubini_total_retarget_source_column. (exists edt_lt_gap_eft_fubini_total_retarget_source_column_bound. edt_lt_gap_eft_fubini_total_retarget_source_column_bound + S (etc_row_index_eft_fubini_total_retarget_source_column) = k) -> exists etc_bit_eft_fubini_total_retarget_source_column. ((((exists ff_h_etc_eft_fubini_total_retarget_source_column_decoded. ff_h_etc_eft_fubini_total_retarget_source_column_decoded + S (etc_bit_eft_fubini_total_retarget_source_column) = S ((S (etc_row_index_eft_fubini_total_retarget_source_column)) * eft_column_scale_fubini_total_retarget_source)) /\ exists ff_q_etc_eft_fubini_total_retarget_source_column_decoded. eft_column_code_fubini_total_retarget_source = ff_q_etc_eft_fubini_total_retarget_source_column_decoded * S ((S (etc_row_index_eft_fubini_total_retarget_source_column)) * eft_column_scale_fubini_total_retarget_source) + (etc_bit_eft_fubini_total_retarget_source_column))) /\ (exists etc_count_eft_fubini_total_retarget_source_column_witness etc_row_code_eft_fubini_total_retarget_source_column_witness etc_row_scale_eft_fubini_total_retarget_source_column_witness. ((((((exists ff_h_etc_eft_fubini_total_retarget_source_column_witness_outer_entry. ff_h_etc_eft_fubini_total_retarget_source_column_witness_outer_entry + S (etc_count_eft_fubini_total_retarget_source_column_witness) = S ((S (etc_row_index_eft_fubini_total_retarget_source_column)) * cs)) /\ exists ff_q_etc_eft_fubini_total_retarget_source_column_witness_outer_entry. bs = ff_q_etc_eft_fubini_total_retarget_source_column_witness_outer_entry * S ((S (etc_row_index_eft_fubini_total_retarget_source_column)) * cs) + (etc_count_eft_fubini_total_retarget_source_column_witness))) /\ (forall eri_column_etc_eft_fubini_total_retarget_source_column_witness_row. (exists eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_bound. eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_bound + S (eri_column_etc_eft_fubini_total_retarget_source_column_witness_row) = hs) -> exists eri_bit_etc_eft_fubini_total_retarget_source_column_witness_row. ((((exists ff_h_eri_etc_eft_fubini_total_retarget_source_column_witness_row_decoded. ff_h_eri_etc_eft_fubini_total_retarget_source_column_witness_row_decoded + S (eri_bit_etc_eft_fubini_total_retarget_source_column_witness_row) = S ((S (eri_column_etc_eft_fubini_total_retarget_source_column_witness_row)) * etc_row_scale_eft_fubini_total_retarget_source_column_witness)) /\ exists ff_q_eri_etc_eft_fubini_total_retarget_source_column_witness_row_decoded. etc_row_code_eft_fubini_total_retarget_source_column_witness = ff_q_eri_etc_eft_fubini_total_retarget_source_column_witness_row_decoded * S ((S (eri_column_etc_eft_fubini_total_retarget_source_column_witness_row)) * etc_row_scale_eft_fubini_total_retarget_source_column_witness) + (eri_bit_etc_eft_fubini_total_retarget_source_column_witness_row))) /\ (((eri_bit_etc_eft_fubini_total_retarget_source_column_witness_row = 0 /\ ((exists eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_retarget_source_column) = q * S eri_column_etc_eft_fubini_total_retarget_source_column_witness_row) /\ ~(exists eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_retarget_source_column_witness_row) = p * S etc_row_index_eft_fubini_total_retarget_source_column))) \/ (eri_bit_etc_eft_fubini_total_retarget_source_column_witness_row = 1 /\ ((exists eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_retarget_source_column_witness_row) = p * S etc_row_index_eft_fubini_total_retarget_source_column) /\ ~(exists eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_retarget_source_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_retarget_source_column) = q * S eri_column_etc_eft_fubini_total_retarget_source_column_witness_row)))))))) /\ (((exists ff_u_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum ff_v_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_start. ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_start. ff_u_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_terminal. ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_terminal + S (etc_count_eft_fubini_total_retarget_source_column_witness) = S ((S (hs)) * ff_v_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_terminal. ff_u_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_terminal * S ((S (hs)) * ff_v_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum) + (etc_count_eft_fubini_total_retarget_source_column_witness))) /\ forall ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum. (exists ff_lt_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_bound. ff_lt_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_bound + S ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum = hs) -> exists ff_a_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum ff_r_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum ff_s_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_summand. ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_summand + S (ff_a_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_retarget_source_column_witness)) /\ exists ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_summand. etc_row_code_eft_fubini_total_retarget_source_column_witness = ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_summand * S ((S (ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_retarget_source_column_witness) + (ff_a_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_partial. ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_partial + S (ff_r_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_partial. ff_u_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_partial * S ((S (ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum) + (ff_r_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_successor. ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_successor + S (ff_s_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum) = S ((S (S ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_successor. ff_u_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum_successor * S ((S (S ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum) + (ff_s_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum))) /\ ff_s_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum = ff_r_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum + ff_a_etc_eft_fubini_total_retarget_source_column_witness_count_relation_sum)))))) /\ (forall ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits. (exists ff_lt_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits_bound. ff_lt_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits_bound + S ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits = hs) -> exists ff_bit_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits. ((((exists ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits_decoded. ff_h_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits_decoded + S (ff_bit_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits) = S ((S (ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_retarget_source_column_witness)) /\ exists ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits_decoded. etc_row_code_eft_fubini_total_retarget_source_column_witness = ff_q_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits_decoded * S ((S (ff_i_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_retarget_source_column_witness) + (ff_bit_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits))) /\ (ff_bit_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits = 0 \/ ff_bit_etc_eft_fubini_total_retarget_source_column_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_eft_fubini_total_retarget_source_column_witness_inner_entry. ff_h_etc_eft_fubini_total_retarget_source_column_witness_inner_entry + S (etc_bit_eft_fubini_total_retarget_source_column) = S ((S (i)) * etc_row_scale_eft_fubini_total_retarget_source_column_witness)) /\ exists ff_q_etc_eft_fubini_total_retarget_source_column_witness_inner_entry. etc_row_code_eft_fubini_total_retarget_source_column_witness = ff_q_etc_eft_fubini_total_retarget_source_column_witness_inner_entry * S ((S (i)) * etc_row_scale_eft_fubini_total_retarget_source_column_witness) + (etc_bit_eft_fubini_total_retarget_source_column))))))) /\ (((exists ff_u_eft_fubini_total_retarget_source_count_sum ff_v_eft_fubini_total_retarget_source_count_sum. ((((exists ff_h_eft_fubini_total_retarget_source_count_sum_start. ff_h_eft_fubini_total_retarget_source_count_sum_start + S (0) = S ((S (0)) * ff_v_eft_fubini_total_retarget_source_count_sum)) /\ exists ff_q_eft_fubini_total_retarget_source_count_sum_start. ff_u_eft_fubini_total_retarget_source_count_sum = ff_q_eft_fubini_total_retarget_source_count_sum_start * S ((S (0)) * ff_v_eft_fubini_total_retarget_source_count_sum) + (0))) /\ ((((exists ff_h_eft_fubini_total_retarget_source_count_sum_terminal. ff_h_eft_fubini_total_retarget_source_count_sum_terminal + S (n) = S ((S (k)) * ff_v_eft_fubini_total_retarget_source_count_sum)) /\ exists ff_q_eft_fubini_total_retarget_source_count_sum_terminal. ff_u_eft_fubini_total_retarget_source_count_sum = ff_q_eft_fubini_total_retarget_source_count_sum_terminal * S ((S (k)) * ff_v_eft_fubini_total_retarget_source_count_sum) + (n))) /\ forall ff_i_eft_fubini_total_retarget_source_count_sum. (exists ff_lt_eft_fubini_total_retarget_source_count_sum_bound. ff_lt_eft_fubini_total_retarget_source_count_sum_bound + S ff_i_eft_fubini_total_retarget_source_count_sum = k) -> exists ff_a_eft_fubini_total_retarget_source_count_sum ff_r_eft_fubini_total_retarget_source_count_sum ff_s_eft_fubini_total_retarget_source_count_sum. ((((exists ff_h_eft_fubini_total_retarget_source_count_sum_summand. ff_h_eft_fubini_total_retarget_source_count_sum_summand + S (ff_a_eft_fubini_total_retarget_source_count_sum) = S ((S (ff_i_eft_fubini_total_retarget_source_count_sum)) * eft_column_scale_fubini_total_retarget_source)) /\ exists ff_q_eft_fubini_total_retarget_source_count_sum_summand. eft_column_code_fubini_total_retarget_source = ff_q_eft_fubini_total_retarget_source_count_sum_summand * S ((S (ff_i_eft_fubini_total_retarget_source_count_sum)) * eft_column_scale_fubini_total_retarget_source) + (ff_a_eft_fubini_total_retarget_source_count_sum))) /\ ((((exists ff_h_eft_fubini_total_retarget_source_count_sum_partial. ff_h_eft_fubini_total_retarget_source_count_sum_partial + S (ff_r_eft_fubini_total_retarget_source_count_sum) = S ((S (ff_i_eft_fubini_total_retarget_source_count_sum)) * ff_v_eft_fubini_total_retarget_source_count_sum)) /\ exists ff_q_eft_fubini_total_retarget_source_count_sum_partial. ff_u_eft_fubini_total_retarget_source_count_sum = ff_q_eft_fubini_total_retarget_source_count_sum_partial * S ((S (ff_i_eft_fubini_total_retarget_source_count_sum)) * ff_v_eft_fubini_total_retarget_source_count_sum) + (ff_r_eft_fubini_total_retarget_source_count_sum))) /\ ((((exists ff_h_eft_fubini_total_retarget_source_count_sum_successor. ff_h_eft_fubini_total_retarget_source_count_sum_successor + S (ff_s_eft_fubini_total_retarget_source_count_sum) = S ((S (S ff_i_eft_fubini_total_retarget_source_count_sum)) * ff_v_eft_fubini_total_retarget_source_count_sum)) /\ exists ff_q_eft_fubini_total_retarget_source_count_sum_successor. ff_u_eft_fubini_total_retarget_source_count_sum = ff_q_eft_fubini_total_retarget_source_count_sum_successor * S ((S (S ff_i_eft_fubini_total_retarget_source_count_sum)) * ff_v_eft_fubini_total_retarget_source_count_sum) + (ff_s_eft_fubini_total_retarget_source_count_sum))) /\ ff_s_eft_fubini_total_retarget_source_count_sum = ff_r_eft_fubini_total_retarget_source_count_sum + ff_a_eft_fubini_total_retarget_source_count_sum)))))) /\ (forall ff_i_eft_fubini_total_retarget_source_count_bits. (exists ff_lt_eft_fubini_total_retarget_source_count_bits_bound. ff_lt_eft_fubini_total_retarget_source_count_bits_bound + S ff_i_eft_fubini_total_retarget_source_count_bits = k) -> exists ff_bit_eft_fubini_total_retarget_source_count_bits. ((((exists ff_h_eft_fubini_total_retarget_source_count_bits_decoded. ff_h_eft_fubini_total_retarget_source_count_bits_decoded + S (ff_bit_eft_fubini_total_retarget_source_count_bits) = S ((S (ff_i_eft_fubini_total_retarget_source_count_bits)) * eft_column_scale_fubini_total_retarget_source)) /\ exists ff_q_eft_fubini_total_retarget_source_count_bits_decoded. eft_column_code_fubini_total_retarget_source = ff_q_eft_fubini_total_retarget_source_count_bits_decoded * S ((S (ff_i_eft_fubini_total_retarget_source_count_bits)) * eft_column_scale_fubini_total_retarget_source) + (ff_bit_eft_fubini_total_retarget_source_count_bits))) /\ (ff_bit_eft_fubini_total_retarget_source_count_bits = 0 \/ ff_bit_eft_fubini_total_retarget_source_count_bits = 1))))))) -> (exists eft_column_code_fubini_total_retarget_target eft_column_scale_fubini_total_retarget_target. ((forall etc_row_index_eft_fubini_total_retarget_target_column. (exists edt_lt_gap_eft_fubini_total_retarget_target_column_bound. edt_lt_gap_eft_fubini_total_retarget_target_column_bound + S (etc_row_index_eft_fubini_total_retarget_target_column) = k) -> exists etc_bit_eft_fubini_total_retarget_target_column. ((((exists ff_h_etc_eft_fubini_total_retarget_target_column_decoded. ff_h_etc_eft_fubini_total_retarget_target_column_decoded + S (etc_bit_eft_fubini_total_retarget_target_column) = S ((S (etc_row_index_eft_fubini_total_retarget_target_column)) * eft_column_scale_fubini_total_retarget_target)) /\ exists ff_q_etc_eft_fubini_total_retarget_target_column_decoded. eft_column_code_fubini_total_retarget_target = ff_q_etc_eft_fubini_total_retarget_target_column_decoded * S ((S (etc_row_index_eft_fubini_total_retarget_target_column)) * eft_column_scale_fubini_total_retarget_target) + (etc_bit_eft_fubini_total_retarget_target_column))) /\ (exists etc_count_eft_fubini_total_retarget_target_column_witness etc_row_code_eft_fubini_total_retarget_target_column_witness etc_row_scale_eft_fubini_total_retarget_target_column_witness. ((((((exists ff_h_etc_eft_fubini_total_retarget_target_column_witness_outer_entry. ff_h_etc_eft_fubini_total_retarget_target_column_witness_outer_entry + S (etc_count_eft_fubini_total_retarget_target_column_witness) = S ((S (etc_row_index_eft_fubini_total_retarget_target_column)) * ct)) /\ exists ff_q_etc_eft_fubini_total_retarget_target_column_witness_outer_entry. bt = ff_q_etc_eft_fubini_total_retarget_target_column_witness_outer_entry * S ((S (etc_row_index_eft_fubini_total_retarget_target_column)) * ct) + (etc_count_eft_fubini_total_retarget_target_column_witness))) /\ (forall eri_column_etc_eft_fubini_total_retarget_target_column_witness_row. (exists eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_bound. eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_bound + S (eri_column_etc_eft_fubini_total_retarget_target_column_witness_row) = ht) -> exists eri_bit_etc_eft_fubini_total_retarget_target_column_witness_row. ((((exists ff_h_eri_etc_eft_fubini_total_retarget_target_column_witness_row_decoded. ff_h_eri_etc_eft_fubini_total_retarget_target_column_witness_row_decoded + S (eri_bit_etc_eft_fubini_total_retarget_target_column_witness_row) = S ((S (eri_column_etc_eft_fubini_total_retarget_target_column_witness_row)) * etc_row_scale_eft_fubini_total_retarget_target_column_witness)) /\ exists ff_q_eri_etc_eft_fubini_total_retarget_target_column_witness_row_decoded. etc_row_code_eft_fubini_total_retarget_target_column_witness = ff_q_eri_etc_eft_fubini_total_retarget_target_column_witness_row_decoded * S ((S (eri_column_etc_eft_fubini_total_retarget_target_column_witness_row)) * etc_row_scale_eft_fubini_total_retarget_target_column_witness) + (eri_bit_etc_eft_fubini_total_retarget_target_column_witness_row))) /\ (((eri_bit_etc_eft_fubini_total_retarget_target_column_witness_row = 0 /\ ((exists eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_retarget_target_column) = q * S eri_column_etc_eft_fubini_total_retarget_target_column_witness_row) /\ ~(exists eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_retarget_target_column_witness_row) = p * S etc_row_index_eft_fubini_total_retarget_target_column))) \/ (eri_bit_etc_eft_fubini_total_retarget_target_column_witness_row = 1 /\ ((exists eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_retarget_target_column_witness_row) = p * S etc_row_index_eft_fubini_total_retarget_target_column) /\ ~(exists eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_retarget_target_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_retarget_target_column) = q * S eri_column_etc_eft_fubini_total_retarget_target_column_witness_row)))))))) /\ (((exists ff_u_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum ff_v_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_start. ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_start. ff_u_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_terminal. ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_terminal + S (etc_count_eft_fubini_total_retarget_target_column_witness) = S ((S (ht)) * ff_v_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_terminal. ff_u_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_terminal * S ((S (ht)) * ff_v_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum) + (etc_count_eft_fubini_total_retarget_target_column_witness))) /\ forall ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum. (exists ff_lt_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_bound. ff_lt_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_bound + S ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum = ht) -> exists ff_a_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum ff_r_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum ff_s_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_summand. ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_summand + S (ff_a_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_retarget_target_column_witness)) /\ exists ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_summand. etc_row_code_eft_fubini_total_retarget_target_column_witness = ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_summand * S ((S (ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_retarget_target_column_witness) + (ff_a_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_partial. ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_partial + S (ff_r_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_partial. ff_u_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_partial * S ((S (ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum) + (ff_r_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_successor. ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_successor + S (ff_s_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum) = S ((S (S ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_successor. ff_u_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum_successor * S ((S (S ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum) + (ff_s_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum))) /\ ff_s_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum = ff_r_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum + ff_a_etc_eft_fubini_total_retarget_target_column_witness_count_relation_sum)))))) /\ (forall ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits. (exists ff_lt_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits_bound. ff_lt_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits_bound + S ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits = ht) -> exists ff_bit_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits. ((((exists ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits_decoded. ff_h_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits_decoded + S (ff_bit_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits) = S ((S (ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_retarget_target_column_witness)) /\ exists ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits_decoded. etc_row_code_eft_fubini_total_retarget_target_column_witness = ff_q_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits_decoded * S ((S (ff_i_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_retarget_target_column_witness) + (ff_bit_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits))) /\ (ff_bit_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits = 0 \/ ff_bit_etc_eft_fubini_total_retarget_target_column_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_eft_fubini_total_retarget_target_column_witness_inner_entry. ff_h_etc_eft_fubini_total_retarget_target_column_witness_inner_entry + S (etc_bit_eft_fubini_total_retarget_target_column) = S ((S (i)) * etc_row_scale_eft_fubini_total_retarget_target_column_witness)) /\ exists ff_q_etc_eft_fubini_total_retarget_target_column_witness_inner_entry. etc_row_code_eft_fubini_total_retarget_target_column_witness = ff_q_etc_eft_fubini_total_retarget_target_column_witness_inner_entry * S ((S (i)) * etc_row_scale_eft_fubini_total_retarget_target_column_witness) + (etc_bit_eft_fubini_total_retarget_target_column))))))) /\ (((exists ff_u_eft_fubini_total_retarget_target_count_sum ff_v_eft_fubini_total_retarget_target_count_sum. ((((exists ff_h_eft_fubini_total_retarget_target_count_sum_start. ff_h_eft_fubini_total_retarget_target_count_sum_start + S (0) = S ((S (0)) * ff_v_eft_fubini_total_retarget_target_count_sum)) /\ exists ff_q_eft_fubini_total_retarget_target_count_sum_start. ff_u_eft_fubini_total_retarget_target_count_sum = ff_q_eft_fubini_total_retarget_target_count_sum_start * S ((S (0)) * ff_v_eft_fubini_total_retarget_target_count_sum) + (0))) /\ ((((exists ff_h_eft_fubini_total_retarget_target_count_sum_terminal. ff_h_eft_fubini_total_retarget_target_count_sum_terminal + S (n) = S ((S (k)) * ff_v_eft_fubini_total_retarget_target_count_sum)) /\ exists ff_q_eft_fubini_total_retarget_target_count_sum_terminal. ff_u_eft_fubini_total_retarget_target_count_sum = ff_q_eft_fubini_total_retarget_target_count_sum_terminal * S ((S (k)) * ff_v_eft_fubini_total_retarget_target_count_sum) + (n))) /\ forall ff_i_eft_fubini_total_retarget_target_count_sum. (exists ff_lt_eft_fubini_total_retarget_target_count_sum_bound. ff_lt_eft_fubini_total_retarget_target_count_sum_bound + S ff_i_eft_fubini_total_retarget_target_count_sum = k) -> exists ff_a_eft_fubini_total_retarget_target_count_sum ff_r_eft_fubini_total_retarget_target_count_sum ff_s_eft_fubini_total_retarget_target_count_sum. ((((exists ff_h_eft_fubini_total_retarget_target_count_sum_summand. ff_h_eft_fubini_total_retarget_target_count_sum_summand + S (ff_a_eft_fubini_total_retarget_target_count_sum) = S ((S (ff_i_eft_fubini_total_retarget_target_count_sum)) * eft_column_scale_fubini_total_retarget_target)) /\ exists ff_q_eft_fubini_total_retarget_target_count_sum_summand. eft_column_code_fubini_total_retarget_target = ff_q_eft_fubini_total_retarget_target_count_sum_summand * S ((S (ff_i_eft_fubini_total_retarget_target_count_sum)) * eft_column_scale_fubini_total_retarget_target) + (ff_a_eft_fubini_total_retarget_target_count_sum))) /\ ((((exists ff_h_eft_fubini_total_retarget_target_count_sum_partial. ff_h_eft_fubini_total_retarget_target_count_sum_partial + S (ff_r_eft_fubini_total_retarget_target_count_sum) = S ((S (ff_i_eft_fubini_total_retarget_target_count_sum)) * ff_v_eft_fubini_total_retarget_target_count_sum)) /\ exists ff_q_eft_fubini_total_retarget_target_count_sum_partial. ff_u_eft_fubini_total_retarget_target_count_sum = ff_q_eft_fubini_total_retarget_target_count_sum_partial * S ((S (ff_i_eft_fubini_total_retarget_target_count_sum)) * ff_v_eft_fubini_total_retarget_target_count_sum) + (ff_r_eft_fubini_total_retarget_target_count_sum))) /\ ((((exists ff_h_eft_fubini_total_retarget_target_count_sum_successor. ff_h_eft_fubini_total_retarget_target_count_sum_successor + S (ff_s_eft_fubini_total_retarget_target_count_sum) = S ((S (S ff_i_eft_fubini_total_retarget_target_count_sum)) * ff_v_eft_fubini_total_retarget_target_count_sum)) /\ exists ff_q_eft_fubini_total_retarget_target_count_sum_successor. ff_u_eft_fubini_total_retarget_target_count_sum = ff_q_eft_fubini_total_retarget_target_count_sum_successor * S ((S (S ff_i_eft_fubini_total_retarget_target_count_sum)) * ff_v_eft_fubini_total_retarget_target_count_sum) + (ff_s_eft_fubini_total_retarget_target_count_sum))) /\ ff_s_eft_fubini_total_retarget_target_count_sum = ff_r_eft_fubini_total_retarget_target_count_sum + ff_a_eft_fubini_total_retarget_target_count_sum)))))) /\ (forall ff_i_eft_fubini_total_retarget_target_count_bits. (exists ff_lt_eft_fubini_total_retarget_target_count_bits_bound. ff_lt_eft_fubini_total_retarget_target_count_bits_bound + S ff_i_eft_fubini_total_retarget_target_count_bits = k) -> exists ff_bit_eft_fubini_total_retarget_target_count_bits. ((((exists ff_h_eft_fubini_total_retarget_target_count_bits_decoded. ff_h_eft_fubini_total_retarget_target_count_bits_decoded + S (ff_bit_eft_fubini_total_retarget_target_count_bits) = S ((S (ff_i_eft_fubini_total_retarget_target_count_bits)) * eft_column_scale_fubini_total_retarget_target)) /\ exists ff_q_eft_fubini_total_retarget_target_count_bits_decoded. eft_column_code_fubini_total_retarget_target = ff_q_eft_fubini_total_retarget_target_count_bits_decoded * S ((S (ff_i_eft_fubini_total_retarget_target_count_bits)) * eft_column_scale_fubini_total_retarget_target) + (ff_bit_eft_fubini_total_retarget_target_count_bits))) /\ (ff_bit_eft_fubini_total_retarget_target_count_bits = 0 \/ ff_bit_eft_fubini_total_retarget_target_count_bits = 1)))))))

Structural proof guide

Generated structural guide

Rebuild a counted column over another semantic outer code without changing its count.

Use the direct prerequisites eisenstein_transposed_outer_column_choices, eisenstein_transposed_column_prefix_exists, eisenstein_transposed_column_prefix_all_bits, bit_count_exists, eisenstein_transposed_column_counts_extensional as previously established PA formulas.

The proof proceeds by case analysis (6), intermediate claims (5), equality transport (2).

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

92 script commands · 19 reading checkpoints · 5 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 (5)

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 hs
  4. L4
    intro ht
  5. L5
    intro bs
  6. L6
    intro cs
  7. L7
    intro bt
  8. L8
    intro ct
  9. L9
    intro i
  10. L10
    intro k
02Fix variables and assumptionsL11–15

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

  1. L11
    intro n
  2. L12
    intro houter
  3. L13
    intro his
  4. L14
    intro hit
  5. L15
    intro hsource
03Separate the logical casesL16–18

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

  1. L16
    cases hsource
  2. L17
    cases hsource_witness
  3. L18
    cases hsource_witness_witness
04Establish hchoicesL19–28

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eisenstein transposed outer column choices.

  1. L19
    have hchoices : ∀ etc_row_index_fubini_total_retarget_choices. Lt(etc_row_index_fubini_total_retarget_choices,k) → ∃ x. ∃ y. ∃ z. ∃ n. BetaAt(bt,ct,etc_row_index_fubini_total_retarget_choices,y) ∧ (∀ m. Lt(m,ht) → ∃ j. BetaAt(z,n,m,j) ∧ (j = 0 ∧ (Lt(p · S etc_row_index_fubini_total_retarget_choices,q · S m) ∧ ¬Lt(q · S m,p · S etc_row_index_fubini_total_retarget_choices)) ∨ j = 1 ∧ (Lt(q · S m,p · S etc_row_index_fubini_total_retarget_choices) ∧ ¬Lt(p · S etc_row_index_fubini_total_retarget_choices,q · S m)))) ∧ BitCount(z,n,ht,y) ∧ BetaAt(z,n,i,x)Definitions: LtBetaAtBitCount
  2. L20
    specialize eisenstein_transposed_outer_column_choices p
  3. L21
    specialize eisenstein_transposed_outer_column_choices q
  4. L22
    specialize eisenstein_transposed_outer_column_choices ht
  5. L23
    specialize eisenstein_transposed_outer_column_choices k
  6. L24
    specialize eisenstein_transposed_outer_column_choices bt
  7. L25
    specialize eisenstein_transposed_outer_column_choices ct
  8. L26
    specialize eisenstein_transposed_outer_column_choices i
  9. L27
    apply eisenstein_transposed_outer_column_choices
  10. L28
    exact houter
05Use earlier factsL29–29

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

  1. L29
    exact hit
06Establish hprefixL30–39

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eisenstein transposed column prefix exists.

  1. L30
    have hprefix : ∃ z. ∃ e. ∀ x. Lt(x,k) → ∃ y. BetaAt(z,e,x,y) ∧ (∃ n. ∃ m. ∃ j. BetaAt(bt,ct,x,n) ∧ (∀ u. Lt(u,ht) → ∃ v. BetaAt(m,j,u,v) ∧ (v = 0 ∧ (Lt(p · S x,q · S u) ∧ ¬Lt(q · S u,p · S x)) ∨ v = 1 ∧ (Lt(q · S u,p · S x) ∧ ¬Lt(p · S x,q · S u)))) ∧ BitCount(m,j,ht,n) ∧ BetaAt(m,j,i,y))Definitions: LtBetaAtBitCount
  2. L31
    specialize eisenstein_transposed_column_prefix_exists p
  3. L32
    specialize eisenstein_transposed_column_prefix_exists q
  4. L33
    specialize eisenstein_transposed_column_prefix_exists ht
  5. L34
    specialize eisenstein_transposed_column_prefix_exists bt
  6. L35
    specialize eisenstein_transposed_column_prefix_exists ct
  7. L36
    specialize eisenstein_transposed_column_prefix_exists i
  8. L37
    specialize eisenstein_transposed_column_prefix_exists k
  9. L38
    apply eisenstein_transposed_column_prefix_exists
  10. L39
    exact hchoices
07Separate the logical casesL40–41

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

  1. L40
    cases hprefix
  2. L41
    cases hprefix_witness
08Establish hallbitsL42–51

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

  1. L42
    have hallbits : AllBits(x2,x3,k)Definitions: AllBits
  2. L43
    specialize eisenstein_transposed_column_prefix_all_bits p
  3. L44
    specialize eisenstein_transposed_column_prefix_all_bits q
  4. L45
    specialize eisenstein_transposed_column_prefix_all_bits ht
  5. L46
    specialize eisenstein_transposed_column_prefix_all_bits bt
  6. L47
    specialize eisenstein_transposed_column_prefix_all_bits ct
  7. L48
    specialize eisenstein_transposed_column_prefix_all_bits i
  8. L49
    specialize eisenstein_transposed_column_prefix_all_bits x2
  9. L50
    specialize eisenstein_transposed_column_prefix_all_bits x3
  10. L51
    specialize eisenstein_transposed_column_prefix_all_bits k
09Use earlier factsL52–54

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

  1. L52
    apply eisenstein_transposed_column_prefix_all_bits
  2. L53
    exact hprefix_witness_witness
  3. L54
    exact hit
10Establish hcountL55–60

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

  1. L55
    have hcount : ∃ m. BitCount(x2,x3,k,m)Definitions: BitCount
  2. L56
    specialize bit_count_exists x2
  3. L57
    specialize bit_count_exists x3
  4. L58
    specialize bit_count_exists k
  5. L59
    apply bit_count_exists
  6. L60
    exact hallbits
11Separate the logical casesL61–61

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

  1. L61
    cases hcount
12Establish heqL62–71

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

  1. L62
    have heq : n = x4
  2. L63
    specialize eisenstein_transposed_column_counts_extensional p
  3. L64
    specialize eisenstein_transposed_column_counts_extensional q
  4. L65
    specialize eisenstein_transposed_column_counts_extensional hs
  5. L66
    specialize eisenstein_transposed_column_counts_extensional ht
  6. L67
    specialize eisenstein_transposed_column_counts_extensional bs
  7. L68
    specialize eisenstein_transposed_column_counts_extensional cs
  8. L69
    specialize eisenstein_transposed_column_counts_extensional bt
  9. L70
    specialize eisenstein_transposed_column_counts_extensional ct
  10. L71
    specialize eisenstein_transposed_column_counts_extensional i
13Use earlier factsL72–81

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

  1. L72
    specialize eisenstein_transposed_column_counts_extensional x
  2. L73
    specialize eisenstein_transposed_column_counts_extensional x1
  3. L74
    specialize eisenstein_transposed_column_counts_extensional x2
  4. L75
    specialize eisenstein_transposed_column_counts_extensional x3
  5. L76
    specialize eisenstein_transposed_column_counts_extensional k
  6. L77
    specialize eisenstein_transposed_column_counts_extensional n
  7. L78
    specialize eisenstein_transposed_column_counts_extensional x4
  8. L79
    apply eisenstein_transposed_column_counts_extensional
  9. L80
    exact hsource_witness_witness_left
  10. L81
    exact hprefix_witness_witness
14Use earlier factsL82–85

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

  1. L82
    exact his
  2. L83
    exact hit
  3. L84
    exact hsource_witness_witness_right
  4. L85
    exact hcount_witness
15Construct an explicit witnessL86–87

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

  1. L86
    exists x2
  2. L87
    exists x3
16Separate the logical casesL88–88

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

  1. L88
    split
17Use earlier factsL89–89

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

  1. L89
    exact hprefix_witness_witness
18Calculate and transport equalitiesL90–91

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

  1. L90
    rewrite heq
  2. L91
    rewrite heq
19Use earlier factsL92–92

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

  1. L92
    exact hcount_witness

Library-wide reading audit

Original exact command ledger · 92 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro hs
  4. 0004intro ht
  5. 0005intro bs
  6. 0006intro cs
  7. 0007intro bt
  8. 0008intro ct
  9. 0009intro i
  10. 0010intro k
  11. 0011intro n
  12. 0012intro houter
  13. 0013intro his
  14. 0014intro hit
  15. 0015intro hsource
  16. 0016cases hsource
  17. 0017cases hsource_witness
  18. 0018cases hsource_witness_witness
  19. 0019have hchoices : forall etc_row_index_fubini_total_retarget_choices. (exists edt_lt_gap_fubini_total_retarget_choices_bound. edt_lt_gap_fubini_total_retarget_choices_bound + S (etc_row_index_fubini_total_retarget_choices) = k) -> exists etc_bit_fubini_total_retarget_choices. (exists etc_count_fubini_total_retarget_choices_witness etc_row_code_fubini_total_retarget_choices_witness etc_row_scale_fubini_total_retarget_choices_witness. ((((((exists ff_h_etc_fubini_total_retarget_choices_witness_outer_entry. ff_h_etc_fubini_total_retarget_choices_witness_outer_entry + S (etc_count_fubini_total_retarget_choices_witness) = S ((S (etc_row_index_fubini_total_retarget_choices)) * ct)) /\ exists ff_q_etc_fubini_total_retarget_choices_witness_outer_entry. bt = ff_q_etc_fubini_total_retarget_choices_witness_outer_entry * S ((S (etc_row_index_fubini_total_retarget_choices)) * ct) + (etc_count_fubini_total_retarget_choices_witness))) /\ (forall eri_column_etc_fubini_total_retarget_choices_witness_row. (exists eri_gap_etc_fubini_total_retarget_choices_witness_row_bound. eri_gap_etc_fubini_total_retarget_choices_witness_row_bound + S (eri_column_etc_fubini_total_retarget_choices_witness_row) = ht) -> exists eri_bit_etc_fubini_total_retarget_choices_witness_row. ((((exists ff_h_eri_etc_fubini_total_retarget_choices_witness_row_decoded. ff_h_eri_etc_fubini_total_retarget_choices_witness_row_decoded + S (eri_bit_etc_fubini_total_retarget_choices_witness_row) = S ((S (eri_column_etc_fubini_total_retarget_choices_witness_row)) * etc_row_scale_fubini_total_retarget_choices_witness)) /\ exists ff_q_eri_etc_fubini_total_retarget_choices_witness_row_decoded. etc_row_code_fubini_total_retarget_choices_witness = ff_q_eri_etc_fubini_total_retarget_choices_witness_row_decoded * S ((S (eri_column_etc_fubini_total_retarget_choices_witness_row)) * etc_row_scale_fubini_total_retarget_choices_witness) + (eri_bit_etc_fubini_total_retarget_choices_witness_row))) /\ (((eri_bit_etc_fubini_total_retarget_choices_witness_row = 0 /\ ((exists eri_gap_etc_fubini_total_retarget_choices_witness_row_choice_left. eri_gap_etc_fubini_total_retarget_choices_witness_row_choice_left + S (p * S etc_row_index_fubini_total_retarget_choices) = q * S eri_column_etc_fubini_total_retarget_choices_witness_row) /\ ~(exists eri_gap_etc_fubini_total_retarget_choices_witness_row_choice_right. eri_gap_etc_fubini_total_retarget_choices_witness_row_choice_right + S (q * S eri_column_etc_fubini_total_retarget_choices_witness_row) = p * S etc_row_index_fubini_total_retarget_choices))) \/ (eri_bit_etc_fubini_total_retarget_choices_witness_row = 1 /\ ((exists eri_gap_etc_fubini_total_retarget_choices_witness_row_choice_right. eri_gap_etc_fubini_total_retarget_choices_witness_row_choice_right + S (q * S eri_column_etc_fubini_total_retarget_choices_witness_row) = p * S etc_row_index_fubini_total_retarget_choices) /\ ~(exists eri_gap_etc_fubini_total_retarget_choices_witness_row_choice_left. eri_gap_etc_fubini_total_retarget_choices_witness_row_choice_left + S (p * S etc_row_index_fubini_total_retarget_choices) = q * S eri_column_etc_fubini_total_retarget_choices_witness_row)))))))) /\ (((exists ff_u_etc_fubini_total_retarget_choices_witness_count_relation_sum ff_v_etc_fubini_total_retarget_choices_witness_count_relation_sum. ((((exists ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_start. ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_fubini_total_retarget_choices_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_start. ff_u_etc_fubini_total_retarget_choices_witness_count_relation_sum = ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_fubini_total_retarget_choices_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_terminal. ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_terminal + S (etc_count_fubini_total_retarget_choices_witness) = S ((S (ht)) * ff_v_etc_fubini_total_retarget_choices_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_terminal. ff_u_etc_fubini_total_retarget_choices_witness_count_relation_sum = ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_terminal * S ((S (ht)) * ff_v_etc_fubini_total_retarget_choices_witness_count_relation_sum) + (etc_count_fubini_total_retarget_choices_witness))) /\ forall ff_i_etc_fubini_total_retarget_choices_witness_count_relation_sum. (exists ff_lt_etc_fubini_total_retarget_choices_witness_count_relation_sum_bound. ff_lt_etc_fubini_total_retarget_choices_witness_count_relation_sum_bound + S ff_i_etc_fubini_total_retarget_choices_witness_count_relation_sum = ht) -> exists ff_a_etc_fubini_total_retarget_choices_witness_count_relation_sum ff_r_etc_fubini_total_retarget_choices_witness_count_relation_sum ff_s_etc_fubini_total_retarget_choices_witness_count_relation_sum. ((((exists ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_summand. ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_summand + S (ff_a_etc_fubini_total_retarget_choices_witness_count_relation_sum) = S ((S (ff_i_etc_fubini_total_retarget_choices_witness_count_relation_sum)) * etc_row_scale_fubini_total_retarget_choices_witness)) /\ exists ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_summand. etc_row_code_fubini_total_retarget_choices_witness = ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_summand * S ((S (ff_i_etc_fubini_total_retarget_choices_witness_count_relation_sum)) * etc_row_scale_fubini_total_retarget_choices_witness) + (ff_a_etc_fubini_total_retarget_choices_witness_count_relation_sum))) /\ ((((exists ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_partial. ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_partial + S (ff_r_etc_fubini_total_retarget_choices_witness_count_relation_sum) = S ((S (ff_i_etc_fubini_total_retarget_choices_witness_count_relation_sum)) * ff_v_etc_fubini_total_retarget_choices_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_partial. ff_u_etc_fubini_total_retarget_choices_witness_count_relation_sum = ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_partial * S ((S (ff_i_etc_fubini_total_retarget_choices_witness_count_relation_sum)) * ff_v_etc_fubini_total_retarget_choices_witness_count_relation_sum) + (ff_r_etc_fubini_total_retarget_choices_witness_count_relation_sum))) /\ ((((exists ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_successor. ff_h_etc_fubini_total_retarget_choices_witness_count_relation_sum_successor + S (ff_s_etc_fubini_total_retarget_choices_witness_count_relation_sum) = S ((S (S ff_i_etc_fubini_total_retarget_choices_witness_count_relation_sum)) * ff_v_etc_fubini_total_retarget_choices_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_successor. ff_u_etc_fubini_total_retarget_choices_witness_count_relation_sum = ff_q_etc_fubini_total_retarget_choices_witness_count_relation_sum_successor * S ((S (S ff_i_etc_fubini_total_retarget_choices_witness_count_relation_sum)) * ff_v_etc_fubini_total_retarget_choices_witness_count_relation_sum) + (ff_s_etc_fubini_total_retarget_choices_witness_count_relation_sum))) /\ ff_s_etc_fubini_total_retarget_choices_witness_count_relation_sum = ff_r_etc_fubini_total_retarget_choices_witness_count_relation_sum + ff_a_etc_fubini_total_retarget_choices_witness_count_relation_sum)))))) /\ (forall ff_i_etc_fubini_total_retarget_choices_witness_count_relation_bits. (exists ff_lt_etc_fubini_total_retarget_choices_witness_count_relation_bits_bound. ff_lt_etc_fubini_total_retarget_choices_witness_count_relation_bits_bound + S ff_i_etc_fubini_total_retarget_choices_witness_count_relation_bits = ht) -> exists ff_bit_etc_fubini_total_retarget_choices_witness_count_relation_bits. ((((exists ff_h_etc_fubini_total_retarget_choices_witness_count_relation_bits_decoded. ff_h_etc_fubini_total_retarget_choices_witness_count_relation_bits_decoded + S (ff_bit_etc_fubini_total_retarget_choices_witness_count_relation_bits) = S ((S (ff_i_etc_fubini_total_retarget_choices_witness_count_relation_bits)) * etc_row_scale_fubini_total_retarget_choices_witness)) /\ exists ff_q_etc_fubini_total_retarget_choices_witness_count_relation_bits_decoded. etc_row_code_fubini_total_retarget_choices_witness = ff_q_etc_fubini_total_retarget_choices_witness_count_relation_bits_decoded * S ((S (ff_i_etc_fubini_total_retarget_choices_witness_count_relation_bits)) * etc_row_scale_fubini_total_retarget_choices_witness) + (ff_bit_etc_fubini_total_retarget_choices_witness_count_relation_bits))) /\ (ff_bit_etc_fubini_total_retarget_choices_witness_count_relation_bits = 0 \/ ff_bit_etc_fubini_total_retarget_choices_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_fubini_total_retarget_choices_witness_inner_entry. ff_h_etc_fubini_total_retarget_choices_witness_inner_entry + S (etc_bit_fubini_total_retarget_choices) = S ((S (i)) * etc_row_scale_fubini_total_retarget_choices_witness)) /\ exists ff_q_etc_fubini_total_retarget_choices_witness_inner_entry. etc_row_code_fubini_total_retarget_choices_witness = ff_q_etc_fubini_total_retarget_choices_witness_inner_entry * S ((S (i)) * etc_row_scale_fubini_total_retarget_choices_witness) + (etc_bit_fubini_total_retarget_choices)))))
  20. 0020specialize eisenstein_transposed_outer_column_choices p
  21. 0021specialize eisenstein_transposed_outer_column_choices q
  22. 0022specialize eisenstein_transposed_outer_column_choices ht
  23. 0023specialize eisenstein_transposed_outer_column_choices k
  24. 0024specialize eisenstein_transposed_outer_column_choices bt
  25. 0025specialize eisenstein_transposed_outer_column_choices ct
  26. 0026specialize eisenstein_transposed_outer_column_choices i
  27. 0027apply eisenstein_transposed_outer_column_choices
  28. 0028exact houter
  29. 0029exact hit
  30. 0030have hprefix : exists z e. (forall etc_row_index_fubini_total_retarget_built_prefix. (exists edt_lt_gap_fubini_total_retarget_built_prefix_bound. edt_lt_gap_fubini_total_retarget_built_prefix_bound + S (etc_row_index_fubini_total_retarget_built_prefix) = k) -> exists etc_bit_fubini_total_retarget_built_prefix. ((((exists ff_h_etc_fubini_total_retarget_built_prefix_decoded. ff_h_etc_fubini_total_retarget_built_prefix_decoded + S (etc_bit_fubini_total_retarget_built_prefix) = S ((S (etc_row_index_fubini_total_retarget_built_prefix)) * e)) /\ exists ff_q_etc_fubini_total_retarget_built_prefix_decoded. z = ff_q_etc_fubini_total_retarget_built_prefix_decoded * S ((S (etc_row_index_fubini_total_retarget_built_prefix)) * e) + (etc_bit_fubini_total_retarget_built_prefix))) /\ (exists etc_count_fubini_total_retarget_built_prefix_witness etc_row_code_fubini_total_retarget_built_prefix_witness etc_row_scale_fubini_total_retarget_built_prefix_witness. ((((((exists ff_h_etc_fubini_total_retarget_built_prefix_witness_outer_entry. ff_h_etc_fubini_total_retarget_built_prefix_witness_outer_entry + S (etc_count_fubini_total_retarget_built_prefix_witness) = S ((S (etc_row_index_fubini_total_retarget_built_prefix)) * ct)) /\ exists ff_q_etc_fubini_total_retarget_built_prefix_witness_outer_entry. bt = ff_q_etc_fubini_total_retarget_built_prefix_witness_outer_entry * S ((S (etc_row_index_fubini_total_retarget_built_prefix)) * ct) + (etc_count_fubini_total_retarget_built_prefix_witness))) /\ (forall eri_column_etc_fubini_total_retarget_built_prefix_witness_row. (exists eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_bound. eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_bound + S (eri_column_etc_fubini_total_retarget_built_prefix_witness_row) = ht) -> exists eri_bit_etc_fubini_total_retarget_built_prefix_witness_row. ((((exists ff_h_eri_etc_fubini_total_retarget_built_prefix_witness_row_decoded. ff_h_eri_etc_fubini_total_retarget_built_prefix_witness_row_decoded + S (eri_bit_etc_fubini_total_retarget_built_prefix_witness_row) = S ((S (eri_column_etc_fubini_total_retarget_built_prefix_witness_row)) * etc_row_scale_fubini_total_retarget_built_prefix_witness)) /\ exists ff_q_eri_etc_fubini_total_retarget_built_prefix_witness_row_decoded. etc_row_code_fubini_total_retarget_built_prefix_witness = ff_q_eri_etc_fubini_total_retarget_built_prefix_witness_row_decoded * S ((S (eri_column_etc_fubini_total_retarget_built_prefix_witness_row)) * etc_row_scale_fubini_total_retarget_built_prefix_witness) + (eri_bit_etc_fubini_total_retarget_built_prefix_witness_row))) /\ (((eri_bit_etc_fubini_total_retarget_built_prefix_witness_row = 0 /\ ((exists eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_choice_left. eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_choice_left + S (p * S etc_row_index_fubini_total_retarget_built_prefix) = q * S eri_column_etc_fubini_total_retarget_built_prefix_witness_row) /\ ~(exists eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_choice_right. eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_choice_right + S (q * S eri_column_etc_fubini_total_retarget_built_prefix_witness_row) = p * S etc_row_index_fubini_total_retarget_built_prefix))) \/ (eri_bit_etc_fubini_total_retarget_built_prefix_witness_row = 1 /\ ((exists eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_choice_right. eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_choice_right + S (q * S eri_column_etc_fubini_total_retarget_built_prefix_witness_row) = p * S etc_row_index_fubini_total_retarget_built_prefix) /\ ~(exists eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_choice_left. eri_gap_etc_fubini_total_retarget_built_prefix_witness_row_choice_left + S (p * S etc_row_index_fubini_total_retarget_built_prefix) = q * S eri_column_etc_fubini_total_retarget_built_prefix_witness_row)))))))) /\ (((exists ff_u_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum ff_v_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum. ((((exists ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_start. ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_start. ff_u_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum = ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_terminal. ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_terminal + S (etc_count_fubini_total_retarget_built_prefix_witness) = S ((S (ht)) * ff_v_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_terminal. ff_u_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum = ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_terminal * S ((S (ht)) * ff_v_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum) + (etc_count_fubini_total_retarget_built_prefix_witness))) /\ forall ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum. (exists ff_lt_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_bound. ff_lt_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_bound + S ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum = ht) -> exists ff_a_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum ff_r_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum ff_s_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum. ((((exists ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_summand. ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_summand + S (ff_a_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum) = S ((S (ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) * etc_row_scale_fubini_total_retarget_built_prefix_witness)) /\ exists ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_summand. etc_row_code_fubini_total_retarget_built_prefix_witness = ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_summand * S ((S (ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) * etc_row_scale_fubini_total_retarget_built_prefix_witness) + (ff_a_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum))) /\ ((((exists ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_partial. ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_partial + S (ff_r_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum) = S ((S (ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) * ff_v_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_partial. ff_u_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum = ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_partial * S ((S (ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) * ff_v_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum) + (ff_r_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum))) /\ ((((exists ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_successor. ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_successor + S (ff_s_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum) = S ((S (S ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) * ff_v_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_successor. ff_u_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum = ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum_successor * S ((S (S ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)) * ff_v_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum) + (ff_s_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum))) /\ ff_s_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum = ff_r_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum + ff_a_etc_fubini_total_retarget_built_prefix_witness_count_relation_sum)))))) /\ (forall ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits. (exists ff_lt_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits_bound. ff_lt_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits_bound + S ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits = ht) -> exists ff_bit_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits. ((((exists ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits_decoded. ff_h_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits_decoded + S (ff_bit_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits) = S ((S (ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits)) * etc_row_scale_fubini_total_retarget_built_prefix_witness)) /\ exists ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits_decoded. etc_row_code_fubini_total_retarget_built_prefix_witness = ff_q_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits_decoded * S ((S (ff_i_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits)) * etc_row_scale_fubini_total_retarget_built_prefix_witness) + (ff_bit_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits))) /\ (ff_bit_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits = 0 \/ ff_bit_etc_fubini_total_retarget_built_prefix_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_fubini_total_retarget_built_prefix_witness_inner_entry. ff_h_etc_fubini_total_retarget_built_prefix_witness_inner_entry + S (etc_bit_fubini_total_retarget_built_prefix) = S ((S (i)) * etc_row_scale_fubini_total_retarget_built_prefix_witness)) /\ exists ff_q_etc_fubini_total_retarget_built_prefix_witness_inner_entry. etc_row_code_fubini_total_retarget_built_prefix_witness = ff_q_etc_fubini_total_retarget_built_prefix_witness_inner_entry * S ((S (i)) * etc_row_scale_fubini_total_retarget_built_prefix_witness) + (etc_bit_fubini_total_retarget_built_prefix)))))))
  31. 0031specialize eisenstein_transposed_column_prefix_exists p
  32. 0032specialize eisenstein_transposed_column_prefix_exists q
  33. 0033specialize eisenstein_transposed_column_prefix_exists ht
  34. 0034specialize eisenstein_transposed_column_prefix_exists bt
  35. 0035specialize eisenstein_transposed_column_prefix_exists ct
  36. 0036specialize eisenstein_transposed_column_prefix_exists i
  37. 0037specialize eisenstein_transposed_column_prefix_exists k
  38. 0038apply eisenstein_transposed_column_prefix_exists
  39. 0039exact hchoices
  40. 0040cases hprefix
  41. 0041cases hprefix_witness
  42. 0042have hallbits : forall ff_i_fubini_total_retarget_all_bits. (exists ff_lt_fubini_total_retarget_all_bits_bound. ff_lt_fubini_total_retarget_all_bits_bound + S ff_i_fubini_total_retarget_all_bits = k) -> exists ff_bit_fubini_total_retarget_all_bits. ((((exists ff_h_fubini_total_retarget_all_bits_decoded. ff_h_fubini_total_retarget_all_bits_decoded + S (ff_bit_fubini_total_retarget_all_bits) = S ((S (ff_i_fubini_total_retarget_all_bits)) * x3)) /\ exists ff_q_fubini_total_retarget_all_bits_decoded. x2 = ff_q_fubini_total_retarget_all_bits_decoded * S ((S (ff_i_fubini_total_retarget_all_bits)) * x3) + (ff_bit_fubini_total_retarget_all_bits))) /\ (ff_bit_fubini_total_retarget_all_bits = 0 \/ ff_bit_fubini_total_retarget_all_bits = 1))
  43. 0043specialize eisenstein_transposed_column_prefix_all_bits p
  44. 0044specialize eisenstein_transposed_column_prefix_all_bits q
  45. 0045specialize eisenstein_transposed_column_prefix_all_bits ht
  46. 0046specialize eisenstein_transposed_column_prefix_all_bits bt
  47. 0047specialize eisenstein_transposed_column_prefix_all_bits ct
  48. 0048specialize eisenstein_transposed_column_prefix_all_bits i
  49. 0049specialize eisenstein_transposed_column_prefix_all_bits x2
  50. 0050specialize eisenstein_transposed_column_prefix_all_bits x3
  51. 0051specialize eisenstein_transposed_column_prefix_all_bits k
  52. 0052apply eisenstein_transposed_column_prefix_all_bits
  53. 0053exact hprefix_witness_witness
  54. 0054exact hit
  55. 0055have hcount : exists m. (((exists ff_u_fubini_total_retarget_built_count_sum ff_v_fubini_total_retarget_built_count_sum. ((((exists ff_h_fubini_total_retarget_built_count_sum_start. ff_h_fubini_total_retarget_built_count_sum_start + S (0) = S ((S (0)) * ff_v_fubini_total_retarget_built_count_sum)) /\ exists ff_q_fubini_total_retarget_built_count_sum_start. ff_u_fubini_total_retarget_built_count_sum = ff_q_fubini_total_retarget_built_count_sum_start * S ((S (0)) * ff_v_fubini_total_retarget_built_count_sum) + (0))) /\ ((((exists ff_h_fubini_total_retarget_built_count_sum_terminal. ff_h_fubini_total_retarget_built_count_sum_terminal + S (m) = S ((S (k)) * ff_v_fubini_total_retarget_built_count_sum)) /\ exists ff_q_fubini_total_retarget_built_count_sum_terminal. ff_u_fubini_total_retarget_built_count_sum = ff_q_fubini_total_retarget_built_count_sum_terminal * S ((S (k)) * ff_v_fubini_total_retarget_built_count_sum) + (m))) /\ forall ff_i_fubini_total_retarget_built_count_sum. (exists ff_lt_fubini_total_retarget_built_count_sum_bound. ff_lt_fubini_total_retarget_built_count_sum_bound + S ff_i_fubini_total_retarget_built_count_sum = k) -> exists ff_a_fubini_total_retarget_built_count_sum ff_r_fubini_total_retarget_built_count_sum ff_s_fubini_total_retarget_built_count_sum. ((((exists ff_h_fubini_total_retarget_built_count_sum_summand. ff_h_fubini_total_retarget_built_count_sum_summand + S (ff_a_fubini_total_retarget_built_count_sum) = S ((S (ff_i_fubini_total_retarget_built_count_sum)) * x3)) /\ exists ff_q_fubini_total_retarget_built_count_sum_summand. x2 = ff_q_fubini_total_retarget_built_count_sum_summand * S ((S (ff_i_fubini_total_retarget_built_count_sum)) * x3) + (ff_a_fubini_total_retarget_built_count_sum))) /\ ((((exists ff_h_fubini_total_retarget_built_count_sum_partial. ff_h_fubini_total_retarget_built_count_sum_partial + S (ff_r_fubini_total_retarget_built_count_sum) = S ((S (ff_i_fubini_total_retarget_built_count_sum)) * ff_v_fubini_total_retarget_built_count_sum)) /\ exists ff_q_fubini_total_retarget_built_count_sum_partial. ff_u_fubini_total_retarget_built_count_sum = ff_q_fubini_total_retarget_built_count_sum_partial * S ((S (ff_i_fubini_total_retarget_built_count_sum)) * ff_v_fubini_total_retarget_built_count_sum) + (ff_r_fubini_total_retarget_built_count_sum))) /\ ((((exists ff_h_fubini_total_retarget_built_count_sum_successor. ff_h_fubini_total_retarget_built_count_sum_successor + S (ff_s_fubini_total_retarget_built_count_sum) = S ((S (S ff_i_fubini_total_retarget_built_count_sum)) * ff_v_fubini_total_retarget_built_count_sum)) /\ exists ff_q_fubini_total_retarget_built_count_sum_successor. ff_u_fubini_total_retarget_built_count_sum = ff_q_fubini_total_retarget_built_count_sum_successor * S ((S (S ff_i_fubini_total_retarget_built_count_sum)) * ff_v_fubini_total_retarget_built_count_sum) + (ff_s_fubini_total_retarget_built_count_sum))) /\ ff_s_fubini_total_retarget_built_count_sum = ff_r_fubini_total_retarget_built_count_sum + ff_a_fubini_total_retarget_built_count_sum)))))) /\ (forall ff_i_fubini_total_retarget_built_count_bits. (exists ff_lt_fubini_total_retarget_built_count_bits_bound. ff_lt_fubini_total_retarget_built_count_bits_bound + S ff_i_fubini_total_retarget_built_count_bits = k) -> exists ff_bit_fubini_total_retarget_built_count_bits. ((((exists ff_h_fubini_total_retarget_built_count_bits_decoded. ff_h_fubini_total_retarget_built_count_bits_decoded + S (ff_bit_fubini_total_retarget_built_count_bits) = S ((S (ff_i_fubini_total_retarget_built_count_bits)) * x3)) /\ exists ff_q_fubini_total_retarget_built_count_bits_decoded. x2 = ff_q_fubini_total_retarget_built_count_bits_decoded * S ((S (ff_i_fubini_total_retarget_built_count_bits)) * x3) + (ff_bit_fubini_total_retarget_built_count_bits))) /\ (ff_bit_fubini_total_retarget_built_count_bits = 0 \/ ff_bit_fubini_total_retarget_built_count_bits = 1)))))
  56. 0056specialize bit_count_exists x2
  57. 0057specialize bit_count_exists x3
  58. 0058specialize bit_count_exists k
  59. 0059apply bit_count_exists
  60. 0060exact hallbits
  61. 0061cases hcount
  62. 0062have heq : n = x4
  63. 0063specialize eisenstein_transposed_column_counts_extensional p
  64. 0064specialize eisenstein_transposed_column_counts_extensional q
  65. 0065specialize eisenstein_transposed_column_counts_extensional hs
  66. 0066specialize eisenstein_transposed_column_counts_extensional ht
  67. 0067specialize eisenstein_transposed_column_counts_extensional bs
  68. 0068specialize eisenstein_transposed_column_counts_extensional cs
  69. 0069specialize eisenstein_transposed_column_counts_extensional bt
  70. 0070specialize eisenstein_transposed_column_counts_extensional ct
  71. 0071specialize eisenstein_transposed_column_counts_extensional i
  72. 0072specialize eisenstein_transposed_column_counts_extensional x
  73. 0073specialize eisenstein_transposed_column_counts_extensional x1
  74. 0074specialize eisenstein_transposed_column_counts_extensional x2
  75. 0075specialize eisenstein_transposed_column_counts_extensional x3
  76. 0076specialize eisenstein_transposed_column_counts_extensional k
  77. 0077specialize eisenstein_transposed_column_counts_extensional n
  78. 0078specialize eisenstein_transposed_column_counts_extensional x4
  79. 0079apply eisenstein_transposed_column_counts_extensional
  80. 0080exact hsource_witness_witness_left
  81. 0081exact hprefix_witness_witness
  82. 0082exact his
  83. 0083exact hit
  84. 0084exact hsource_witness_witness_right
  85. 0085exact hcount_witness
  86. 0086exists x2
  87. 0087exists x3
  88. 0088split
  89. 0089exact hprefix_witness_witness
  90. 0090rewrite heq
  91. 0091rewrite heq
  92. 0092exact hcount_witness