PA00FC · theorem

eisenstein_fubini_universal

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

Any genuine transposed-column count total equals the swapped semantic row total.

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.

Statement with defined notation

∀ h. ∀ p. ∀ q. ∀ k. ∀ bb. ∀ bc. ∀ db. ∀ dc. ∀ T. ∀ M. (∀ x. Lt(x,k) → ∃ y. BetaAt(bb,bc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,h) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(p · S x,q · S m) ∧ ¬Lt(q · S m,p · S x)) ∨ i = 1 ∧ (Lt(q · S m,p · S x) ∧ ¬Lt(p · S x,q · S m)))) ∧ BitCount(z,n,h,y))) → (∀ x. Lt(x,h) → ∃ y. BetaAt(db,dc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (∃ j. ∃ u. ∃ v. BetaAt(bb,bc,m,j) ∧ (∀ w. Lt(w,h) → ∃ x0. BetaAt(u,v,w,x0) ∧ (x0 = 0 ∧ (Lt(p · S m,q · S w) ∧ ¬Lt(q · S w,p · S m)) ∨ x0 = 1 ∧ (Lt(q · S w,p · S m) ∧ ¬Lt(p · S m,q · S w)))) ∧ BitCount(u,v,h,j)BetaAt(u,v,x,i))) ∧ BitCount(z,n,k,y))) → Sum(bb,bc,k,T)Sum(db,dc,h,M) → M = T

Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.

Definitions used by this theorem

In the theorem statement

25 occurrences

In local proof propositions

73 occurrences

Exact expanded native-PA statement
forall h p q k bb bc db dc T M. (forall erc_row_fubini_total_general_outer. (exists erc_lt_gap_fubini_total_general_outer_bound. erc_lt_gap_fubini_total_general_outer_bound + S (erc_row_fubini_total_general_outer) = k) -> exists erc_count_fubini_total_general_outer. ((((exists ff_h_erc_fubini_total_general_outer_decoded. ff_h_erc_fubini_total_general_outer_decoded + S (erc_count_fubini_total_general_outer) = S ((S (erc_row_fubini_total_general_outer)) * bc)) /\ exists ff_q_erc_fubini_total_general_outer_decoded. bb = ff_q_erc_fubini_total_general_outer_decoded * S ((S (erc_row_fubini_total_general_outer)) * bc) + (erc_count_fubini_total_general_outer))) /\ (exists erc_row_code_fubini_total_general_outer_witness erc_row_scale_fubini_total_general_outer_witness. ((forall eri_column_erc_fubini_total_general_outer_witness_row. (exists eri_gap_erc_fubini_total_general_outer_witness_row_bound. eri_gap_erc_fubini_total_general_outer_witness_row_bound + S (eri_column_erc_fubini_total_general_outer_witness_row) = h) -> exists eri_bit_erc_fubini_total_general_outer_witness_row. ((((exists ff_h_eri_erc_fubini_total_general_outer_witness_row_decoded. ff_h_eri_erc_fubini_total_general_outer_witness_row_decoded + S (eri_bit_erc_fubini_total_general_outer_witness_row) = S ((S (eri_column_erc_fubini_total_general_outer_witness_row)) * erc_row_scale_fubini_total_general_outer_witness)) /\ exists ff_q_eri_erc_fubini_total_general_outer_witness_row_decoded. erc_row_code_fubini_total_general_outer_witness = ff_q_eri_erc_fubini_total_general_outer_witness_row_decoded * S ((S (eri_column_erc_fubini_total_general_outer_witness_row)) * erc_row_scale_fubini_total_general_outer_witness) + (eri_bit_erc_fubini_total_general_outer_witness_row))) /\ (((eri_bit_erc_fubini_total_general_outer_witness_row = 0 /\ ((exists eri_gap_erc_fubini_total_general_outer_witness_row_choice_left. eri_gap_erc_fubini_total_general_outer_witness_row_choice_left + S (p * S erc_row_fubini_total_general_outer) = q * S eri_column_erc_fubini_total_general_outer_witness_row) /\ ~(exists eri_gap_erc_fubini_total_general_outer_witness_row_choice_right. eri_gap_erc_fubini_total_general_outer_witness_row_choice_right + S (q * S eri_column_erc_fubini_total_general_outer_witness_row) = p * S erc_row_fubini_total_general_outer))) \/ (eri_bit_erc_fubini_total_general_outer_witness_row = 1 /\ ((exists eri_gap_erc_fubini_total_general_outer_witness_row_choice_right. eri_gap_erc_fubini_total_general_outer_witness_row_choice_right + S (q * S eri_column_erc_fubini_total_general_outer_witness_row) = p * S erc_row_fubini_total_general_outer) /\ ~(exists eri_gap_erc_fubini_total_general_outer_witness_row_choice_left. eri_gap_erc_fubini_total_general_outer_witness_row_choice_left + S (p * S erc_row_fubini_total_general_outer) = q * S eri_column_erc_fubini_total_general_outer_witness_row))))))) /\ (((exists ff_u_erc_fubini_total_general_outer_witness_count_sum ff_v_erc_fubini_total_general_outer_witness_count_sum. ((((exists ff_h_erc_fubini_total_general_outer_witness_count_sum_start. ff_h_erc_fubini_total_general_outer_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_fubini_total_general_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_general_outer_witness_count_sum_start. ff_u_erc_fubini_total_general_outer_witness_count_sum = ff_q_erc_fubini_total_general_outer_witness_count_sum_start * S ((S (0)) * ff_v_erc_fubini_total_general_outer_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_fubini_total_general_outer_witness_count_sum_terminal. ff_h_erc_fubini_total_general_outer_witness_count_sum_terminal + S (erc_count_fubini_total_general_outer) = S ((S (h)) * ff_v_erc_fubini_total_general_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_general_outer_witness_count_sum_terminal. ff_u_erc_fubini_total_general_outer_witness_count_sum = ff_q_erc_fubini_total_general_outer_witness_count_sum_terminal * S ((S (h)) * ff_v_erc_fubini_total_general_outer_witness_count_sum) + (erc_count_fubini_total_general_outer))) /\ forall ff_i_erc_fubini_total_general_outer_witness_count_sum. (exists ff_lt_erc_fubini_total_general_outer_witness_count_sum_bound. ff_lt_erc_fubini_total_general_outer_witness_count_sum_bound + S ff_i_erc_fubini_total_general_outer_witness_count_sum = h) -> exists ff_a_erc_fubini_total_general_outer_witness_count_sum ff_r_erc_fubini_total_general_outer_witness_count_sum ff_s_erc_fubini_total_general_outer_witness_count_sum. ((((exists ff_h_erc_fubini_total_general_outer_witness_count_sum_summand. ff_h_erc_fubini_total_general_outer_witness_count_sum_summand + S (ff_a_erc_fubini_total_general_outer_witness_count_sum) = S ((S (ff_i_erc_fubini_total_general_outer_witness_count_sum)) * erc_row_scale_fubini_total_general_outer_witness)) /\ exists ff_q_erc_fubini_total_general_outer_witness_count_sum_summand. erc_row_code_fubini_total_general_outer_witness = ff_q_erc_fubini_total_general_outer_witness_count_sum_summand * S ((S (ff_i_erc_fubini_total_general_outer_witness_count_sum)) * erc_row_scale_fubini_total_general_outer_witness) + (ff_a_erc_fubini_total_general_outer_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_total_general_outer_witness_count_sum_partial. ff_h_erc_fubini_total_general_outer_witness_count_sum_partial + S (ff_r_erc_fubini_total_general_outer_witness_count_sum) = S ((S (ff_i_erc_fubini_total_general_outer_witness_count_sum)) * ff_v_erc_fubini_total_general_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_general_outer_witness_count_sum_partial. ff_u_erc_fubini_total_general_outer_witness_count_sum = ff_q_erc_fubini_total_general_outer_witness_count_sum_partial * S ((S (ff_i_erc_fubini_total_general_outer_witness_count_sum)) * ff_v_erc_fubini_total_general_outer_witness_count_sum) + (ff_r_erc_fubini_total_general_outer_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_total_general_outer_witness_count_sum_successor. ff_h_erc_fubini_total_general_outer_witness_count_sum_successor + S (ff_s_erc_fubini_total_general_outer_witness_count_sum) = S ((S (S ff_i_erc_fubini_total_general_outer_witness_count_sum)) * ff_v_erc_fubini_total_general_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_general_outer_witness_count_sum_successor. ff_u_erc_fubini_total_general_outer_witness_count_sum = ff_q_erc_fubini_total_general_outer_witness_count_sum_successor * S ((S (S ff_i_erc_fubini_total_general_outer_witness_count_sum)) * ff_v_erc_fubini_total_general_outer_witness_count_sum) + (ff_s_erc_fubini_total_general_outer_witness_count_sum))) /\ ff_s_erc_fubini_total_general_outer_witness_count_sum = ff_r_erc_fubini_total_general_outer_witness_count_sum + ff_a_erc_fubini_total_general_outer_witness_count_sum)))))) /\ (forall ff_i_erc_fubini_total_general_outer_witness_count_bits. (exists ff_lt_erc_fubini_total_general_outer_witness_count_bits_bound. ff_lt_erc_fubini_total_general_outer_witness_count_bits_bound + S ff_i_erc_fubini_total_general_outer_witness_count_bits = h) -> exists ff_bit_erc_fubini_total_general_outer_witness_count_bits. ((((exists ff_h_erc_fubini_total_general_outer_witness_count_bits_decoded. ff_h_erc_fubini_total_general_outer_witness_count_bits_decoded + S (ff_bit_erc_fubini_total_general_outer_witness_count_bits) = S ((S (ff_i_erc_fubini_total_general_outer_witness_count_bits)) * erc_row_scale_fubini_total_general_outer_witness)) /\ exists ff_q_erc_fubini_total_general_outer_witness_count_bits_decoded. erc_row_code_fubini_total_general_outer_witness = ff_q_erc_fubini_total_general_outer_witness_count_bits_decoded * S ((S (ff_i_erc_fubini_total_general_outer_witness_count_bits)) * erc_row_scale_fubini_total_general_outer_witness) + (ff_bit_erc_fubini_total_general_outer_witness_count_bits))) /\ (ff_bit_erc_fubini_total_general_outer_witness_count_bits = 0 \/ ff_bit_erc_fubini_total_general_outer_witness_count_bits = 1))))))))) -> (forall eft_fixed_index_fubini_total_general_columns. (exists edt_lt_gap_eft_fubini_total_general_columns_bound. edt_lt_gap_eft_fubini_total_general_columns_bound + S (eft_fixed_index_fubini_total_general_columns) = h) -> exists eft_count_fubini_total_general_columns. ((((exists ff_h_eft_fubini_total_general_columns_decoded. ff_h_eft_fubini_total_general_columns_decoded + S (eft_count_fubini_total_general_columns) = S ((S (eft_fixed_index_fubini_total_general_columns)) * dc)) /\ exists ff_q_eft_fubini_total_general_columns_decoded. db = ff_q_eft_fubini_total_general_columns_decoded * S ((S (eft_fixed_index_fubini_total_general_columns)) * dc) + (eft_count_fubini_total_general_columns))) /\ (exists eft_column_code_fubini_total_general_columns_witness eft_column_scale_fubini_total_general_columns_witness. ((forall etc_row_index_eft_fubini_total_general_columns_witness_column. (exists edt_lt_gap_eft_fubini_total_general_columns_witness_column_bound. edt_lt_gap_eft_fubini_total_general_columns_witness_column_bound + S (etc_row_index_eft_fubini_total_general_columns_witness_column) = k) -> exists etc_bit_eft_fubini_total_general_columns_witness_column. ((((exists ff_h_etc_eft_fubini_total_general_columns_witness_column_decoded. ff_h_etc_eft_fubini_total_general_columns_witness_column_decoded + S (etc_bit_eft_fubini_total_general_columns_witness_column) = S ((S (etc_row_index_eft_fubini_total_general_columns_witness_column)) * eft_column_scale_fubini_total_general_columns_witness)) /\ exists ff_q_etc_eft_fubini_total_general_columns_witness_column_decoded. eft_column_code_fubini_total_general_columns_witness = ff_q_etc_eft_fubini_total_general_columns_witness_column_decoded * S ((S (etc_row_index_eft_fubini_total_general_columns_witness_column)) * eft_column_scale_fubini_total_general_columns_witness) + (etc_bit_eft_fubini_total_general_columns_witness_column))) /\ (exists etc_count_eft_fubini_total_general_columns_witness_column_witness etc_row_code_eft_fubini_total_general_columns_witness_column_witness etc_row_scale_eft_fubini_total_general_columns_witness_column_witness. ((((((exists ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_outer_entry. ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_outer_entry + S (etc_count_eft_fubini_total_general_columns_witness_column_witness) = S ((S (etc_row_index_eft_fubini_total_general_columns_witness_column)) * bc)) /\ exists ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_outer_entry. bb = ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_outer_entry * S ((S (etc_row_index_eft_fubini_total_general_columns_witness_column)) * bc) + (etc_count_eft_fubini_total_general_columns_witness_column_witness))) /\ (forall eri_column_etc_eft_fubini_total_general_columns_witness_column_witness_row. (exists eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_bound. eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_bound + S (eri_column_etc_eft_fubini_total_general_columns_witness_column_witness_row) = h) -> exists eri_bit_etc_eft_fubini_total_general_columns_witness_column_witness_row. ((((exists ff_h_eri_etc_eft_fubini_total_general_columns_witness_column_witness_row_decoded. ff_h_eri_etc_eft_fubini_total_general_columns_witness_column_witness_row_decoded + S (eri_bit_etc_eft_fubini_total_general_columns_witness_column_witness_row) = S ((S (eri_column_etc_eft_fubini_total_general_columns_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_general_columns_witness_column_witness)) /\ exists ff_q_eri_etc_eft_fubini_total_general_columns_witness_column_witness_row_decoded. etc_row_code_eft_fubini_total_general_columns_witness_column_witness = ff_q_eri_etc_eft_fubini_total_general_columns_witness_column_witness_row_decoded * S ((S (eri_column_etc_eft_fubini_total_general_columns_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_general_columns_witness_column_witness) + (eri_bit_etc_eft_fubini_total_general_columns_witness_column_witness_row))) /\ (((eri_bit_etc_eft_fubini_total_general_columns_witness_column_witness_row = 0 /\ ((exists eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_general_columns_witness_column) = q * S eri_column_etc_eft_fubini_total_general_columns_witness_column_witness_row) /\ ~(exists eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_general_columns_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_general_columns_witness_column))) \/ (eri_bit_etc_eft_fubini_total_general_columns_witness_column_witness_row = 1 /\ ((exists eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_general_columns_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_general_columns_witness_column) /\ ~(exists eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_general_columns_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_general_columns_witness_column) = q * S eri_column_etc_eft_fubini_total_general_columns_witness_column_witness_row)))))))) /\ (((exists ff_u_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum ff_v_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_start. ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_start. ff_u_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_terminal. ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_terminal + S (etc_count_eft_fubini_total_general_columns_witness_column_witness) = S ((S (h)) * ff_v_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_terminal. ff_u_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum) + (etc_count_eft_fubini_total_general_columns_witness_column_witness))) /\ forall ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum. (exists ff_lt_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_bound. ff_lt_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_bound + S ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum = h) -> exists ff_a_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum ff_r_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum ff_s_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_summand. ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_summand + S (ff_a_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_general_columns_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_summand. etc_row_code_eft_fubini_total_general_columns_witness_column_witness = ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_summand * S ((S (ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_general_columns_witness_column_witness) + (ff_a_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_partial. ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_partial + S (ff_r_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_partial. ff_u_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_partial * S ((S (ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum) + (ff_r_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_successor. ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_successor + S (ff_s_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum) = S ((S (S ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_successor. ff_u_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum_successor * S ((S (S ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum) + (ff_s_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum))) /\ ff_s_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum = ff_r_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum + ff_a_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_sum)))))) /\ (forall ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits. (exists ff_lt_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits_bound. ff_lt_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits_bound + S ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits = h) -> exists ff_bit_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits. ((((exists ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits_decoded. ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits_decoded + S (ff_bit_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits) = S ((S (ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_general_columns_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits_decoded. etc_row_code_eft_fubini_total_general_columns_witness_column_witness = ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits_decoded * S ((S (ff_i_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_general_columns_witness_column_witness) + (ff_bit_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits))) /\ (ff_bit_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits = 0 \/ ff_bit_etc_eft_fubini_total_general_columns_witness_column_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_inner_entry. ff_h_etc_eft_fubini_total_general_columns_witness_column_witness_inner_entry + S (etc_bit_eft_fubini_total_general_columns_witness_column) = S ((S (eft_fixed_index_fubini_total_general_columns)) * etc_row_scale_eft_fubini_total_general_columns_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_inner_entry. etc_row_code_eft_fubini_total_general_columns_witness_column_witness = ff_q_etc_eft_fubini_total_general_columns_witness_column_witness_inner_entry * S ((S (eft_fixed_index_fubini_total_general_columns)) * etc_row_scale_eft_fubini_total_general_columns_witness_column_witness) + (etc_bit_eft_fubini_total_general_columns_witness_column))))))) /\ (((exists ff_u_eft_fubini_total_general_columns_witness_count_sum ff_v_eft_fubini_total_general_columns_witness_count_sum. ((((exists ff_h_eft_fubini_total_general_columns_witness_count_sum_start. ff_h_eft_fubini_total_general_columns_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_eft_fubini_total_general_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_general_columns_witness_count_sum_start. ff_u_eft_fubini_total_general_columns_witness_count_sum = ff_q_eft_fubini_total_general_columns_witness_count_sum_start * S ((S (0)) * ff_v_eft_fubini_total_general_columns_witness_count_sum) + (0))) /\ ((((exists ff_h_eft_fubini_total_general_columns_witness_count_sum_terminal. ff_h_eft_fubini_total_general_columns_witness_count_sum_terminal + S (eft_count_fubini_total_general_columns) = S ((S (k)) * ff_v_eft_fubini_total_general_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_general_columns_witness_count_sum_terminal. ff_u_eft_fubini_total_general_columns_witness_count_sum = ff_q_eft_fubini_total_general_columns_witness_count_sum_terminal * S ((S (k)) * ff_v_eft_fubini_total_general_columns_witness_count_sum) + (eft_count_fubini_total_general_columns))) /\ forall ff_i_eft_fubini_total_general_columns_witness_count_sum. (exists ff_lt_eft_fubini_total_general_columns_witness_count_sum_bound. ff_lt_eft_fubini_total_general_columns_witness_count_sum_bound + S ff_i_eft_fubini_total_general_columns_witness_count_sum = k) -> exists ff_a_eft_fubini_total_general_columns_witness_count_sum ff_r_eft_fubini_total_general_columns_witness_count_sum ff_s_eft_fubini_total_general_columns_witness_count_sum. ((((exists ff_h_eft_fubini_total_general_columns_witness_count_sum_summand. ff_h_eft_fubini_total_general_columns_witness_count_sum_summand + S (ff_a_eft_fubini_total_general_columns_witness_count_sum) = S ((S (ff_i_eft_fubini_total_general_columns_witness_count_sum)) * eft_column_scale_fubini_total_general_columns_witness)) /\ exists ff_q_eft_fubini_total_general_columns_witness_count_sum_summand. eft_column_code_fubini_total_general_columns_witness = ff_q_eft_fubini_total_general_columns_witness_count_sum_summand * S ((S (ff_i_eft_fubini_total_general_columns_witness_count_sum)) * eft_column_scale_fubini_total_general_columns_witness) + (ff_a_eft_fubini_total_general_columns_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_general_columns_witness_count_sum_partial. ff_h_eft_fubini_total_general_columns_witness_count_sum_partial + S (ff_r_eft_fubini_total_general_columns_witness_count_sum) = S ((S (ff_i_eft_fubini_total_general_columns_witness_count_sum)) * ff_v_eft_fubini_total_general_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_general_columns_witness_count_sum_partial. ff_u_eft_fubini_total_general_columns_witness_count_sum = ff_q_eft_fubini_total_general_columns_witness_count_sum_partial * S ((S (ff_i_eft_fubini_total_general_columns_witness_count_sum)) * ff_v_eft_fubini_total_general_columns_witness_count_sum) + (ff_r_eft_fubini_total_general_columns_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_general_columns_witness_count_sum_successor. ff_h_eft_fubini_total_general_columns_witness_count_sum_successor + S (ff_s_eft_fubini_total_general_columns_witness_count_sum) = S ((S (S ff_i_eft_fubini_total_general_columns_witness_count_sum)) * ff_v_eft_fubini_total_general_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_general_columns_witness_count_sum_successor. ff_u_eft_fubini_total_general_columns_witness_count_sum = ff_q_eft_fubini_total_general_columns_witness_count_sum_successor * S ((S (S ff_i_eft_fubini_total_general_columns_witness_count_sum)) * ff_v_eft_fubini_total_general_columns_witness_count_sum) + (ff_s_eft_fubini_total_general_columns_witness_count_sum))) /\ ff_s_eft_fubini_total_general_columns_witness_count_sum = ff_r_eft_fubini_total_general_columns_witness_count_sum + ff_a_eft_fubini_total_general_columns_witness_count_sum)))))) /\ (forall ff_i_eft_fubini_total_general_columns_witness_count_bits. (exists ff_lt_eft_fubini_total_general_columns_witness_count_bits_bound. ff_lt_eft_fubini_total_general_columns_witness_count_bits_bound + S ff_i_eft_fubini_total_general_columns_witness_count_bits = k) -> exists ff_bit_eft_fubini_total_general_columns_witness_count_bits. ((((exists ff_h_eft_fubini_total_general_columns_witness_count_bits_decoded. ff_h_eft_fubini_total_general_columns_witness_count_bits_decoded + S (ff_bit_eft_fubini_total_general_columns_witness_count_bits) = S ((S (ff_i_eft_fubini_total_general_columns_witness_count_bits)) * eft_column_scale_fubini_total_general_columns_witness)) /\ exists ff_q_eft_fubini_total_general_columns_witness_count_bits_decoded. eft_column_code_fubini_total_general_columns_witness = ff_q_eft_fubini_total_general_columns_witness_count_bits_decoded * S ((S (ff_i_eft_fubini_total_general_columns_witness_count_bits)) * eft_column_scale_fubini_total_general_columns_witness) + (ff_bit_eft_fubini_total_general_columns_witness_count_bits))) /\ (ff_bit_eft_fubini_total_general_columns_witness_count_bits = 0 \/ ff_bit_eft_fubini_total_general_columns_witness_count_bits = 1))))))))) -> (exists ff_u_fubini_total_general_outer_sum ff_v_fubini_total_general_outer_sum. ((((exists ff_h_fubini_total_general_outer_sum_start. ff_h_fubini_total_general_outer_sum_start + S (0) = S ((S (0)) * ff_v_fubini_total_general_outer_sum)) /\ exists ff_q_fubini_total_general_outer_sum_start. ff_u_fubini_total_general_outer_sum = ff_q_fubini_total_general_outer_sum_start * S ((S (0)) * ff_v_fubini_total_general_outer_sum) + (0))) /\ ((((exists ff_h_fubini_total_general_outer_sum_terminal. ff_h_fubini_total_general_outer_sum_terminal + S (T) = S ((S (k)) * ff_v_fubini_total_general_outer_sum)) /\ exists ff_q_fubini_total_general_outer_sum_terminal. ff_u_fubini_total_general_outer_sum = ff_q_fubini_total_general_outer_sum_terminal * S ((S (k)) * ff_v_fubini_total_general_outer_sum) + (T))) /\ forall ff_i_fubini_total_general_outer_sum. (exists ff_lt_fubini_total_general_outer_sum_bound. ff_lt_fubini_total_general_outer_sum_bound + S ff_i_fubini_total_general_outer_sum = k) -> exists ff_a_fubini_total_general_outer_sum ff_r_fubini_total_general_outer_sum ff_s_fubini_total_general_outer_sum. ((((exists ff_h_fubini_total_general_outer_sum_summand. ff_h_fubini_total_general_outer_sum_summand + S (ff_a_fubini_total_general_outer_sum) = S ((S (ff_i_fubini_total_general_outer_sum)) * bc)) /\ exists ff_q_fubini_total_general_outer_sum_summand. bb = ff_q_fubini_total_general_outer_sum_summand * S ((S (ff_i_fubini_total_general_outer_sum)) * bc) + (ff_a_fubini_total_general_outer_sum))) /\ ((((exists ff_h_fubini_total_general_outer_sum_partial. ff_h_fubini_total_general_outer_sum_partial + S (ff_r_fubini_total_general_outer_sum) = S ((S (ff_i_fubini_total_general_outer_sum)) * ff_v_fubini_total_general_outer_sum)) /\ exists ff_q_fubini_total_general_outer_sum_partial. ff_u_fubini_total_general_outer_sum = ff_q_fubini_total_general_outer_sum_partial * S ((S (ff_i_fubini_total_general_outer_sum)) * ff_v_fubini_total_general_outer_sum) + (ff_r_fubini_total_general_outer_sum))) /\ ((((exists ff_h_fubini_total_general_outer_sum_successor. ff_h_fubini_total_general_outer_sum_successor + S (ff_s_fubini_total_general_outer_sum) = S ((S (S ff_i_fubini_total_general_outer_sum)) * ff_v_fubini_total_general_outer_sum)) /\ exists ff_q_fubini_total_general_outer_sum_successor. ff_u_fubini_total_general_outer_sum = ff_q_fubini_total_general_outer_sum_successor * S ((S (S ff_i_fubini_total_general_outer_sum)) * ff_v_fubini_total_general_outer_sum) + (ff_s_fubini_total_general_outer_sum))) /\ ff_s_fubini_total_general_outer_sum = ff_r_fubini_total_general_outer_sum + ff_a_fubini_total_general_outer_sum)))))) -> (exists ff_u_fubini_total_general_column_sum ff_v_fubini_total_general_column_sum. ((((exists ff_h_fubini_total_general_column_sum_start. ff_h_fubini_total_general_column_sum_start + S (0) = S ((S (0)) * ff_v_fubini_total_general_column_sum)) /\ exists ff_q_fubini_total_general_column_sum_start. ff_u_fubini_total_general_column_sum = ff_q_fubini_total_general_column_sum_start * S ((S (0)) * ff_v_fubini_total_general_column_sum) + (0))) /\ ((((exists ff_h_fubini_total_general_column_sum_terminal. ff_h_fubini_total_general_column_sum_terminal + S (M) = S ((S (h)) * ff_v_fubini_total_general_column_sum)) /\ exists ff_q_fubini_total_general_column_sum_terminal. ff_u_fubini_total_general_column_sum = ff_q_fubini_total_general_column_sum_terminal * S ((S (h)) * ff_v_fubini_total_general_column_sum) + (M))) /\ forall ff_i_fubini_total_general_column_sum. (exists ff_lt_fubini_total_general_column_sum_bound. ff_lt_fubini_total_general_column_sum_bound + S ff_i_fubini_total_general_column_sum = h) -> exists ff_a_fubini_total_general_column_sum ff_r_fubini_total_general_column_sum ff_s_fubini_total_general_column_sum. ((((exists ff_h_fubini_total_general_column_sum_summand. ff_h_fubini_total_general_column_sum_summand + S (ff_a_fubini_total_general_column_sum) = S ((S (ff_i_fubini_total_general_column_sum)) * dc)) /\ exists ff_q_fubini_total_general_column_sum_summand. db = ff_q_fubini_total_general_column_sum_summand * S ((S (ff_i_fubini_total_general_column_sum)) * dc) + (ff_a_fubini_total_general_column_sum))) /\ ((((exists ff_h_fubini_total_general_column_sum_partial. ff_h_fubini_total_general_column_sum_partial + S (ff_r_fubini_total_general_column_sum) = S ((S (ff_i_fubini_total_general_column_sum)) * ff_v_fubini_total_general_column_sum)) /\ exists ff_q_fubini_total_general_column_sum_partial. ff_u_fubini_total_general_column_sum = ff_q_fubini_total_general_column_sum_partial * S ((S (ff_i_fubini_total_general_column_sum)) * ff_v_fubini_total_general_column_sum) + (ff_r_fubini_total_general_column_sum))) /\ ((((exists ff_h_fubini_total_general_column_sum_successor. ff_h_fubini_total_general_column_sum_successor + S (ff_s_fubini_total_general_column_sum) = S ((S (S ff_i_fubini_total_general_column_sum)) * ff_v_fubini_total_general_column_sum)) /\ exists ff_q_fubini_total_general_column_sum_successor. ff_u_fubini_total_general_column_sum = ff_q_fubini_total_general_column_sum_successor * S ((S (S ff_i_fubini_total_general_column_sum)) * ff_v_fubini_total_general_column_sum) + (ff_s_fubini_total_general_column_sum))) /\ ff_s_fubini_total_general_column_sum = ff_r_fubini_total_general_column_sum + ff_a_fubini_total_general_column_sum)))))) -> M = T

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.

Read the argument

Proof checkpoints

216 script commands · 43 reading checkpoints · 15 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (12)
01Fix variables and assumptionsL1–1

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

  1. L1
    intro h
02Induction on hL2–11

Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.

  1. L2
    induction h
  2. L3
    intro p
  3. L4
    intro q
  4. L5
    intro k
  5. L6
    intro bb
  6. L7
    intro bc
  7. L8
    intro db
  8. L9
    intro dc
  9. L10
    intro T
  10. L11
    intro M
03Fix variables and assumptionsL12–15

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

  1. L12
    intro houter
  2. L13
    intro hcolumns
  3. L14
    intro houtersum
  4. L15
    intro hcolumnsum
04Establish hmzeroL16–21

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

  1. L16
    have hmzero : M = 0
  2. L17
    specialize beta_sum_zero db
  3. L18
    specialize beta_sum_zero dc
  4. L19
    specialize beta_sum_zero M
  5. L20
    apply beta_sum_zero
  6. L21
    exact hcolumnsum
05Establish htzeroL22–31

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eisenstein zero width rectangle sum zero.

  1. L22
    have htzero : T = 0
  2. L23
    specialize eisenstein_zero_width_rectangle_sum_zero q
  3. L24
    specialize eisenstein_zero_width_rectangle_sum_zero p
  4. L25
    specialize eisenstein_zero_width_rectangle_sum_zero 0
  5. L26
    specialize eisenstein_zero_width_rectangle_sum_zero bb
  6. L27
    specialize eisenstein_zero_width_rectangle_sum_zero bc
  7. L28
    specialize eisenstein_zero_width_rectangle_sum_zero k
  8. L29
    specialize eisenstein_zero_width_rectangle_sum_zero T
  9. L30
    apply eisenstein_zero_width_rectangle_sum_zero
  10. L31
    refl
06Use earlier factsL32–33

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

  1. L32
    exact houter
  2. L33
    exact houtersum
07Calculate and transport equalitiesL34–34

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

  1. L34
    trans 0
08Use earlier factsL35–35

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

  1. L35
    exact hmzero
09Calculate and transport equalitiesL36–36

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

  1. L36
    symm
10Use earlier factsL37–37

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

  1. L37
    exact htzero
11Fix variables and assumptionsL38–47

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

  1. L38
    intro p
  2. L39
    intro q
  3. L40
    intro k
  4. L41
    intro bb
  5. L42
    intro bc
  6. L43
    intro db
  7. L44
    intro dc
  8. L45
    intro T
  9. L46
    intro M
  10. L47
    intro houter
12Fix variables and assumptionsL48–50

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

  1. L48
    intro hcolumns
  2. L49
    intro houtersum
  3. L50
    intro hcolumnsum
13Establish hsplit_existsL51–60

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eisenstein successor rectangle row split prefix exists.

  1. L51
    have hsplit_exists : ∃ rb. ∃ rc. ∃ tb. ∃ tc. ∀ x. Lt(x,k) → ∃ y. ∃ z. ∃ n. BetaAt(bb,bc,x,y) ∧ BetaAt(rb,rc,x,z) ∧ BetaAt(tb,tc,x,n) ∧ (∃ m. ∃ i. (∀ j. Lt(j,S h) → ∃ u. BetaAt(m,i,j,u) ∧ (u = 0 ∧ (Lt(p · S x,q · S j) ∧ ¬Lt(q · S j,p · S x)) ∨ u = 1 ∧ (Lt(q · S j,p · S x) ∧ ¬Lt(p · S x,q · S j)))) ∧ BitCount(m,i,S h,y) ∧ ((∀ j. Lt(j,h) → ∃ u. BetaAt(m,i,j,u) ∧ (u = 0 ∧ (Lt(p · S x,q · S j) ∧ ¬Lt(q · S j,p · S x)) ∨ u = 1 ∧ (Lt(q · S j,p · S x) ∧ ¬Lt(p · S x,q · S j)))) ∧ BetaAt(m,i,h,n)) ∧ (BitCount(m,i,h,z) ∧ (n = 0 ∨ n = 1) ∧ y = z + n))Definitions: Lt(x,k)BetaAt(bb,bc,x,y)BetaAt(rb,rc,x,z)BetaAt(tb,tc,x,n)Lt(j,S h)BetaAt(m,i,j,u)Lt(p · S x,q · S j)Lt(q · S j,p · S x)BitCount(m,i,S h,y)Lt(j,h)BetaAt(m,i,h,n)BitCount(m,i,h,z)Original native command in the exact edition
  2. L52
    specialize eisenstein_successor_rectangle_row_split_prefix_exists q
  3. L53
    specialize eisenstein_successor_rectangle_row_split_prefix_exists p
  4. L54
    specialize eisenstein_successor_rectangle_row_split_prefix_exists h
  5. L55
    specialize eisenstein_successor_rectangle_row_split_prefix_exists (S h)
  6. L56
    specialize eisenstein_successor_rectangle_row_split_prefix_exists bb
  7. L57
    specialize eisenstein_successor_rectangle_row_split_prefix_exists bc
  8. L58
    specialize eisenstein_successor_rectangle_row_split_prefix_exists k
  9. L59
    apply eisenstein_successor_rectangle_row_split_prefix_exists
  10. L60
    refl
14Use earlier factsL61–61

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

  1. L61
    exact houter
15Separate the logical casesL62–65

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

  1. L62
    cases hsplit_exists
  2. L63
    cases hsplit_exists_witness
  3. L64
    cases hsplit_exists_witness_witness
  4. L65
    cases hsplit_exists_witness_witness_witness
16Establish hreduced_outerL66–75

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

  1. L66
    have hreduced_outer : ∀ erc_row_fubini_total_universal_reduced_outer. Lt(erc_row_fubini_total_universal_reduced_outer,k) → ∃ y. BetaAt(x,x1,erc_row_fubini_total_universal_reduced_outer,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,h) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(p · S erc_row_fubini_total_universal_reduced_outer,q · S m) ∧ ¬Lt(q · S m,p · S erc_row_fubini_total_universal_reduced_outer)) ∨ i = 1 ∧ (Lt(q · S m,p · S erc_row_fubini_total_universal_reduced_outer) ∧ ¬Lt(p · S erc_row_fubini_total_universal_reduced_outer,q · S m)))) ∧ BitCount(z,n,h,y))Definitions: Lt(erc_row_fubini_total_universal_reduced_outer,k)BetaAt(x,x1,erc_row_fubini_total_universal_reduced_outer,y)Lt(m,h)BetaAt(z,n,m,i)Lt(p · S erc_row_fubini_total_universal_reduced_outer,q · S m)Lt(q · S m,p · S erc_row_fubini_total_universal_reduced_outer)BitCount(z,n,h,y)Original native command in the exact edition
  2. L67
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix q
  3. L68
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix p
  4. L69
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix h
  5. L70
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix (S h)
  6. L71
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix bb
  7. L72
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix bc
  8. L73
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix x
  9. L74
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix x1
  10. L75
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix x2
17Use earlier factsL76–79

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

  1. L76
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix x3
  2. L77
    specialize eisenstein_successor_row_split_reduced_rectangle_prefix k
  3. L78
    apply eisenstein_successor_row_split_reduced_rectangle_prefix
  4. L79
    exact hsplit_exists_witness_witness_witness_witness
18Establish hreduced_sumL80–84

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

  1. L80
    have hreduced_sum : ∃ R. Sum(x,x1,k,R)Definitions: Sum(x,x1,k,R)Original native command in the exact edition
  2. L81
    specialize beta_sum_exists x
  3. L82
    specialize beta_sum_exists x1
  4. L83
    specialize beta_sum_exists k
  5. L84
    exact beta_sum_exists
19Separate the logical casesL85–85

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

  1. L85
    cases hreduced_sum
20Establish hterminal_sumL86–90

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

  1. L86
    have hterminal_sum : ∃ D. Sum(x2,x3,k,D)Definitions: Sum(x2,x3,k,D)Original native command in the exact edition
  2. L87
    specialize beta_sum_exists x2
  3. L88
    specialize beta_sum_exists x3
  4. L89
    specialize beta_sum_exists k
  5. L90
    exact beta_sum_exists
21Separate the logical casesL91–91

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

  1. L91
    cases hterminal_sum
22Establish hsource_addL92–101

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

  1. L92
    have hsource_add : x4 + x5 = T
  2. L93
    specialize eisenstein_successor_row_split_sum_add q
  3. L94
    specialize eisenstein_successor_row_split_sum_add p
  4. L95
    specialize eisenstein_successor_row_split_sum_add h
  5. L96
    specialize eisenstein_successor_row_split_sum_add (S h)
  6. L97
    specialize eisenstein_successor_row_split_sum_add bb
  7. L98
    specialize eisenstein_successor_row_split_sum_add bc
  8. L99
    specialize eisenstein_successor_row_split_sum_add x
  9. L100
    specialize eisenstein_successor_row_split_sum_add x1
  10. L101
    specialize eisenstein_successor_row_split_sum_add x2
23Use earlier factsL102–111

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

  1. L102
    specialize eisenstein_successor_row_split_sum_add x3
  2. L103
    specialize eisenstein_successor_row_split_sum_add k
  3. L104
    specialize eisenstein_successor_row_split_sum_add x4
  4. L105
    specialize eisenstein_successor_row_split_sum_add x5
  5. L106
    specialize eisenstein_successor_row_split_sum_add T
  6. L107
    apply eisenstein_successor_row_split_sum_add
  7. L108
    exact hsplit_exists_witness_witness_witness_witness
  8. L109
    exact hreduced_sum_witness
  9. L110
    exact hterminal_sum_witness
  10. L111
    exact houtersum
24Establish hrestricted_columnsL112–121

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

  1. L112
    have hrestricted_columns : ∀ eft_fixed_index_fubini_total_universal_restricted_columns. Lt(eft_fixed_index_fubini_total_universal_restricted_columns,h) → ∃ x. BetaAt(db,dc,eft_fixed_index_fubini_total_universal_restricted_columns,x) ∧ (∃ y. ∃ z. (∀ n. Lt(n,k) → ∃ m. BetaAt(y,z,n,m) ∧ (∃ i. ∃ j. ∃ u. BetaAt(bb,bc,n,i) ∧ (∀ v. Lt(v,S h) → ∃ w. BetaAt(j,u,v,w) ∧ (w = 0 ∧ (Lt(p · S n,q · S v) ∧ ¬Lt(q · S v,p · S n)) ∨ w = 1 ∧ (Lt(q · S v,p · S n) ∧ ¬Lt(p · S n,q · S v)))) ∧ BitCount(j,u,S h,i) ∧ BetaAt(j,u,eft_fixed_index_fubini_total_universal_restricted_columns,m))) ∧ BitCount(y,z,k,x))Definitions: Lt(eft_fixed_index_fubini_total_universal_restricted_columns,h)BetaAt(db,dc,eft_fixed_index_fubini_total_universal_restricted_columns,x)Lt(n,k)BetaAt(y,z,n,m)BetaAt(bb,bc,n,i)Lt(v,S h)BetaAt(j,u,v,w)Lt(p · S n,q · S v)Lt(q · S v,p · S n)BitCount(j,u,S h,i)BetaAt(j,u,eft_fixed_index_fubini_total_universal_restricted_columns,m)BitCount(y,z,k,x)Original native command in the exact edition
  2. L113
    specialize eisenstein_fubini_column_count_prefix_succ_restrict p
  3. L114
    specialize eisenstein_fubini_column_count_prefix_succ_restrict q
  4. L115
    specialize eisenstein_fubini_column_count_prefix_succ_restrict h
  5. L116
    specialize eisenstein_fubini_column_count_prefix_succ_restrict (S h)
  6. L117
    specialize eisenstein_fubini_column_count_prefix_succ_restrict bb
  7. L118
    specialize eisenstein_fubini_column_count_prefix_succ_restrict bc
  8. L119
    specialize eisenstein_fubini_column_count_prefix_succ_restrict db
  9. L120
    specialize eisenstein_fubini_column_count_prefix_succ_restrict dc
  10. L121
    specialize eisenstein_fubini_column_count_prefix_succ_restrict k
25Use earlier factsL122–122

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

  1. L122
    apply eisenstein_fubini_column_count_prefix_succ_restrict
26Calculate and transport equalitiesL123–123

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

  1. L123
    refl
27Use earlier factsL124–124

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

  1. L124
    exact hcolumns
28Establish hreduced_columnsL125–134

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

  1. L125
    have hreduced_columns : ∀ eft_fixed_index_fubini_total_universal_reduced_columns. Lt(eft_fixed_index_fubini_total_universal_reduced_columns,h) → ∃ y. BetaAt(db,dc,eft_fixed_index_fubini_total_universal_reduced_columns,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (∃ j. ∃ u. ∃ v. BetaAt(x,x1,m,j) ∧ (∀ w. Lt(w,h) → ∃ x0. BetaAt(u,v,w,x0) ∧ (x0 = 0 ∧ (Lt(p · S m,q · S w) ∧ ¬Lt(q · S w,p · S m)) ∨ x0 = 1 ∧ (Lt(q · S w,p · S m) ∧ ¬Lt(p · S m,q · S w)))) ∧ BitCount(u,v,h,j) ∧ BetaAt(u,v,eft_fixed_index_fubini_total_universal_reduced_columns,i))) ∧ BitCount(z,n,k,y))Definitions: Lt(eft_fixed_index_fubini_total_universal_reduced_columns,h)BetaAt(db,dc,eft_fixed_index_fubini_total_universal_reduced_columns,y)Lt(m,k)BetaAt(z,n,m,i)BetaAt(x,x1,m,j)Lt(w,h)BetaAt(u,v,w,x0)Lt(p · S m,q · S w)Lt(q · S w,p · S m)BitCount(u,v,h,j)BetaAt(u,v,eft_fixed_index_fubini_total_universal_reduced_columns,i)BitCount(z,n,k,y)Original native command in the exact edition
  2. L126
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor p
  3. L127
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor q
  4. L128
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor h
  5. L129
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor (S h)
  6. L130
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor bb
  7. L131
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor bc
  8. L132
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor x
  9. L133
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor x1
  10. L134
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor db
29Use earlier factsL135–137

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

  1. L135
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor dc
  2. L136
    specialize eisenstein_fubini_column_count_prefix_retarget_predecessor k
  3. L137
    apply eisenstein_fubini_column_count_prefix_retarget_predecessor
30Calculate and transport equalitiesL138–138

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

  1. L138
    refl
31Use earlier factsL139–140

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

  1. L139
    exact hreduced_outer
  2. L140
    exact hrestricted_columns
32Establish hsum_decomposeL141–147

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.

  1. L141
    have hsum_decompose : ∃ a. ∃ r. BetaAt(db,dc,h,a) ∧ (Sum(db,dc,h,r) ∧ M = r + a)Definitions: BetaAt(db,dc,h,a)Sum(db,dc,h,r)Original native command in the exact edition
  2. L142
    specialize beta_sum_succ_decompose db
  3. L143
    specialize beta_sum_succ_decompose dc
  4. L144
    specialize beta_sum_succ_decompose h
  5. L145
    specialize beta_sum_succ_decompose M
  6. L146
    apply beta_sum_succ_decompose
  7. L147
    exact hcolumnsum
33Separate the logical casesL148–151

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

  1. L148
    cases hsum_decompose
  2. L149
    cases hsum_decompose_witness
  3. L150
    cases hsum_decompose_witness_witness
  4. L151
    cases hsum_decompose_witness_witness_right
34Establish hihL152–161

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

  1. L152
    have hih : x7 = x4
  2. L153
    specialize IH p
  3. L154
    specialize IH q
  4. L155
    specialize IH k
  5. L156
    specialize IH x
  6. L157
    specialize IH x1
  7. L158
    specialize IH db
  8. L159
    specialize IH dc
  9. L160
    specialize IH x4
  10. L161
    specialize IH x7
35Use earlier factsL162–166

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

  1. L162
    apply IH
  2. L163
    exact hreduced_outer
  3. L164
    exact hreduced_columns
  4. L165
    exact hreduced_sum_witness
  5. L166
    exact hsum_decompose_witness_witness_right_left
36Establish hlast_storedL167–171

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

  1. L167
    have hlast_stored : ∃ n. BetaAt(db,dc,h,n) ∧ (∃ x. ∃ y. (∀ z. Lt(z,k) → ∃ m. BetaAt(x,y,z,m) ∧ (∃ i. ∃ j. ∃ u. BetaAt(bb,bc,z,i) ∧ (∀ v. Lt(v,S h) → ∃ w. BetaAt(j,u,v,w) ∧ (w = 0 ∧ (Lt(p · S z,q · S v) ∧ ¬Lt(q · S v,p · S z)) ∨ w = 1 ∧ (Lt(q · S v,p · S z) ∧ ¬Lt(p · S z,q · S v)))) ∧ BitCount(j,u,S h,i) ∧ BetaAt(j,u,h,m))) ∧ BitCount(x,y,k,n))Definitions: BetaAt(db,dc,h,n)Lt(z,k)BetaAt(x,y,z,m)BetaAt(bb,bc,z,i)Lt(v,S h)BetaAt(j,u,v,w)Lt(p · S z,q · S v)Lt(q · S v,p · S z)BitCount(j,u,S h,i)BetaAt(j,u,h,m)BitCount(x,y,k,n)Original native command in the exact edition
  2. L168
    specialize hcolumns h
  3. L169
    apply hcolumns
  4. L170
    specialize le_refl (S h)
  5. L171
    exact le_refl
37Separate the logical casesL172–177

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

  1. L172
    cases hlast_stored
  2. L173
    cases hlast_stored_witness
  3. L174
    cases hlast_stored_witness_right
  4. L175
    cases hlast_stored_witness_right_witness
  5. L176
    cases hlast_stored_witness_right_witness_witness
  6. L177
    cases hlast_stored_witness_right_witness_witness_right
38Establish hcount_eqL178–186

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

  1. L178
    have hcount_eq : x8 = x6
  2. L179
    specialize beta_at_unique db
  3. L180
    specialize beta_at_unique dc
  4. L181
    specialize beta_at_unique h
  5. L182
    specialize beta_at_unique x8
  6. L183
    specialize beta_at_unique x6
  7. L184
    apply beta_at_unique
  8. L185
    exact hlast_stored_witness_left
  9. L186
    exact hsum_decompose_witness_witness_left
39Establish hterminal_eqL187–196

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

  1. L187
    have hterminal_eq : x5 = x8
  2. L188
    specialize eisenstein_successor_terminal_sum_matches_last_column p
  3. L189
    specialize eisenstein_successor_terminal_sum_matches_last_column q
  4. L190
    specialize eisenstein_successor_terminal_sum_matches_last_column h
  5. L191
    specialize eisenstein_successor_terminal_sum_matches_last_column (S h)
  6. L192
    specialize eisenstein_successor_terminal_sum_matches_last_column bb
  7. L193
    specialize eisenstein_successor_terminal_sum_matches_last_column bc
  8. L194
    specialize eisenstein_successor_terminal_sum_matches_last_column x
  9. L195
    specialize eisenstein_successor_terminal_sum_matches_last_column x1
  10. L196
    specialize eisenstein_successor_terminal_sum_matches_last_column x2
40Use earlier factsL197–203

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

  1. L197
    specialize eisenstein_successor_terminal_sum_matches_last_column x3
  2. L198
    specialize eisenstein_successor_terminal_sum_matches_last_column x9
  3. L199
    specialize eisenstein_successor_terminal_sum_matches_last_column x10
  4. L200
    specialize eisenstein_successor_terminal_sum_matches_last_column k
  5. L201
    specialize eisenstein_successor_terminal_sum_matches_last_column x5
  6. L202
    specialize eisenstein_successor_terminal_sum_matches_last_column x8
  7. L203
    apply eisenstein_successor_terminal_sum_matches_last_column
41Calculate and transport equalitiesL204–204

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

  1. L204
    refl
42Use earlier factsL205–208

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

  1. L205
    exact hsplit_exists_witness_witness_witness_witness
  2. L206
    exact hlast_stored_witness_right_witness_witness_left
  3. L207
    exact hterminal_sum_witness
  4. L208
    exact hlast_stored_witness_right_witness_witness_right_left
43Establish htotalL209–216

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

  1. L209
    have htotal : M = x4 + x5
  2. L210
    rewrite hih at hsum_decompose_witness_witness_right_right
  3. L211
    rewrite <- hcount_eq at hsum_decompose_witness_witness_right_right
  4. L212
    rewrite <- hterminal_eq at hsum_decompose_witness_witness_right_right
  5. L213
    exact hsum_decompose_witness_witness_right_right
  6. L214
    trans x4 + x5
  7. L215
    exact htotal
  8. L216
    exact hsource_add

Library-wide reading audit

Original defined command ledger · 216 lines
  1. 0001intro h
  2. 0002induction h
  3. 0003intro p
  4. 0004intro q
  5. 0005intro k
  6. 0006intro bb
  7. 0007intro bc
  8. 0008intro db
  9. 0009intro dc
  10. 0010intro T
  11. 0011intro M
  12. 0012intro houter
  13. 0013intro hcolumns
  14. 0014intro houtersum
  15. 0015intro hcolumnsum
  16. 0016have hmzero : M = 0
  17. 0017specialize beta_sum_zero db
  18. 0018specialize beta_sum_zero dc
  19. 0019specialize beta_sum_zero M
  20. 0020apply beta_sum_zero
  21. 0021exact hcolumnsum
  22. 0022have htzero : T = 0
  23. 0023specialize eisenstein_zero_width_rectangle_sum_zero q
  24. 0024specialize eisenstein_zero_width_rectangle_sum_zero p
  25. 0025specialize eisenstein_zero_width_rectangle_sum_zero 0
  26. 0026specialize eisenstein_zero_width_rectangle_sum_zero bb
  27. 0027specialize eisenstein_zero_width_rectangle_sum_zero bc
  28. 0028specialize eisenstein_zero_width_rectangle_sum_zero k
  29. 0029specialize eisenstein_zero_width_rectangle_sum_zero T
  30. 0030apply eisenstein_zero_width_rectangle_sum_zero
  31. 0031refl
  32. 0032exact houter
  33. 0033exact houtersum
  34. 0034trans 0
  35. 0035exact hmzero
  36. 0036symm
  37. 0037exact htzero
  38. 0038intro p
  39. 0039intro q
  40. 0040intro k
  41. 0041intro bb
  42. 0042intro bc
  43. 0043intro db
  44. 0044intro dc
  45. 0045intro T
  46. 0046intro M
  47. 0047intro houter
  48. 0048intro hcolumns
  49. 0049intro houtersum
  50. 0050intro hcolumnsum
  51. 0051have hsplit_exists : ∃ rb. ∃ rc. ∃ tb. ∃ tc. ∀ x. Lt(x,k) → ∃ y. ∃ z. ∃ n. BetaAt(bb,bc,x,y)BetaAt(rb,rc,x,z)BetaAt(tb,tc,x,n) ∧ (∃ m. ∃ i. (∀ j. Lt(j,S h) → ∃ u. BetaAt(m,i,j,u) ∧ (u = 0 ∧ (Lt(p · S x,q · S j) ∧ ¬Lt(q · S j,p · S x)) ∨ u = 1 ∧ (Lt(q · S j,p · S x) ∧ ¬Lt(p · S x,q · S j)))) ∧ BitCount(m,i,S h,y) ∧ ((∀ j. Lt(j,h) → ∃ u. BetaAt(m,i,j,u) ∧ (u = 0 ∧ (Lt(p · S x,q · S j) ∧ ¬Lt(q · S j,p · S x)) ∨ u = 1 ∧ (Lt(q · S j,p · S x) ∧ ¬Lt(p · S x,q · S j)))) ∧ BetaAt(m,i,h,n)) ∧ (BitCount(m,i,h,z) ∧ (n = 0 ∨ n = 1) ∧ y = z + n))
    Exact native replay linehave hsplit_exists : exists rb rc tb tc. (forall efrd_row_index_fubini_total_universal_split_exists. (exists efrd_lt_gap_fubini_total_universal_split_exists_bound. efrd_lt_gap_fubini_total_universal_split_exists_bound + S (efrd_row_index_fubini_total_universal_split_exists) = k) -> exists efrd_count_fubini_total_universal_split_exists efrd_reduced_count_fubini_total_universal_split_exists efrd_terminal_bit_fubini_total_universal_split_exists. (((((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_outer_entry. ff_h_efrd_fubini_total_universal_split_exists_entry_outer_entry + S (efrd_count_fubini_total_universal_split_exists) = S ((S (efrd_row_index_fubini_total_universal_split_exists)) * bc)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_outer_entry. bb = ff_q_efrd_fubini_total_universal_split_exists_entry_outer_entry * S ((S (efrd_row_index_fubini_total_universal_split_exists)) * bc) + (efrd_count_fubini_total_universal_split_exists))) /\ (((exists ff_h_efrd_fubini_total_universal_split_exists_entry_reduced_entry. ff_h_efrd_fubini_total_universal_split_exists_entry_reduced_entry + S (efrd_reduced_count_fubini_total_universal_split_exists) = S ((S (efrd_row_index_fubini_total_universal_split_exists)) * rc)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_reduced_entry. rb = ff_q_efrd_fubini_total_universal_split_exists_entry_reduced_entry * S ((S (efrd_row_index_fubini_total_universal_split_exists)) * rc) + (efrd_reduced_count_fubini_total_universal_split_exists)))) /\ (((exists ff_h_efrd_fubini_total_universal_split_exists_entry_terminal_entry. ff_h_efrd_fubini_total_universal_split_exists_entry_terminal_entry + S (efrd_terminal_bit_fubini_total_universal_split_exists) = S ((S (efrd_row_index_fubini_total_universal_split_exists)) * tc)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_terminal_entry. tb = ff_q_efrd_fubini_total_universal_split_exists_entry_terminal_entry * S ((S (efrd_row_index_fubini_total_universal_split_exists)) * tc) + (efrd_terminal_bit_fubini_total_universal_split_exists)))) /\ (exists efrd_row_code_fubini_total_universal_split_exists_entry_split efrd_row_scale_fubini_total_universal_split_exists_entry_split. (((((forall eri_column_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix. (exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_bound. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_bound + S (eri_column_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix) = S h) -> exists eri_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix) = S ((S (eri_column_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split)) /\ exists ff_q_eri_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_decoded. efrd_row_code_fubini_total_universal_split_exists_entry_split = ff_q_eri_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split) + (eri_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_choice_left + S (p * S efrd_row_index_fubini_total_universal_split_exists) = q * S eri_column_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_choice_right + S (q * S eri_column_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix) = p * S efrd_row_index_fubini_total_universal_split_exists))) \/ (eri_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_choice_right + S (q * S eri_column_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix) = p * S efrd_row_index_fubini_total_universal_split_exists) /\ ~(exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix_choice_left + S (p * S efrd_row_index_fubini_total_universal_split_exists) = q * S eri_column_efrd_fubini_total_universal_split_exists_entry_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum ff_v_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_start. ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_start. ff_u_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum = ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_terminal. ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_terminal + S (efrd_count_fubini_total_universal_split_exists) = S ((S (S h)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_terminal. ff_u_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum = ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_terminal * S ((S (S h)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum) + (efrd_count_fubini_total_universal_split_exists))) /\ forall ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum. (exists ff_lt_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_bound. ff_lt_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_bound + S ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum = S h) -> exists ff_a_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum ff_r_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum ff_s_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_summand. ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_summand + S (ff_a_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_summand. efrd_row_code_fubini_total_universal_split_exists_entry_split = ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split) + (ff_a_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_partial. ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_partial + S (ff_r_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_partial. ff_u_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum = ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum) + (ff_r_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_successor. ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_successor + S (ff_s_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_successor. ff_u_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum = ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum) + (ff_s_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum))) /\ ff_s_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum = ff_r_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum + ff_a_efrd_fubini_total_universal_split_exists_entry_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits. (exists ff_lt_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits_bound. ff_lt_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits_bound + S ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits = S h) -> exists ff_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits. ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits_decoded. ff_h_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits_decoded. efrd_row_code_fubini_total_universal_split_exists_entry_split = ff_q_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split) + (ff_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_total_universal_split_exists_entry_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix. (exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_bound. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_bound + S (eri_column_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split)) /\ exists ff_q_eri_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_decoded. efrd_row_code_fubini_total_universal_split_exists_entry_split = ff_q_eri_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split) + (eri_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_choice_left + S (p * S efrd_row_index_fubini_total_universal_split_exists) = q * S eri_column_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_choice_right + S (q * S eri_column_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix) = p * S efrd_row_index_fubini_total_universal_split_exists))) \/ (eri_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_choice_right + S (q * S eri_column_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix) = p * S efrd_row_index_fubini_total_universal_split_exists) /\ ~(exists eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix_choice_left + S (p * S efrd_row_index_fubini_total_universal_split_exists) = q * S eri_column_efrd_fubini_total_universal_split_exists_entry_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_terminal_entry. ff_h_efrd_fubini_total_universal_split_exists_entry_split_terminal_entry + S (efrd_terminal_bit_fubini_total_universal_split_exists) = S ((S (h)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_terminal_entry. efrd_row_code_fubini_total_universal_split_exists_entry_split = ff_q_efrd_fubini_total_universal_split_exists_entry_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split) + (efrd_terminal_bit_fubini_total_universal_split_exists))))) /\ (((((exists ff_u_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum ff_v_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_start. ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_start. ff_u_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum = ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_terminal. ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_terminal + S (efrd_reduced_count_fubini_total_universal_split_exists) = S ((S (h)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_terminal. ff_u_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum = ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum) + (efrd_reduced_count_fubini_total_universal_split_exists))) /\ forall ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum. (exists ff_lt_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_bound. ff_lt_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_bound + S ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum ff_r_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum ff_s_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_summand. ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_summand. efrd_row_code_fubini_total_universal_split_exists_entry_split = ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split) + (ff_a_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_partial. ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_partial. ff_u_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum = ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum) + (ff_r_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_successor. ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_successor. ff_u_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum = ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum) + (ff_s_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum))) /\ ff_s_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum = ff_r_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum + ff_a_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits. (exists ff_lt_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits_bound. ff_lt_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits_bound + S ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits_decoded. ff_h_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split)) /\ exists ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits_decoded. efrd_row_code_fubini_total_universal_split_exists_entry_split = ff_q_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_total_universal_split_exists_entry_split) + (ff_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_total_universal_split_exists_entry_split_reduced_count_bits = 1))))) /\ (efrd_terminal_bit_fubini_total_universal_split_exists = 0 \/ efrd_terminal_bit_fubini_total_universal_split_exists = 1)) /\ efrd_count_fubini_total_universal_split_exists = efrd_reduced_count_fubini_total_universal_split_exists + efrd_terminal_bit_fubini_total_universal_split_exists)))))))
  52. 0052specialize eisenstein_successor_rectangle_row_split_prefix_exists q
  53. 0053specialize eisenstein_successor_rectangle_row_split_prefix_exists p
  54. 0054specialize eisenstein_successor_rectangle_row_split_prefix_exists h
  55. 0055specialize eisenstein_successor_rectangle_row_split_prefix_exists (S h)
  56. 0056specialize eisenstein_successor_rectangle_row_split_prefix_exists bb
  57. 0057specialize eisenstein_successor_rectangle_row_split_prefix_exists bc
  58. 0058specialize eisenstein_successor_rectangle_row_split_prefix_exists k
  59. 0059apply eisenstein_successor_rectangle_row_split_prefix_exists
  60. 0060refl
  61. 0061exact houter
  62. 0062cases hsplit_exists
  63. 0063cases hsplit_exists_witness
  64. 0064cases hsplit_exists_witness_witness
  65. 0065cases hsplit_exists_witness_witness_witness
  66. 0066have hreduced_outer : ∀ erc_row_fubini_total_universal_reduced_outer. Lt(erc_row_fubini_total_universal_reduced_outer,k) → ∃ y. BetaAt(x,x1,erc_row_fubini_total_universal_reduced_outer,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,h) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(p · S erc_row_fubini_total_universal_reduced_outer,q · S m) ∧ ¬Lt(q · S m,p · S erc_row_fubini_total_universal_reduced_outer)) ∨ i = 1 ∧ (Lt(q · S m,p · S erc_row_fubini_total_universal_reduced_outer) ∧ ¬Lt(p · S erc_row_fubini_total_universal_reduced_outer,q · S m)))) ∧ BitCount(z,n,h,y))
    Exact native replay linehave hreduced_outer : forall erc_row_fubini_total_universal_reduced_outer. (exists erc_lt_gap_fubini_total_universal_reduced_outer_bound. erc_lt_gap_fubini_total_universal_reduced_outer_bound + S (erc_row_fubini_total_universal_reduced_outer) = k) -> exists erc_count_fubini_total_universal_reduced_outer. ((((exists ff_h_erc_fubini_total_universal_reduced_outer_decoded. ff_h_erc_fubini_total_universal_reduced_outer_decoded + S (erc_count_fubini_total_universal_reduced_outer) = S ((S (erc_row_fubini_total_universal_reduced_outer)) * x1)) /\ exists ff_q_erc_fubini_total_universal_reduced_outer_decoded. x = ff_q_erc_fubini_total_universal_reduced_outer_decoded * S ((S (erc_row_fubini_total_universal_reduced_outer)) * x1) + (erc_count_fubini_total_universal_reduced_outer))) /\ (exists erc_row_code_fubini_total_universal_reduced_outer_witness erc_row_scale_fubini_total_universal_reduced_outer_witness. ((forall eri_column_erc_fubini_total_universal_reduced_outer_witness_row. (exists eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_bound. eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_bound + S (eri_column_erc_fubini_total_universal_reduced_outer_witness_row) = h) -> exists eri_bit_erc_fubini_total_universal_reduced_outer_witness_row. ((((exists ff_h_eri_erc_fubini_total_universal_reduced_outer_witness_row_decoded. ff_h_eri_erc_fubini_total_universal_reduced_outer_witness_row_decoded + S (eri_bit_erc_fubini_total_universal_reduced_outer_witness_row) = S ((S (eri_column_erc_fubini_total_universal_reduced_outer_witness_row)) * erc_row_scale_fubini_total_universal_reduced_outer_witness)) /\ exists ff_q_eri_erc_fubini_total_universal_reduced_outer_witness_row_decoded. erc_row_code_fubini_total_universal_reduced_outer_witness = ff_q_eri_erc_fubini_total_universal_reduced_outer_witness_row_decoded * S ((S (eri_column_erc_fubini_total_universal_reduced_outer_witness_row)) * erc_row_scale_fubini_total_universal_reduced_outer_witness) + (eri_bit_erc_fubini_total_universal_reduced_outer_witness_row))) /\ (((eri_bit_erc_fubini_total_universal_reduced_outer_witness_row = 0 /\ ((exists eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_choice_left. eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_choice_left + S (p * S erc_row_fubini_total_universal_reduced_outer) = q * S eri_column_erc_fubini_total_universal_reduced_outer_witness_row) /\ ~(exists eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_choice_right. eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_choice_right + S (q * S eri_column_erc_fubini_total_universal_reduced_outer_witness_row) = p * S erc_row_fubini_total_universal_reduced_outer))) \/ (eri_bit_erc_fubini_total_universal_reduced_outer_witness_row = 1 /\ ((exists eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_choice_right. eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_choice_right + S (q * S eri_column_erc_fubini_total_universal_reduced_outer_witness_row) = p * S erc_row_fubini_total_universal_reduced_outer) /\ ~(exists eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_choice_left. eri_gap_erc_fubini_total_universal_reduced_outer_witness_row_choice_left + S (p * S erc_row_fubini_total_universal_reduced_outer) = q * S eri_column_erc_fubini_total_universal_reduced_outer_witness_row))))))) /\ (((exists ff_u_erc_fubini_total_universal_reduced_outer_witness_count_sum ff_v_erc_fubini_total_universal_reduced_outer_witness_count_sum. ((((exists ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_start. ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_fubini_total_universal_reduced_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_start. ff_u_erc_fubini_total_universal_reduced_outer_witness_count_sum = ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_start * S ((S (0)) * ff_v_erc_fubini_total_universal_reduced_outer_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_terminal. ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_terminal + S (erc_count_fubini_total_universal_reduced_outer) = S ((S (h)) * ff_v_erc_fubini_total_universal_reduced_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_terminal. ff_u_erc_fubini_total_universal_reduced_outer_witness_count_sum = ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_terminal * S ((S (h)) * ff_v_erc_fubini_total_universal_reduced_outer_witness_count_sum) + (erc_count_fubini_total_universal_reduced_outer))) /\ forall ff_i_erc_fubini_total_universal_reduced_outer_witness_count_sum. (exists ff_lt_erc_fubini_total_universal_reduced_outer_witness_count_sum_bound. ff_lt_erc_fubini_total_universal_reduced_outer_witness_count_sum_bound + S ff_i_erc_fubini_total_universal_reduced_outer_witness_count_sum = h) -> exists ff_a_erc_fubini_total_universal_reduced_outer_witness_count_sum ff_r_erc_fubini_total_universal_reduced_outer_witness_count_sum ff_s_erc_fubini_total_universal_reduced_outer_witness_count_sum. ((((exists ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_summand. ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_summand + S (ff_a_erc_fubini_total_universal_reduced_outer_witness_count_sum) = S ((S (ff_i_erc_fubini_total_universal_reduced_outer_witness_count_sum)) * erc_row_scale_fubini_total_universal_reduced_outer_witness)) /\ exists ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_summand. erc_row_code_fubini_total_universal_reduced_outer_witness = ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_summand * S ((S (ff_i_erc_fubini_total_universal_reduced_outer_witness_count_sum)) * erc_row_scale_fubini_total_universal_reduced_outer_witness) + (ff_a_erc_fubini_total_universal_reduced_outer_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_partial. ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_partial + S (ff_r_erc_fubini_total_universal_reduced_outer_witness_count_sum) = S ((S (ff_i_erc_fubini_total_universal_reduced_outer_witness_count_sum)) * ff_v_erc_fubini_total_universal_reduced_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_partial. ff_u_erc_fubini_total_universal_reduced_outer_witness_count_sum = ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_partial * S ((S (ff_i_erc_fubini_total_universal_reduced_outer_witness_count_sum)) * ff_v_erc_fubini_total_universal_reduced_outer_witness_count_sum) + (ff_r_erc_fubini_total_universal_reduced_outer_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_successor. ff_h_erc_fubini_total_universal_reduced_outer_witness_count_sum_successor + S (ff_s_erc_fubini_total_universal_reduced_outer_witness_count_sum) = S ((S (S ff_i_erc_fubini_total_universal_reduced_outer_witness_count_sum)) * ff_v_erc_fubini_total_universal_reduced_outer_witness_count_sum)) /\ exists ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_successor. ff_u_erc_fubini_total_universal_reduced_outer_witness_count_sum = ff_q_erc_fubini_total_universal_reduced_outer_witness_count_sum_successor * S ((S (S ff_i_erc_fubini_total_universal_reduced_outer_witness_count_sum)) * ff_v_erc_fubini_total_universal_reduced_outer_witness_count_sum) + (ff_s_erc_fubini_total_universal_reduced_outer_witness_count_sum))) /\ ff_s_erc_fubini_total_universal_reduced_outer_witness_count_sum = ff_r_erc_fubini_total_universal_reduced_outer_witness_count_sum + ff_a_erc_fubini_total_universal_reduced_outer_witness_count_sum)))))) /\ (forall ff_i_erc_fubini_total_universal_reduced_outer_witness_count_bits. (exists ff_lt_erc_fubini_total_universal_reduced_outer_witness_count_bits_bound. ff_lt_erc_fubini_total_universal_reduced_outer_witness_count_bits_bound + S ff_i_erc_fubini_total_universal_reduced_outer_witness_count_bits = h) -> exists ff_bit_erc_fubini_total_universal_reduced_outer_witness_count_bits. ((((exists ff_h_erc_fubini_total_universal_reduced_outer_witness_count_bits_decoded. ff_h_erc_fubini_total_universal_reduced_outer_witness_count_bits_decoded + S (ff_bit_erc_fubini_total_universal_reduced_outer_witness_count_bits) = S ((S (ff_i_erc_fubini_total_universal_reduced_outer_witness_count_bits)) * erc_row_scale_fubini_total_universal_reduced_outer_witness)) /\ exists ff_q_erc_fubini_total_universal_reduced_outer_witness_count_bits_decoded. erc_row_code_fubini_total_universal_reduced_outer_witness = ff_q_erc_fubini_total_universal_reduced_outer_witness_count_bits_decoded * S ((S (ff_i_erc_fubini_total_universal_reduced_outer_witness_count_bits)) * erc_row_scale_fubini_total_universal_reduced_outer_witness) + (ff_bit_erc_fubini_total_universal_reduced_outer_witness_count_bits))) /\ (ff_bit_erc_fubini_total_universal_reduced_outer_witness_count_bits = 0 \/ ff_bit_erc_fubini_total_universal_reduced_outer_witness_count_bits = 1))))))))
  67. 0067specialize eisenstein_successor_row_split_reduced_rectangle_prefix q
  68. 0068specialize eisenstein_successor_row_split_reduced_rectangle_prefix p
  69. 0069specialize eisenstein_successor_row_split_reduced_rectangle_prefix h
  70. 0070specialize eisenstein_successor_row_split_reduced_rectangle_prefix (S h)
  71. 0071specialize eisenstein_successor_row_split_reduced_rectangle_prefix bb
  72. 0072specialize eisenstein_successor_row_split_reduced_rectangle_prefix bc
  73. 0073specialize eisenstein_successor_row_split_reduced_rectangle_prefix x
  74. 0074specialize eisenstein_successor_row_split_reduced_rectangle_prefix x1
  75. 0075specialize eisenstein_successor_row_split_reduced_rectangle_prefix x2
  76. 0076specialize eisenstein_successor_row_split_reduced_rectangle_prefix x3
  77. 0077specialize eisenstein_successor_row_split_reduced_rectangle_prefix k
  78. 0078apply eisenstein_successor_row_split_reduced_rectangle_prefix
  79. 0079exact hsplit_exists_witness_witness_witness_witness
  80. 0080have hreduced_sum : ∃ R. Sum(x,x1,k,R)
    Exact native replay linehave hreduced_sum : exists R. (exists ff_u_fubini_total_universal_reduced_sum ff_v_fubini_total_universal_reduced_sum. ((((exists ff_h_fubini_total_universal_reduced_sum_start. ff_h_fubini_total_universal_reduced_sum_start + S (0) = S ((S (0)) * ff_v_fubini_total_universal_reduced_sum)) /\ exists ff_q_fubini_total_universal_reduced_sum_start. ff_u_fubini_total_universal_reduced_sum = ff_q_fubini_total_universal_reduced_sum_start * S ((S (0)) * ff_v_fubini_total_universal_reduced_sum) + (0))) /\ ((((exists ff_h_fubini_total_universal_reduced_sum_terminal. ff_h_fubini_total_universal_reduced_sum_terminal + S (R) = S ((S (k)) * ff_v_fubini_total_universal_reduced_sum)) /\ exists ff_q_fubini_total_universal_reduced_sum_terminal. ff_u_fubini_total_universal_reduced_sum = ff_q_fubini_total_universal_reduced_sum_terminal * S ((S (k)) * ff_v_fubini_total_universal_reduced_sum) + (R))) /\ forall ff_i_fubini_total_universal_reduced_sum. (exists ff_lt_fubini_total_universal_reduced_sum_bound. ff_lt_fubini_total_universal_reduced_sum_bound + S ff_i_fubini_total_universal_reduced_sum = k) -> exists ff_a_fubini_total_universal_reduced_sum ff_r_fubini_total_universal_reduced_sum ff_s_fubini_total_universal_reduced_sum. ((((exists ff_h_fubini_total_universal_reduced_sum_summand. ff_h_fubini_total_universal_reduced_sum_summand + S (ff_a_fubini_total_universal_reduced_sum) = S ((S (ff_i_fubini_total_universal_reduced_sum)) * x1)) /\ exists ff_q_fubini_total_universal_reduced_sum_summand. x = ff_q_fubini_total_universal_reduced_sum_summand * S ((S (ff_i_fubini_total_universal_reduced_sum)) * x1) + (ff_a_fubini_total_universal_reduced_sum))) /\ ((((exists ff_h_fubini_total_universal_reduced_sum_partial. ff_h_fubini_total_universal_reduced_sum_partial + S (ff_r_fubini_total_universal_reduced_sum) = S ((S (ff_i_fubini_total_universal_reduced_sum)) * ff_v_fubini_total_universal_reduced_sum)) /\ exists ff_q_fubini_total_universal_reduced_sum_partial. ff_u_fubini_total_universal_reduced_sum = ff_q_fubini_total_universal_reduced_sum_partial * S ((S (ff_i_fubini_total_universal_reduced_sum)) * ff_v_fubini_total_universal_reduced_sum) + (ff_r_fubini_total_universal_reduced_sum))) /\ ((((exists ff_h_fubini_total_universal_reduced_sum_successor. ff_h_fubini_total_universal_reduced_sum_successor + S (ff_s_fubini_total_universal_reduced_sum) = S ((S (S ff_i_fubini_total_universal_reduced_sum)) * ff_v_fubini_total_universal_reduced_sum)) /\ exists ff_q_fubini_total_universal_reduced_sum_successor. ff_u_fubini_total_universal_reduced_sum = ff_q_fubini_total_universal_reduced_sum_successor * S ((S (S ff_i_fubini_total_universal_reduced_sum)) * ff_v_fubini_total_universal_reduced_sum) + (ff_s_fubini_total_universal_reduced_sum))) /\ ff_s_fubini_total_universal_reduced_sum = ff_r_fubini_total_universal_reduced_sum + ff_a_fubini_total_universal_reduced_sum))))))
  81. 0081specialize beta_sum_exists x
  82. 0082specialize beta_sum_exists x1
  83. 0083specialize beta_sum_exists k
  84. 0084exact beta_sum_exists
  85. 0085cases hreduced_sum
  86. 0086have hterminal_sum : ∃ D. Sum(x2,x3,k,D)
    Exact native replay linehave hterminal_sum : exists D. (exists ff_u_fubini_total_universal_terminal_sum ff_v_fubini_total_universal_terminal_sum. ((((exists ff_h_fubini_total_universal_terminal_sum_start. ff_h_fubini_total_universal_terminal_sum_start + S (0) = S ((S (0)) * ff_v_fubini_total_universal_terminal_sum)) /\ exists ff_q_fubini_total_universal_terminal_sum_start. ff_u_fubini_total_universal_terminal_sum = ff_q_fubini_total_universal_terminal_sum_start * S ((S (0)) * ff_v_fubini_total_universal_terminal_sum) + (0))) /\ ((((exists ff_h_fubini_total_universal_terminal_sum_terminal. ff_h_fubini_total_universal_terminal_sum_terminal + S (D) = S ((S (k)) * ff_v_fubini_total_universal_terminal_sum)) /\ exists ff_q_fubini_total_universal_terminal_sum_terminal. ff_u_fubini_total_universal_terminal_sum = ff_q_fubini_total_universal_terminal_sum_terminal * S ((S (k)) * ff_v_fubini_total_universal_terminal_sum) + (D))) /\ forall ff_i_fubini_total_universal_terminal_sum. (exists ff_lt_fubini_total_universal_terminal_sum_bound. ff_lt_fubini_total_universal_terminal_sum_bound + S ff_i_fubini_total_universal_terminal_sum = k) -> exists ff_a_fubini_total_universal_terminal_sum ff_r_fubini_total_universal_terminal_sum ff_s_fubini_total_universal_terminal_sum. ((((exists ff_h_fubini_total_universal_terminal_sum_summand. ff_h_fubini_total_universal_terminal_sum_summand + S (ff_a_fubini_total_universal_terminal_sum) = S ((S (ff_i_fubini_total_universal_terminal_sum)) * x3)) /\ exists ff_q_fubini_total_universal_terminal_sum_summand. x2 = ff_q_fubini_total_universal_terminal_sum_summand * S ((S (ff_i_fubini_total_universal_terminal_sum)) * x3) + (ff_a_fubini_total_universal_terminal_sum))) /\ ((((exists ff_h_fubini_total_universal_terminal_sum_partial. ff_h_fubini_total_universal_terminal_sum_partial + S (ff_r_fubini_total_universal_terminal_sum) = S ((S (ff_i_fubini_total_universal_terminal_sum)) * ff_v_fubini_total_universal_terminal_sum)) /\ exists ff_q_fubini_total_universal_terminal_sum_partial. ff_u_fubini_total_universal_terminal_sum = ff_q_fubini_total_universal_terminal_sum_partial * S ((S (ff_i_fubini_total_universal_terminal_sum)) * ff_v_fubini_total_universal_terminal_sum) + (ff_r_fubini_total_universal_terminal_sum))) /\ ((((exists ff_h_fubini_total_universal_terminal_sum_successor. ff_h_fubini_total_universal_terminal_sum_successor + S (ff_s_fubini_total_universal_terminal_sum) = S ((S (S ff_i_fubini_total_universal_terminal_sum)) * ff_v_fubini_total_universal_terminal_sum)) /\ exists ff_q_fubini_total_universal_terminal_sum_successor. ff_u_fubini_total_universal_terminal_sum = ff_q_fubini_total_universal_terminal_sum_successor * S ((S (S ff_i_fubini_total_universal_terminal_sum)) * ff_v_fubini_total_universal_terminal_sum) + (ff_s_fubini_total_universal_terminal_sum))) /\ ff_s_fubini_total_universal_terminal_sum = ff_r_fubini_total_universal_terminal_sum + ff_a_fubini_total_universal_terminal_sum))))))
  87. 0087specialize beta_sum_exists x2
  88. 0088specialize beta_sum_exists x3
  89. 0089specialize beta_sum_exists k
  90. 0090exact beta_sum_exists
  91. 0091cases hterminal_sum
  92. 0092have hsource_add : x4 + x5 = T
  93. 0093specialize eisenstein_successor_row_split_sum_add q
  94. 0094specialize eisenstein_successor_row_split_sum_add p
  95. 0095specialize eisenstein_successor_row_split_sum_add h
  96. 0096specialize eisenstein_successor_row_split_sum_add (S h)
  97. 0097specialize eisenstein_successor_row_split_sum_add bb
  98. 0098specialize eisenstein_successor_row_split_sum_add bc
  99. 0099specialize eisenstein_successor_row_split_sum_add x
  100. 0100specialize eisenstein_successor_row_split_sum_add x1
  101. 0101specialize eisenstein_successor_row_split_sum_add x2
  102. 0102specialize eisenstein_successor_row_split_sum_add x3
  103. 0103specialize eisenstein_successor_row_split_sum_add k
  104. 0104specialize eisenstein_successor_row_split_sum_add x4
  105. 0105specialize eisenstein_successor_row_split_sum_add x5
  106. 0106specialize eisenstein_successor_row_split_sum_add T
  107. 0107apply eisenstein_successor_row_split_sum_add
  108. 0108exact hsplit_exists_witness_witness_witness_witness
  109. 0109exact hreduced_sum_witness
  110. 0110exact hterminal_sum_witness
  111. 0111exact houtersum
  112. 0112have hrestricted_columns : ∀ eft_fixed_index_fubini_total_universal_restricted_columns. Lt(eft_fixed_index_fubini_total_universal_restricted_columns,h) → ∃ x. BetaAt(db,dc,eft_fixed_index_fubini_total_universal_restricted_columns,x) ∧ (∃ y. ∃ z. (∀ n. Lt(n,k) → ∃ m. BetaAt(y,z,n,m) ∧ (∃ i. ∃ j. ∃ u. BetaAt(bb,bc,n,i) ∧ (∀ v. Lt(v,S h) → ∃ w. BetaAt(j,u,v,w) ∧ (w = 0 ∧ (Lt(p · S n,q · S v) ∧ ¬Lt(q · S v,p · S n)) ∨ w = 1 ∧ (Lt(q · S v,p · S n) ∧ ¬Lt(p · S n,q · S v)))) ∧ BitCount(j,u,S h,i)BetaAt(j,u,eft_fixed_index_fubini_total_universal_restricted_columns,m))) ∧ BitCount(y,z,k,x))
    Exact native replay linehave hrestricted_columns : forall eft_fixed_index_fubini_total_universal_restricted_columns. (exists edt_lt_gap_eft_fubini_total_universal_restricted_columns_bound. edt_lt_gap_eft_fubini_total_universal_restricted_columns_bound + S (eft_fixed_index_fubini_total_universal_restricted_columns) = h) -> exists eft_count_fubini_total_universal_restricted_columns. ((((exists ff_h_eft_fubini_total_universal_restricted_columns_decoded. ff_h_eft_fubini_total_universal_restricted_columns_decoded + S (eft_count_fubini_total_universal_restricted_columns) = S ((S (eft_fixed_index_fubini_total_universal_restricted_columns)) * dc)) /\ exists ff_q_eft_fubini_total_universal_restricted_columns_decoded. db = ff_q_eft_fubini_total_universal_restricted_columns_decoded * S ((S (eft_fixed_index_fubini_total_universal_restricted_columns)) * dc) + (eft_count_fubini_total_universal_restricted_columns))) /\ (exists eft_column_code_fubini_total_universal_restricted_columns_witness eft_column_scale_fubini_total_universal_restricted_columns_witness. ((forall etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column. (exists edt_lt_gap_eft_fubini_total_universal_restricted_columns_witness_column_bound. edt_lt_gap_eft_fubini_total_universal_restricted_columns_witness_column_bound + S (etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column) = k) -> exists etc_bit_eft_fubini_total_universal_restricted_columns_witness_column. ((((exists ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_decoded. ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_decoded + S (etc_bit_eft_fubini_total_universal_restricted_columns_witness_column) = S ((S (etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column)) * eft_column_scale_fubini_total_universal_restricted_columns_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_decoded. eft_column_code_fubini_total_universal_restricted_columns_witness = ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_decoded * S ((S (etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column)) * eft_column_scale_fubini_total_universal_restricted_columns_witness) + (etc_bit_eft_fubini_total_universal_restricted_columns_witness_column))) /\ (exists etc_count_eft_fubini_total_universal_restricted_columns_witness_column_witness etc_row_code_eft_fubini_total_universal_restricted_columns_witness_column_witness etc_row_scale_eft_fubini_total_universal_restricted_columns_witness_column_witness. ((((((exists ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_outer_entry. ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_outer_entry + S (etc_count_eft_fubini_total_universal_restricted_columns_witness_column_witness) = S ((S (etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column)) * bc)) /\ exists ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_outer_entry. bb = ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_outer_entry * S ((S (etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column)) * bc) + (etc_count_eft_fubini_total_universal_restricted_columns_witness_column_witness))) /\ (forall eri_column_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row. (exists eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_bound. eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_bound + S (eri_column_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row) = S h) -> exists eri_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row. ((((exists ff_h_eri_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_decoded. ff_h_eri_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_decoded + S (eri_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row) = S ((S (eri_column_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_universal_restricted_columns_witness_column_witness)) /\ exists ff_q_eri_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_decoded. etc_row_code_eft_fubini_total_universal_restricted_columns_witness_column_witness = ff_q_eri_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_decoded * S ((S (eri_column_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_universal_restricted_columns_witness_column_witness) + (eri_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row))) /\ (((eri_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row = 0 /\ ((exists eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column) = q * S eri_column_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row) /\ ~(exists eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column))) \/ (eri_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row = 1 /\ ((exists eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column) /\ ~(exists eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_universal_restricted_columns_witness_column) = q * S eri_column_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_row)))))))) /\ (((exists ff_u_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum ff_v_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_start. ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_start. ff_u_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_terminal. ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_terminal + S (etc_count_eft_fubini_total_universal_restricted_columns_witness_column_witness) = S ((S (S h)) * ff_v_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_terminal. ff_u_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_terminal * S ((S (S h)) * ff_v_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum) + (etc_count_eft_fubini_total_universal_restricted_columns_witness_column_witness))) /\ forall ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum. (exists ff_lt_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_bound. ff_lt_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_bound + S ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum = S h) -> exists ff_a_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum ff_r_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum ff_s_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_summand. ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_summand + S (ff_a_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_universal_restricted_columns_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_summand. etc_row_code_eft_fubini_total_universal_restricted_columns_witness_column_witness = ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_summand * S ((S (ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_universal_restricted_columns_witness_column_witness) + (ff_a_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_partial. ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_partial + S (ff_r_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_partial. ff_u_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_partial * S ((S (ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum) + (ff_r_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_successor. ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_successor + S (ff_s_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum) = S ((S (S ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_successor. ff_u_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum_successor * S ((S (S ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum) + (ff_s_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum))) /\ ff_s_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum = ff_r_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum + ff_a_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_sum)))))) /\ (forall ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits. (exists ff_lt_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits_bound. ff_lt_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits_bound + S ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits = S h) -> exists ff_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits. ((((exists ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits_decoded. ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits_decoded + S (ff_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits) = S ((S (ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_universal_restricted_columns_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits_decoded. etc_row_code_eft_fubini_total_universal_restricted_columns_witness_column_witness = ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits_decoded * S ((S (ff_i_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_universal_restricted_columns_witness_column_witness) + (ff_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits))) /\ (ff_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits = 0 \/ ff_bit_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_inner_entry. ff_h_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_inner_entry + S (etc_bit_eft_fubini_total_universal_restricted_columns_witness_column) = S ((S (eft_fixed_index_fubini_total_universal_restricted_columns)) * etc_row_scale_eft_fubini_total_universal_restricted_columns_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_inner_entry. etc_row_code_eft_fubini_total_universal_restricted_columns_witness_column_witness = ff_q_etc_eft_fubini_total_universal_restricted_columns_witness_column_witness_inner_entry * S ((S (eft_fixed_index_fubini_total_universal_restricted_columns)) * etc_row_scale_eft_fubini_total_universal_restricted_columns_witness_column_witness) + (etc_bit_eft_fubini_total_universal_restricted_columns_witness_column))))))) /\ (((exists ff_u_eft_fubini_total_universal_restricted_columns_witness_count_sum ff_v_eft_fubini_total_universal_restricted_columns_witness_count_sum. ((((exists ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_start. ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_eft_fubini_total_universal_restricted_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_start. ff_u_eft_fubini_total_universal_restricted_columns_witness_count_sum = ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_start * S ((S (0)) * ff_v_eft_fubini_total_universal_restricted_columns_witness_count_sum) + (0))) /\ ((((exists ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_terminal. ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_terminal + S (eft_count_fubini_total_universal_restricted_columns) = S ((S (k)) * ff_v_eft_fubini_total_universal_restricted_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_terminal. ff_u_eft_fubini_total_universal_restricted_columns_witness_count_sum = ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_terminal * S ((S (k)) * ff_v_eft_fubini_total_universal_restricted_columns_witness_count_sum) + (eft_count_fubini_total_universal_restricted_columns))) /\ forall ff_i_eft_fubini_total_universal_restricted_columns_witness_count_sum. (exists ff_lt_eft_fubini_total_universal_restricted_columns_witness_count_sum_bound. ff_lt_eft_fubini_total_universal_restricted_columns_witness_count_sum_bound + S ff_i_eft_fubini_total_universal_restricted_columns_witness_count_sum = k) -> exists ff_a_eft_fubini_total_universal_restricted_columns_witness_count_sum ff_r_eft_fubini_total_universal_restricted_columns_witness_count_sum ff_s_eft_fubini_total_universal_restricted_columns_witness_count_sum. ((((exists ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_summand. ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_summand + S (ff_a_eft_fubini_total_universal_restricted_columns_witness_count_sum) = S ((S (ff_i_eft_fubini_total_universal_restricted_columns_witness_count_sum)) * eft_column_scale_fubini_total_universal_restricted_columns_witness)) /\ exists ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_summand. eft_column_code_fubini_total_universal_restricted_columns_witness = ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_summand * S ((S (ff_i_eft_fubini_total_universal_restricted_columns_witness_count_sum)) * eft_column_scale_fubini_total_universal_restricted_columns_witness) + (ff_a_eft_fubini_total_universal_restricted_columns_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_partial. ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_partial + S (ff_r_eft_fubini_total_universal_restricted_columns_witness_count_sum) = S ((S (ff_i_eft_fubini_total_universal_restricted_columns_witness_count_sum)) * ff_v_eft_fubini_total_universal_restricted_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_partial. ff_u_eft_fubini_total_universal_restricted_columns_witness_count_sum = ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_partial * S ((S (ff_i_eft_fubini_total_universal_restricted_columns_witness_count_sum)) * ff_v_eft_fubini_total_universal_restricted_columns_witness_count_sum) + (ff_r_eft_fubini_total_universal_restricted_columns_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_successor. ff_h_eft_fubini_total_universal_restricted_columns_witness_count_sum_successor + S (ff_s_eft_fubini_total_universal_restricted_columns_witness_count_sum) = S ((S (S ff_i_eft_fubini_total_universal_restricted_columns_witness_count_sum)) * ff_v_eft_fubini_total_universal_restricted_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_successor. ff_u_eft_fubini_total_universal_restricted_columns_witness_count_sum = ff_q_eft_fubini_total_universal_restricted_columns_witness_count_sum_successor * S ((S (S ff_i_eft_fubini_total_universal_restricted_columns_witness_count_sum)) * ff_v_eft_fubini_total_universal_restricted_columns_witness_count_sum) + (ff_s_eft_fubini_total_universal_restricted_columns_witness_count_sum))) /\ ff_s_eft_fubini_total_universal_restricted_columns_witness_count_sum = ff_r_eft_fubini_total_universal_restricted_columns_witness_count_sum + ff_a_eft_fubini_total_universal_restricted_columns_witness_count_sum)))))) /\ (forall ff_i_eft_fubini_total_universal_restricted_columns_witness_count_bits. (exists ff_lt_eft_fubini_total_universal_restricted_columns_witness_count_bits_bound. ff_lt_eft_fubini_total_universal_restricted_columns_witness_count_bits_bound + S ff_i_eft_fubini_total_universal_restricted_columns_witness_count_bits = k) -> exists ff_bit_eft_fubini_total_universal_restricted_columns_witness_count_bits. ((((exists ff_h_eft_fubini_total_universal_restricted_columns_witness_count_bits_decoded. ff_h_eft_fubini_total_universal_restricted_columns_witness_count_bits_decoded + S (ff_bit_eft_fubini_total_universal_restricted_columns_witness_count_bits) = S ((S (ff_i_eft_fubini_total_universal_restricted_columns_witness_count_bits)) * eft_column_scale_fubini_total_universal_restricted_columns_witness)) /\ exists ff_q_eft_fubini_total_universal_restricted_columns_witness_count_bits_decoded. eft_column_code_fubini_total_universal_restricted_columns_witness = ff_q_eft_fubini_total_universal_restricted_columns_witness_count_bits_decoded * S ((S (ff_i_eft_fubini_total_universal_restricted_columns_witness_count_bits)) * eft_column_scale_fubini_total_universal_restricted_columns_witness) + (ff_bit_eft_fubini_total_universal_restricted_columns_witness_count_bits))) /\ (ff_bit_eft_fubini_total_universal_restricted_columns_witness_count_bits = 0 \/ ff_bit_eft_fubini_total_universal_restricted_columns_witness_count_bits = 1))))))))
  113. 0113specialize eisenstein_fubini_column_count_prefix_succ_restrict p
  114. 0114specialize eisenstein_fubini_column_count_prefix_succ_restrict q
  115. 0115specialize eisenstein_fubini_column_count_prefix_succ_restrict h
  116. 0116specialize eisenstein_fubini_column_count_prefix_succ_restrict (S h)
  117. 0117specialize eisenstein_fubini_column_count_prefix_succ_restrict bb
  118. 0118specialize eisenstein_fubini_column_count_prefix_succ_restrict bc
  119. 0119specialize eisenstein_fubini_column_count_prefix_succ_restrict db
  120. 0120specialize eisenstein_fubini_column_count_prefix_succ_restrict dc
  121. 0121specialize eisenstein_fubini_column_count_prefix_succ_restrict k
  122. 0122apply eisenstein_fubini_column_count_prefix_succ_restrict
  123. 0123refl
  124. 0124exact hcolumns
  125. 0125have hreduced_columns : ∀ eft_fixed_index_fubini_total_universal_reduced_columns. Lt(eft_fixed_index_fubini_total_universal_reduced_columns,h) → ∃ y. BetaAt(db,dc,eft_fixed_index_fubini_total_universal_reduced_columns,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (∃ j. ∃ u. ∃ v. BetaAt(x,x1,m,j) ∧ (∀ w. Lt(w,h) → ∃ x0. BetaAt(u,v,w,x0) ∧ (x0 = 0 ∧ (Lt(p · S m,q · S w) ∧ ¬Lt(q · S w,p · S m)) ∨ x0 = 1 ∧ (Lt(q · S w,p · S m) ∧ ¬Lt(p · S m,q · S w)))) ∧ BitCount(u,v,h,j)BetaAt(u,v,eft_fixed_index_fubini_total_universal_reduced_columns,i))) ∧ BitCount(z,n,k,y))
    Exact native replay linehave hreduced_columns : forall eft_fixed_index_fubini_total_universal_reduced_columns. (exists edt_lt_gap_eft_fubini_total_universal_reduced_columns_bound. edt_lt_gap_eft_fubini_total_universal_reduced_columns_bound + S (eft_fixed_index_fubini_total_universal_reduced_columns) = h) -> exists eft_count_fubini_total_universal_reduced_columns. ((((exists ff_h_eft_fubini_total_universal_reduced_columns_decoded. ff_h_eft_fubini_total_universal_reduced_columns_decoded + S (eft_count_fubini_total_universal_reduced_columns) = S ((S (eft_fixed_index_fubini_total_universal_reduced_columns)) * dc)) /\ exists ff_q_eft_fubini_total_universal_reduced_columns_decoded. db = ff_q_eft_fubini_total_universal_reduced_columns_decoded * S ((S (eft_fixed_index_fubini_total_universal_reduced_columns)) * dc) + (eft_count_fubini_total_universal_reduced_columns))) /\ (exists eft_column_code_fubini_total_universal_reduced_columns_witness eft_column_scale_fubini_total_universal_reduced_columns_witness. ((forall etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column. (exists edt_lt_gap_eft_fubini_total_universal_reduced_columns_witness_column_bound. edt_lt_gap_eft_fubini_total_universal_reduced_columns_witness_column_bound + S (etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column) = k) -> exists etc_bit_eft_fubini_total_universal_reduced_columns_witness_column. ((((exists ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_decoded. ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_decoded + S (etc_bit_eft_fubini_total_universal_reduced_columns_witness_column) = S ((S (etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column)) * eft_column_scale_fubini_total_universal_reduced_columns_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_decoded. eft_column_code_fubini_total_universal_reduced_columns_witness = ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_decoded * S ((S (etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column)) * eft_column_scale_fubini_total_universal_reduced_columns_witness) + (etc_bit_eft_fubini_total_universal_reduced_columns_witness_column))) /\ (exists etc_count_eft_fubini_total_universal_reduced_columns_witness_column_witness etc_row_code_eft_fubini_total_universal_reduced_columns_witness_column_witness etc_row_scale_eft_fubini_total_universal_reduced_columns_witness_column_witness. ((((((exists ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_outer_entry. ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_outer_entry + S (etc_count_eft_fubini_total_universal_reduced_columns_witness_column_witness) = S ((S (etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column)) * x1)) /\ exists ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_outer_entry. x = ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_outer_entry * S ((S (etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column)) * x1) + (etc_count_eft_fubini_total_universal_reduced_columns_witness_column_witness))) /\ (forall eri_column_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row. (exists eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_bound. eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_bound + S (eri_column_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row) = h) -> exists eri_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row. ((((exists ff_h_eri_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_decoded. ff_h_eri_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_decoded + S (eri_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row) = S ((S (eri_column_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_universal_reduced_columns_witness_column_witness)) /\ exists ff_q_eri_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_decoded. etc_row_code_eft_fubini_total_universal_reduced_columns_witness_column_witness = ff_q_eri_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_decoded * S ((S (eri_column_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_universal_reduced_columns_witness_column_witness) + (eri_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row))) /\ (((eri_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row = 0 /\ ((exists eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column) = q * S eri_column_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row) /\ ~(exists eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column))) \/ (eri_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row = 1 /\ ((exists eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column) /\ ~(exists eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_universal_reduced_columns_witness_column) = q * S eri_column_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_row)))))))) /\ (((exists ff_u_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum ff_v_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_start. ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_start. ff_u_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_terminal. ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_terminal + S (etc_count_eft_fubini_total_universal_reduced_columns_witness_column_witness) = S ((S (h)) * ff_v_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_terminal. ff_u_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum) + (etc_count_eft_fubini_total_universal_reduced_columns_witness_column_witness))) /\ forall ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum. (exists ff_lt_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_bound. ff_lt_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_bound + S ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum = h) -> exists ff_a_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum ff_r_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum ff_s_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_summand. ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_summand + S (ff_a_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_universal_reduced_columns_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_summand. etc_row_code_eft_fubini_total_universal_reduced_columns_witness_column_witness = ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_summand * S ((S (ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_universal_reduced_columns_witness_column_witness) + (ff_a_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_partial. ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_partial + S (ff_r_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_partial. ff_u_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_partial * S ((S (ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum) + (ff_r_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_successor. ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_successor + S (ff_s_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum) = S ((S (S ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_successor. ff_u_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum_successor * S ((S (S ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum) + (ff_s_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum))) /\ ff_s_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum = ff_r_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum + ff_a_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_sum)))))) /\ (forall ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits. (exists ff_lt_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits_bound. ff_lt_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits_bound + S ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits = h) -> exists ff_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits. ((((exists ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits_decoded. ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits_decoded + S (ff_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits) = S ((S (ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_universal_reduced_columns_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits_decoded. etc_row_code_eft_fubini_total_universal_reduced_columns_witness_column_witness = ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits_decoded * S ((S (ff_i_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_universal_reduced_columns_witness_column_witness) + (ff_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits))) /\ (ff_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits = 0 \/ ff_bit_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_inner_entry. ff_h_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_inner_entry + S (etc_bit_eft_fubini_total_universal_reduced_columns_witness_column) = S ((S (eft_fixed_index_fubini_total_universal_reduced_columns)) * etc_row_scale_eft_fubini_total_universal_reduced_columns_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_inner_entry. etc_row_code_eft_fubini_total_universal_reduced_columns_witness_column_witness = ff_q_etc_eft_fubini_total_universal_reduced_columns_witness_column_witness_inner_entry * S ((S (eft_fixed_index_fubini_total_universal_reduced_columns)) * etc_row_scale_eft_fubini_total_universal_reduced_columns_witness_column_witness) + (etc_bit_eft_fubini_total_universal_reduced_columns_witness_column))))))) /\ (((exists ff_u_eft_fubini_total_universal_reduced_columns_witness_count_sum ff_v_eft_fubini_total_universal_reduced_columns_witness_count_sum. ((((exists ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_start. ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_eft_fubini_total_universal_reduced_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_start. ff_u_eft_fubini_total_universal_reduced_columns_witness_count_sum = ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_start * S ((S (0)) * ff_v_eft_fubini_total_universal_reduced_columns_witness_count_sum) + (0))) /\ ((((exists ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_terminal. ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_terminal + S (eft_count_fubini_total_universal_reduced_columns) = S ((S (k)) * ff_v_eft_fubini_total_universal_reduced_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_terminal. ff_u_eft_fubini_total_universal_reduced_columns_witness_count_sum = ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_terminal * S ((S (k)) * ff_v_eft_fubini_total_universal_reduced_columns_witness_count_sum) + (eft_count_fubini_total_universal_reduced_columns))) /\ forall ff_i_eft_fubini_total_universal_reduced_columns_witness_count_sum. (exists ff_lt_eft_fubini_total_universal_reduced_columns_witness_count_sum_bound. ff_lt_eft_fubini_total_universal_reduced_columns_witness_count_sum_bound + S ff_i_eft_fubini_total_universal_reduced_columns_witness_count_sum = k) -> exists ff_a_eft_fubini_total_universal_reduced_columns_witness_count_sum ff_r_eft_fubini_total_universal_reduced_columns_witness_count_sum ff_s_eft_fubini_total_universal_reduced_columns_witness_count_sum. ((((exists ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_summand. ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_summand + S (ff_a_eft_fubini_total_universal_reduced_columns_witness_count_sum) = S ((S (ff_i_eft_fubini_total_universal_reduced_columns_witness_count_sum)) * eft_column_scale_fubini_total_universal_reduced_columns_witness)) /\ exists ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_summand. eft_column_code_fubini_total_universal_reduced_columns_witness = ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_summand * S ((S (ff_i_eft_fubini_total_universal_reduced_columns_witness_count_sum)) * eft_column_scale_fubini_total_universal_reduced_columns_witness) + (ff_a_eft_fubini_total_universal_reduced_columns_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_partial. ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_partial + S (ff_r_eft_fubini_total_universal_reduced_columns_witness_count_sum) = S ((S (ff_i_eft_fubini_total_universal_reduced_columns_witness_count_sum)) * ff_v_eft_fubini_total_universal_reduced_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_partial. ff_u_eft_fubini_total_universal_reduced_columns_witness_count_sum = ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_partial * S ((S (ff_i_eft_fubini_total_universal_reduced_columns_witness_count_sum)) * ff_v_eft_fubini_total_universal_reduced_columns_witness_count_sum) + (ff_r_eft_fubini_total_universal_reduced_columns_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_successor. ff_h_eft_fubini_total_universal_reduced_columns_witness_count_sum_successor + S (ff_s_eft_fubini_total_universal_reduced_columns_witness_count_sum) = S ((S (S ff_i_eft_fubini_total_universal_reduced_columns_witness_count_sum)) * ff_v_eft_fubini_total_universal_reduced_columns_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_successor. ff_u_eft_fubini_total_universal_reduced_columns_witness_count_sum = ff_q_eft_fubini_total_universal_reduced_columns_witness_count_sum_successor * S ((S (S ff_i_eft_fubini_total_universal_reduced_columns_witness_count_sum)) * ff_v_eft_fubini_total_universal_reduced_columns_witness_count_sum) + (ff_s_eft_fubini_total_universal_reduced_columns_witness_count_sum))) /\ ff_s_eft_fubini_total_universal_reduced_columns_witness_count_sum = ff_r_eft_fubini_total_universal_reduced_columns_witness_count_sum + ff_a_eft_fubini_total_universal_reduced_columns_witness_count_sum)))))) /\ (forall ff_i_eft_fubini_total_universal_reduced_columns_witness_count_bits. (exists ff_lt_eft_fubini_total_universal_reduced_columns_witness_count_bits_bound. ff_lt_eft_fubini_total_universal_reduced_columns_witness_count_bits_bound + S ff_i_eft_fubini_total_universal_reduced_columns_witness_count_bits = k) -> exists ff_bit_eft_fubini_total_universal_reduced_columns_witness_count_bits. ((((exists ff_h_eft_fubini_total_universal_reduced_columns_witness_count_bits_decoded. ff_h_eft_fubini_total_universal_reduced_columns_witness_count_bits_decoded + S (ff_bit_eft_fubini_total_universal_reduced_columns_witness_count_bits) = S ((S (ff_i_eft_fubini_total_universal_reduced_columns_witness_count_bits)) * eft_column_scale_fubini_total_universal_reduced_columns_witness)) /\ exists ff_q_eft_fubini_total_universal_reduced_columns_witness_count_bits_decoded. eft_column_code_fubini_total_universal_reduced_columns_witness = ff_q_eft_fubini_total_universal_reduced_columns_witness_count_bits_decoded * S ((S (ff_i_eft_fubini_total_universal_reduced_columns_witness_count_bits)) * eft_column_scale_fubini_total_universal_reduced_columns_witness) + (ff_bit_eft_fubini_total_universal_reduced_columns_witness_count_bits))) /\ (ff_bit_eft_fubini_total_universal_reduced_columns_witness_count_bits = 0 \/ ff_bit_eft_fubini_total_universal_reduced_columns_witness_count_bits = 1))))))))
  126. 0126specialize eisenstein_fubini_column_count_prefix_retarget_predecessor p
  127. 0127specialize eisenstein_fubini_column_count_prefix_retarget_predecessor q
  128. 0128specialize eisenstein_fubini_column_count_prefix_retarget_predecessor h
  129. 0129specialize eisenstein_fubini_column_count_prefix_retarget_predecessor (S h)
  130. 0130specialize eisenstein_fubini_column_count_prefix_retarget_predecessor bb
  131. 0131specialize eisenstein_fubini_column_count_prefix_retarget_predecessor bc
  132. 0132specialize eisenstein_fubini_column_count_prefix_retarget_predecessor x
  133. 0133specialize eisenstein_fubini_column_count_prefix_retarget_predecessor x1
  134. 0134specialize eisenstein_fubini_column_count_prefix_retarget_predecessor db
  135. 0135specialize eisenstein_fubini_column_count_prefix_retarget_predecessor dc
  136. 0136specialize eisenstein_fubini_column_count_prefix_retarget_predecessor k
  137. 0137apply eisenstein_fubini_column_count_prefix_retarget_predecessor
  138. 0138refl
  139. 0139exact hreduced_outer
  140. 0140exact hrestricted_columns
  141. 0141have hsum_decompose : ∃ a. ∃ r. BetaAt(db,dc,h,a) ∧ (Sum(db,dc,h,r) ∧ M = r + a)
    Exact native replay linehave hsum_decompose : exists a r. ((((exists ff_h_fubini_total_universal_column_last_entry. ff_h_fubini_total_universal_column_last_entry + S (a) = S ((S (h)) * dc)) /\ exists ff_q_fubini_total_universal_column_last_entry. db = ff_q_fubini_total_universal_column_last_entry * S ((S (h)) * dc) + (a))) /\ ((exists ff_u_fubini_total_universal_column_prefix_sum ff_v_fubini_total_universal_column_prefix_sum. ((((exists ff_h_fubini_total_universal_column_prefix_sum_start. ff_h_fubini_total_universal_column_prefix_sum_start + S (0) = S ((S (0)) * ff_v_fubini_total_universal_column_prefix_sum)) /\ exists ff_q_fubini_total_universal_column_prefix_sum_start. ff_u_fubini_total_universal_column_prefix_sum = ff_q_fubini_total_universal_column_prefix_sum_start * S ((S (0)) * ff_v_fubini_total_universal_column_prefix_sum) + (0))) /\ ((((exists ff_h_fubini_total_universal_column_prefix_sum_terminal. ff_h_fubini_total_universal_column_prefix_sum_terminal + S (r) = S ((S (h)) * ff_v_fubini_total_universal_column_prefix_sum)) /\ exists ff_q_fubini_total_universal_column_prefix_sum_terminal. ff_u_fubini_total_universal_column_prefix_sum = ff_q_fubini_total_universal_column_prefix_sum_terminal * S ((S (h)) * ff_v_fubini_total_universal_column_prefix_sum) + (r))) /\ forall ff_i_fubini_total_universal_column_prefix_sum. (exists ff_lt_fubini_total_universal_column_prefix_sum_bound. ff_lt_fubini_total_universal_column_prefix_sum_bound + S ff_i_fubini_total_universal_column_prefix_sum = h) -> exists ff_a_fubini_total_universal_column_prefix_sum ff_r_fubini_total_universal_column_prefix_sum ff_s_fubini_total_universal_column_prefix_sum. ((((exists ff_h_fubini_total_universal_column_prefix_sum_summand. ff_h_fubini_total_universal_column_prefix_sum_summand + S (ff_a_fubini_total_universal_column_prefix_sum) = S ((S (ff_i_fubini_total_universal_column_prefix_sum)) * dc)) /\ exists ff_q_fubini_total_universal_column_prefix_sum_summand. db = ff_q_fubini_total_universal_column_prefix_sum_summand * S ((S (ff_i_fubini_total_universal_column_prefix_sum)) * dc) + (ff_a_fubini_total_universal_column_prefix_sum))) /\ ((((exists ff_h_fubini_total_universal_column_prefix_sum_partial. ff_h_fubini_total_universal_column_prefix_sum_partial + S (ff_r_fubini_total_universal_column_prefix_sum) = S ((S (ff_i_fubini_total_universal_column_prefix_sum)) * ff_v_fubini_total_universal_column_prefix_sum)) /\ exists ff_q_fubini_total_universal_column_prefix_sum_partial. ff_u_fubini_total_universal_column_prefix_sum = ff_q_fubini_total_universal_column_prefix_sum_partial * S ((S (ff_i_fubini_total_universal_column_prefix_sum)) * ff_v_fubini_total_universal_column_prefix_sum) + (ff_r_fubini_total_universal_column_prefix_sum))) /\ ((((exists ff_h_fubini_total_universal_column_prefix_sum_successor. ff_h_fubini_total_universal_column_prefix_sum_successor + S (ff_s_fubini_total_universal_column_prefix_sum) = S ((S (S ff_i_fubini_total_universal_column_prefix_sum)) * ff_v_fubini_total_universal_column_prefix_sum)) /\ exists ff_q_fubini_total_universal_column_prefix_sum_successor. ff_u_fubini_total_universal_column_prefix_sum = ff_q_fubini_total_universal_column_prefix_sum_successor * S ((S (S ff_i_fubini_total_universal_column_prefix_sum)) * ff_v_fubini_total_universal_column_prefix_sum) + (ff_s_fubini_total_universal_column_prefix_sum))) /\ ff_s_fubini_total_universal_column_prefix_sum = ff_r_fubini_total_universal_column_prefix_sum + ff_a_fubini_total_universal_column_prefix_sum)))))) /\ M = r + a))
  142. 0142specialize beta_sum_succ_decompose db
  143. 0143specialize beta_sum_succ_decompose dc
  144. 0144specialize beta_sum_succ_decompose h
  145. 0145specialize beta_sum_succ_decompose M
  146. 0146apply beta_sum_succ_decompose
  147. 0147exact hcolumnsum
  148. 0148cases hsum_decompose
  149. 0149cases hsum_decompose_witness
  150. 0150cases hsum_decompose_witness_witness
  151. 0151cases hsum_decompose_witness_witness_right
  152. 0152have hih : x7 = x4
  153. 0153specialize IH p
  154. 0154specialize IH q
  155. 0155specialize IH k
  156. 0156specialize IH x
  157. 0157specialize IH x1
  158. 0158specialize IH db
  159. 0159specialize IH dc
  160. 0160specialize IH x4
  161. 0161specialize IH x7
  162. 0162apply IH
  163. 0163exact hreduced_outer
  164. 0164exact hreduced_columns
  165. 0165exact hreduced_sum_witness
  166. 0166exact hsum_decompose_witness_witness_right_left
  167. 0167have hlast_stored : ∃ n. BetaAt(db,dc,h,n) ∧ (∃ x. ∃ y. (∀ z. Lt(z,k) → ∃ m. BetaAt(x,y,z,m) ∧ (∃ i. ∃ j. ∃ u. BetaAt(bb,bc,z,i) ∧ (∀ v. Lt(v,S h) → ∃ w. BetaAt(j,u,v,w) ∧ (w = 0 ∧ (Lt(p · S z,q · S v) ∧ ¬Lt(q · S v,p · S z)) ∨ w = 1 ∧ (Lt(q · S v,p · S z) ∧ ¬Lt(p · S z,q · S v)))) ∧ BitCount(j,u,S h,i)BetaAt(j,u,h,m))) ∧ BitCount(x,y,k,n))
    Exact native replay linehave hlast_stored : exists n. ((((exists ff_h_fubini_total_universal_last_stored_entry. ff_h_fubini_total_universal_last_stored_entry + S (n) = S ((S (h)) * dc)) /\ exists ff_q_fubini_total_universal_last_stored_entry. db = ff_q_fubini_total_universal_last_stored_entry * S ((S (h)) * dc) + (n))) /\ (exists eft_column_code_fubini_total_universal_last_stored_witness eft_column_scale_fubini_total_universal_last_stored_witness. ((forall etc_row_index_eft_fubini_total_universal_last_stored_witness_column. (exists edt_lt_gap_eft_fubini_total_universal_last_stored_witness_column_bound. edt_lt_gap_eft_fubini_total_universal_last_stored_witness_column_bound + S (etc_row_index_eft_fubini_total_universal_last_stored_witness_column) = k) -> exists etc_bit_eft_fubini_total_universal_last_stored_witness_column. ((((exists ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_decoded. ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_decoded + S (etc_bit_eft_fubini_total_universal_last_stored_witness_column) = S ((S (etc_row_index_eft_fubini_total_universal_last_stored_witness_column)) * eft_column_scale_fubini_total_universal_last_stored_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_decoded. eft_column_code_fubini_total_universal_last_stored_witness = ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_decoded * S ((S (etc_row_index_eft_fubini_total_universal_last_stored_witness_column)) * eft_column_scale_fubini_total_universal_last_stored_witness) + (etc_bit_eft_fubini_total_universal_last_stored_witness_column))) /\ (exists etc_count_eft_fubini_total_universal_last_stored_witness_column_witness etc_row_code_eft_fubini_total_universal_last_stored_witness_column_witness etc_row_scale_eft_fubini_total_universal_last_stored_witness_column_witness. ((((((exists ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_outer_entry. ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_outer_entry + S (etc_count_eft_fubini_total_universal_last_stored_witness_column_witness) = S ((S (etc_row_index_eft_fubini_total_universal_last_stored_witness_column)) * bc)) /\ exists ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_outer_entry. bb = ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_outer_entry * S ((S (etc_row_index_eft_fubini_total_universal_last_stored_witness_column)) * bc) + (etc_count_eft_fubini_total_universal_last_stored_witness_column_witness))) /\ (forall eri_column_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row. (exists eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_bound. eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_bound + S (eri_column_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row) = S h) -> exists eri_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row. ((((exists ff_h_eri_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_decoded. ff_h_eri_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_decoded + S (eri_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row) = S ((S (eri_column_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_universal_last_stored_witness_column_witness)) /\ exists ff_q_eri_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_decoded. etc_row_code_eft_fubini_total_universal_last_stored_witness_column_witness = ff_q_eri_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_decoded * S ((S (eri_column_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row)) * etc_row_scale_eft_fubini_total_universal_last_stored_witness_column_witness) + (eri_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row))) /\ (((eri_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row = 0 /\ ((exists eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_universal_last_stored_witness_column) = q * S eri_column_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row) /\ ~(exists eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_universal_last_stored_witness_column))) \/ (eri_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row = 1 /\ ((exists eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_choice_right. eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_choice_right + S (q * S eri_column_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row) = p * S etc_row_index_eft_fubini_total_universal_last_stored_witness_column) /\ ~(exists eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_choice_left. eri_gap_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row_choice_left + S (p * S etc_row_index_eft_fubini_total_universal_last_stored_witness_column) = q * S eri_column_etc_eft_fubini_total_universal_last_stored_witness_column_witness_row)))))))) /\ (((exists ff_u_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum ff_v_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_start. ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_start. ff_u_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_terminal. ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_terminal + S (etc_count_eft_fubini_total_universal_last_stored_witness_column_witness) = S ((S (S h)) * ff_v_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_terminal. ff_u_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_terminal * S ((S (S h)) * ff_v_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum) + (etc_count_eft_fubini_total_universal_last_stored_witness_column_witness))) /\ forall ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum. (exists ff_lt_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_bound. ff_lt_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_bound + S ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum = S h) -> exists ff_a_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum ff_r_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum ff_s_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_summand. ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_summand + S (ff_a_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_universal_last_stored_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_summand. etc_row_code_eft_fubini_total_universal_last_stored_witness_column_witness = ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_summand * S ((S (ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) * etc_row_scale_eft_fubini_total_universal_last_stored_witness_column_witness) + (ff_a_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_partial. ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_partial + S (ff_r_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_partial. ff_u_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_partial * S ((S (ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum) + (ff_r_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_successor. ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_successor + S (ff_s_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum) = S ((S (S ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_successor. ff_u_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum = ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum_successor * S ((S (S ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)) * ff_v_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum) + (ff_s_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum))) /\ ff_s_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum = ff_r_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum + ff_a_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_sum)))))) /\ (forall ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits. (exists ff_lt_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits_bound. ff_lt_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits_bound + S ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits = S h) -> exists ff_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits. ((((exists ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits_decoded. ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits_decoded + S (ff_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits) = S ((S (ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_universal_last_stored_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits_decoded. etc_row_code_eft_fubini_total_universal_last_stored_witness_column_witness = ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits_decoded * S ((S (ff_i_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits)) * etc_row_scale_eft_fubini_total_universal_last_stored_witness_column_witness) + (ff_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits))) /\ (ff_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits = 0 \/ ff_bit_etc_eft_fubini_total_universal_last_stored_witness_column_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_inner_entry. ff_h_etc_eft_fubini_total_universal_last_stored_witness_column_witness_inner_entry + S (etc_bit_eft_fubini_total_universal_last_stored_witness_column) = S ((S (h)) * etc_row_scale_eft_fubini_total_universal_last_stored_witness_column_witness)) /\ exists ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_inner_entry. etc_row_code_eft_fubini_total_universal_last_stored_witness_column_witness = ff_q_etc_eft_fubini_total_universal_last_stored_witness_column_witness_inner_entry * S ((S (h)) * etc_row_scale_eft_fubini_total_universal_last_stored_witness_column_witness) + (etc_bit_eft_fubini_total_universal_last_stored_witness_column))))))) /\ (((exists ff_u_eft_fubini_total_universal_last_stored_witness_count_sum ff_v_eft_fubini_total_universal_last_stored_witness_count_sum. ((((exists ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_start. ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_eft_fubini_total_universal_last_stored_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_start. ff_u_eft_fubini_total_universal_last_stored_witness_count_sum = ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_start * S ((S (0)) * ff_v_eft_fubini_total_universal_last_stored_witness_count_sum) + (0))) /\ ((((exists ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_terminal. ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_terminal + S (n) = S ((S (k)) * ff_v_eft_fubini_total_universal_last_stored_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_terminal. ff_u_eft_fubini_total_universal_last_stored_witness_count_sum = ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_terminal * S ((S (k)) * ff_v_eft_fubini_total_universal_last_stored_witness_count_sum) + (n))) /\ forall ff_i_eft_fubini_total_universal_last_stored_witness_count_sum. (exists ff_lt_eft_fubini_total_universal_last_stored_witness_count_sum_bound. ff_lt_eft_fubini_total_universal_last_stored_witness_count_sum_bound + S ff_i_eft_fubini_total_universal_last_stored_witness_count_sum = k) -> exists ff_a_eft_fubini_total_universal_last_stored_witness_count_sum ff_r_eft_fubini_total_universal_last_stored_witness_count_sum ff_s_eft_fubini_total_universal_last_stored_witness_count_sum. ((((exists ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_summand. ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_summand + S (ff_a_eft_fubini_total_universal_last_stored_witness_count_sum) = S ((S (ff_i_eft_fubini_total_universal_last_stored_witness_count_sum)) * eft_column_scale_fubini_total_universal_last_stored_witness)) /\ exists ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_summand. eft_column_code_fubini_total_universal_last_stored_witness = ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_summand * S ((S (ff_i_eft_fubini_total_universal_last_stored_witness_count_sum)) * eft_column_scale_fubini_total_universal_last_stored_witness) + (ff_a_eft_fubini_total_universal_last_stored_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_partial. ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_partial + S (ff_r_eft_fubini_total_universal_last_stored_witness_count_sum) = S ((S (ff_i_eft_fubini_total_universal_last_stored_witness_count_sum)) * ff_v_eft_fubini_total_universal_last_stored_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_partial. ff_u_eft_fubini_total_universal_last_stored_witness_count_sum = ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_partial * S ((S (ff_i_eft_fubini_total_universal_last_stored_witness_count_sum)) * ff_v_eft_fubini_total_universal_last_stored_witness_count_sum) + (ff_r_eft_fubini_total_universal_last_stored_witness_count_sum))) /\ ((((exists ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_successor. ff_h_eft_fubini_total_universal_last_stored_witness_count_sum_successor + S (ff_s_eft_fubini_total_universal_last_stored_witness_count_sum) = S ((S (S ff_i_eft_fubini_total_universal_last_stored_witness_count_sum)) * ff_v_eft_fubini_total_universal_last_stored_witness_count_sum)) /\ exists ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_successor. ff_u_eft_fubini_total_universal_last_stored_witness_count_sum = ff_q_eft_fubini_total_universal_last_stored_witness_count_sum_successor * S ((S (S ff_i_eft_fubini_total_universal_last_stored_witness_count_sum)) * ff_v_eft_fubini_total_universal_last_stored_witness_count_sum) + (ff_s_eft_fubini_total_universal_last_stored_witness_count_sum))) /\ ff_s_eft_fubini_total_universal_last_stored_witness_count_sum = ff_r_eft_fubini_total_universal_last_stored_witness_count_sum + ff_a_eft_fubini_total_universal_last_stored_witness_count_sum)))))) /\ (forall ff_i_eft_fubini_total_universal_last_stored_witness_count_bits. (exists ff_lt_eft_fubini_total_universal_last_stored_witness_count_bits_bound. ff_lt_eft_fubini_total_universal_last_stored_witness_count_bits_bound + S ff_i_eft_fubini_total_universal_last_stored_witness_count_bits = k) -> exists ff_bit_eft_fubini_total_universal_last_stored_witness_count_bits. ((((exists ff_h_eft_fubini_total_universal_last_stored_witness_count_bits_decoded. ff_h_eft_fubini_total_universal_last_stored_witness_count_bits_decoded + S (ff_bit_eft_fubini_total_universal_last_stored_witness_count_bits) = S ((S (ff_i_eft_fubini_total_universal_last_stored_witness_count_bits)) * eft_column_scale_fubini_total_universal_last_stored_witness)) /\ exists ff_q_eft_fubini_total_universal_last_stored_witness_count_bits_decoded. eft_column_code_fubini_total_universal_last_stored_witness = ff_q_eft_fubini_total_universal_last_stored_witness_count_bits_decoded * S ((S (ff_i_eft_fubini_total_universal_last_stored_witness_count_bits)) * eft_column_scale_fubini_total_universal_last_stored_witness) + (ff_bit_eft_fubini_total_universal_last_stored_witness_count_bits))) /\ (ff_bit_eft_fubini_total_universal_last_stored_witness_count_bits = 0 \/ ff_bit_eft_fubini_total_universal_last_stored_witness_count_bits = 1))))))))
  168. 0168specialize hcolumns h
  169. 0169apply hcolumns
  170. 0170specialize le_refl (S h)
  171. 0171exact le_refl
  172. 0172cases hlast_stored
  173. 0173cases hlast_stored_witness
  174. 0174cases hlast_stored_witness_right
  175. 0175cases hlast_stored_witness_right_witness
  176. 0176cases hlast_stored_witness_right_witness_witness
  177. 0177cases hlast_stored_witness_right_witness_witness_right
  178. 0178have hcount_eq : x8 = x6
  179. 0179specialize beta_at_unique db
  180. 0180specialize beta_at_unique dc
  181. 0181specialize beta_at_unique h
  182. 0182specialize beta_at_unique x8
  183. 0183specialize beta_at_unique x6
  184. 0184apply beta_at_unique
  185. 0185exact hlast_stored_witness_left
  186. 0186exact hsum_decompose_witness_witness_left
  187. 0187have hterminal_eq : x5 = x8
  188. 0188specialize eisenstein_successor_terminal_sum_matches_last_column p
  189. 0189specialize eisenstein_successor_terminal_sum_matches_last_column q
  190. 0190specialize eisenstein_successor_terminal_sum_matches_last_column h
  191. 0191specialize eisenstein_successor_terminal_sum_matches_last_column (S h)
  192. 0192specialize eisenstein_successor_terminal_sum_matches_last_column bb
  193. 0193specialize eisenstein_successor_terminal_sum_matches_last_column bc
  194. 0194specialize eisenstein_successor_terminal_sum_matches_last_column x
  195. 0195specialize eisenstein_successor_terminal_sum_matches_last_column x1
  196. 0196specialize eisenstein_successor_terminal_sum_matches_last_column x2
  197. 0197specialize eisenstein_successor_terminal_sum_matches_last_column x3
  198. 0198specialize eisenstein_successor_terminal_sum_matches_last_column x9
  199. 0199specialize eisenstein_successor_terminal_sum_matches_last_column x10
  200. 0200specialize eisenstein_successor_terminal_sum_matches_last_column k
  201. 0201specialize eisenstein_successor_terminal_sum_matches_last_column x5
  202. 0202specialize eisenstein_successor_terminal_sum_matches_last_column x8
  203. 0203apply eisenstein_successor_terminal_sum_matches_last_column
  204. 0204refl
  205. 0205exact hsplit_exists_witness_witness_witness_witness
  206. 0206exact hlast_stored_witness_right_witness_witness_left
  207. 0207exact hterminal_sum_witness
  208. 0208exact hlast_stored_witness_right_witness_witness_right_left
  209. 0209have htotal : M = x4 + x5
  210. 0210rewrite hih at hsum_decompose_witness_witness_right_right
  211. 0211rewrite <- hcount_eq at hsum_decompose_witness_witness_right_right
  212. 0212rewrite <- hterminal_eq at hsum_decompose_witness_witness_right_right
  213. 0213exact hsum_decompose_witness_witness_right_right
  214. 0214trans x4 + x5
  215. 0215exact htotal
  216. 0216exact hsource_add