PA00EX · theorem

eisenstein_successor_row_split_prefix_exists

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

Any bounded family of successor-row splits has aligned β-coded reduced and terminal prefixes.

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

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

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

36 occurrences

In local proof propositions

71 occurrences

Exact expanded native-PA statement
forall p q h sh bb bc l. (forall efrd_row_index_fubini_row_split_exists_all. (exists efrd_lt_gap_fubini_row_split_exists_all_bound. efrd_lt_gap_fubini_row_split_exists_all_bound + S (efrd_row_index_fubini_row_split_exists_all) = l) -> exists efrd_count_fubini_row_split_exists_all efrd_reduced_count_fubini_row_split_exists_all efrd_terminal_bit_fubini_row_split_exists_all. ((((exists ff_h_efrd_fubini_row_split_exists_all_outer_entry. ff_h_efrd_fubini_row_split_exists_all_outer_entry + S (efrd_count_fubini_row_split_exists_all) = S ((S (efrd_row_index_fubini_row_split_exists_all)) * bc)) /\ exists ff_q_efrd_fubini_row_split_exists_all_outer_entry. bb = ff_q_efrd_fubini_row_split_exists_all_outer_entry * S ((S (efrd_row_index_fubini_row_split_exists_all)) * bc) + (efrd_count_fubini_row_split_exists_all))) /\ (exists efrd_row_code_fubini_row_split_exists_all_split efrd_row_scale_fubini_row_split_exists_all_split. (((((forall eri_column_efrd_fubini_row_split_exists_all_split_successor_prefix. (exists eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_bound. eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_all_split_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_exists_all_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_all_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_all_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_all_split_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_all_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_all_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_all_split_successor_prefix_decoded. efrd_row_code_fubini_row_split_exists_all_split = ff_q_eri_efrd_fubini_row_split_exists_all_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_all_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_all_split) + (eri_bit_efrd_fubini_row_split_exists_all_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_all_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_all) = p * S eri_column_efrd_fubini_row_split_exists_all_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_all_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_all))) \/ (eri_bit_efrd_fubini_row_split_exists_all_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_all_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_all) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_all_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_all) = p * S eri_column_efrd_fubini_row_split_exists_all_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_exists_all_split_successor_count_sum ff_v_efrd_fubini_row_split_exists_all_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_start. ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_all_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_start. ff_u_efrd_fubini_row_split_exists_all_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_all_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_terminal + S (efrd_count_fubini_row_split_exists_all) = S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_all_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_all_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_all_split_successor_count_sum) + (efrd_count_fubini_row_split_exists_all))) /\ forall ff_i_efrd_fubini_row_split_exists_all_split_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_all_split_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_all_split_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_all_split_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_exists_all_split_successor_count_sum ff_r_efrd_fubini_row_split_exists_all_split_successor_count_sum ff_s_efrd_fubini_row_split_exists_all_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_summand. ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_all_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_all_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_all_split)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_summand. efrd_row_code_fubini_row_split_exists_all_split = ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_all_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_all_split) + (ff_a_efrd_fubini_row_split_exists_all_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_partial. ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_all_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_all_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_all_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_partial. ff_u_efrd_fubini_row_split_exists_all_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_all_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_all_split_successor_count_sum) + (ff_r_efrd_fubini_row_split_exists_all_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_successor. ff_h_efrd_fubini_row_split_exists_all_split_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_all_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_all_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_all_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_successor. ff_u_efrd_fubini_row_split_exists_all_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_all_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_all_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_all_split_successor_count_sum) + (ff_s_efrd_fubini_row_split_exists_all_split_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_all_split_successor_count_sum = ff_r_efrd_fubini_row_split_exists_all_split_successor_count_sum + ff_a_efrd_fubini_row_split_exists_all_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_all_split_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_all_split_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_all_split_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_all_split_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_exists_all_split_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_all_split_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_all_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_all_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_all_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_all_split)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_successor_count_bits_decoded. efrd_row_code_fubini_row_split_exists_all_split = ff_q_efrd_fubini_row_split_exists_all_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_all_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_all_split) + (ff_bit_efrd_fubini_row_split_exists_all_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_all_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_all_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_exists_all_split_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_all_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_exists_all_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_all_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_all_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_all_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_all_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_all_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_all_split_reduced_prefix_decoded. efrd_row_code_fubini_row_split_exists_all_split = ff_q_eri_efrd_fubini_row_split_exists_all_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_all_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_all_split) + (eri_bit_efrd_fubini_row_split_exists_all_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_all_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_all) = p * S eri_column_efrd_fubini_row_split_exists_all_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_all_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_all))) \/ (eri_bit_efrd_fubini_row_split_exists_all_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_all_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_all) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_all_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_all) = p * S eri_column_efrd_fubini_row_split_exists_all_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_exists_all_split_terminal_entry. ff_h_efrd_fubini_row_split_exists_all_split_terminal_entry + S (efrd_terminal_bit_fubini_row_split_exists_all) = S ((S (h)) * efrd_row_scale_fubini_row_split_exists_all_split)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_terminal_entry. efrd_row_code_fubini_row_split_exists_all_split = ff_q_efrd_fubini_row_split_exists_all_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_exists_all_split) + (efrd_terminal_bit_fubini_row_split_exists_all))))) /\ (((((exists ff_u_efrd_fubini_row_split_exists_all_split_reduced_count_sum ff_v_efrd_fubini_row_split_exists_all_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_start. ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_start. ff_u_efrd_fubini_row_split_exists_all_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_all_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_terminal + S (efrd_reduced_count_fubini_row_split_exists_all) = S ((S (h)) * ff_v_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_all_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_exists_all_split_reduced_count_sum) + (efrd_reduced_count_fubini_row_split_exists_all))) /\ forall ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_all_split_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_all_split_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_exists_all_split_reduced_count_sum ff_r_efrd_fubini_row_split_exists_all_split_reduced_count_sum ff_s_efrd_fubini_row_split_exists_all_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_all_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_all_split)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_summand. efrd_row_code_fubini_row_split_exists_all_split = ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_all_split) + (ff_a_efrd_fubini_row_split_exists_all_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_all_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_exists_all_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_all_split_reduced_count_sum) + (ff_r_efrd_fubini_row_split_exists_all_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_all_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_exists_all_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_all_split_reduced_count_sum) + (ff_s_efrd_fubini_row_split_exists_all_split_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_all_split_reduced_count_sum = ff_r_efrd_fubini_row_split_exists_all_split_reduced_count_sum + ff_a_efrd_fubini_row_split_exists_all_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_all_split_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_all_split_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_exists_all_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_all_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_all_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_all_split)) /\ exists ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_exists_all_split = ff_q_efrd_fubini_row_split_exists_all_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_all_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_all_split) + (ff_bit_efrd_fubini_row_split_exists_all_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_all_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_all_split_reduced_count_bits = 1))))) /\ (efrd_terminal_bit_fubini_row_split_exists_all = 0 \/ efrd_terminal_bit_fubini_row_split_exists_all = 1)) /\ efrd_count_fubini_row_split_exists_all = efrd_reduced_count_fubini_row_split_exists_all + efrd_terminal_bit_fubini_row_split_exists_all)))))) -> (exists db dc tb tc. (forall efrd_row_index_fubini_row_split_exists_result. (exists efrd_lt_gap_fubini_row_split_exists_result_bound. efrd_lt_gap_fubini_row_split_exists_result_bound + S (efrd_row_index_fubini_row_split_exists_result) = l) -> exists efrd_count_fubini_row_split_exists_result efrd_reduced_count_fubini_row_split_exists_result efrd_terminal_bit_fubini_row_split_exists_result. (((((((exists ff_h_efrd_fubini_row_split_exists_result_entry_outer_entry. ff_h_efrd_fubini_row_split_exists_result_entry_outer_entry + S (efrd_count_fubini_row_split_exists_result) = S ((S (efrd_row_index_fubini_row_split_exists_result)) * bc)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_outer_entry. bb = ff_q_efrd_fubini_row_split_exists_result_entry_outer_entry * S ((S (efrd_row_index_fubini_row_split_exists_result)) * bc) + (efrd_count_fubini_row_split_exists_result))) /\ (((exists ff_h_efrd_fubini_row_split_exists_result_entry_reduced_entry. ff_h_efrd_fubini_row_split_exists_result_entry_reduced_entry + S (efrd_reduced_count_fubini_row_split_exists_result) = S ((S (efrd_row_index_fubini_row_split_exists_result)) * dc)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_reduced_entry. db = ff_q_efrd_fubini_row_split_exists_result_entry_reduced_entry * S ((S (efrd_row_index_fubini_row_split_exists_result)) * dc) + (efrd_reduced_count_fubini_row_split_exists_result)))) /\ (((exists ff_h_efrd_fubini_row_split_exists_result_entry_terminal_entry. ff_h_efrd_fubini_row_split_exists_result_entry_terminal_entry + S (efrd_terminal_bit_fubini_row_split_exists_result) = S ((S (efrd_row_index_fubini_row_split_exists_result)) * tc)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_terminal_entry. tb = ff_q_efrd_fubini_row_split_exists_result_entry_terminal_entry * S ((S (efrd_row_index_fubini_row_split_exists_result)) * tc) + (efrd_terminal_bit_fubini_row_split_exists_result)))) /\ (exists efrd_row_code_fubini_row_split_exists_result_entry_split efrd_row_scale_fubini_row_split_exists_result_entry_split. (((((forall eri_column_efrd_fubini_row_split_exists_result_entry_split_successor_prefix. (exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_bound. eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_result_entry_split_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_exists_result_entry_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_result_entry_split_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_result_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_result_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_decoded. efrd_row_code_fubini_row_split_exists_result_entry_split = ff_q_eri_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_result_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_result_entry_split) + (eri_bit_efrd_fubini_row_split_exists_result_entry_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_result_entry_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_result) = p * S eri_column_efrd_fubini_row_split_exists_result_entry_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_result_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_result))) \/ (eri_bit_efrd_fubini_row_split_exists_result_entry_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_result_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_result) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_result_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_result) = p * S eri_column_efrd_fubini_row_split_exists_result_entry_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum ff_v_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_start. ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_start. ff_u_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_terminal + S (efrd_count_fubini_row_split_exists_result) = S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum) + (efrd_count_fubini_row_split_exists_result))) /\ forall ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum ff_r_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum ff_s_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_summand. ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_result_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_summand. efrd_row_code_fubini_row_split_exists_result_entry_split = ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_result_entry_split) + (ff_a_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_partial. ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_partial. ff_u_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum) + (ff_r_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_successor. ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_successor. ff_u_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum) + (ff_s_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum = ff_r_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum + ff_a_efrd_fubini_row_split_exists_result_entry_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_result_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits_decoded. efrd_row_code_fubini_row_split_exists_result_entry_split = ff_q_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_result_entry_split) + (ff_bit_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_result_entry_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_result_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_decoded. efrd_row_code_fubini_row_split_exists_result_entry_split = ff_q_eri_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_result_entry_split) + (eri_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_result) = p * S eri_column_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_result))) \/ (eri_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_result) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_result) = p * S eri_column_efrd_fubini_row_split_exists_result_entry_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_terminal_entry. ff_h_efrd_fubini_row_split_exists_result_entry_split_terminal_entry + S (efrd_terminal_bit_fubini_row_split_exists_result) = S ((S (h)) * efrd_row_scale_fubini_row_split_exists_result_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_terminal_entry. efrd_row_code_fubini_row_split_exists_result_entry_split = ff_q_efrd_fubini_row_split_exists_result_entry_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_exists_result_entry_split) + (efrd_terminal_bit_fubini_row_split_exists_result))))) /\ (((((exists ff_u_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum ff_v_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_start. ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_start. ff_u_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_terminal + S (efrd_reduced_count_fubini_row_split_exists_result) = S ((S (h)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum) + (efrd_reduced_count_fubini_row_split_exists_result))) /\ forall ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum ff_r_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum ff_s_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_result_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_summand. efrd_row_code_fubini_row_split_exists_result_entry_split = ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_result_entry_split) + (ff_a_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum) + (ff_r_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum) + (ff_s_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum = ff_r_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum + ff_a_efrd_fubini_row_split_exists_result_entry_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_result_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_exists_result_entry_split = ff_q_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_result_entry_split) + (ff_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_result_entry_split_reduced_count_bits = 1))))) /\ (efrd_terminal_bit_fubini_row_split_exists_result = 0 \/ efrd_terminal_bit_fubini_row_split_exists_result = 1)) /\ efrd_count_fubini_row_split_exists_result = efrd_reduced_count_fubini_row_split_exists_result + efrd_terminal_bit_fubini_row_split_exists_result))))))))

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

62 script commands · 12 reading checkpoints · 5 local claims

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

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 (5)
01Fix variables and assumptionsL1–6

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

  1. L1
    intro p
  2. L2
    intro q
  3. L3
    intro h
  4. L4
    intro sh
  5. L5
    intro bb
  6. L6
    intro bc
02Induction on lL7–8

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

  1. L7
    induction l
  2. L8
    intro hchoices
03Construct an explicit witnessL9–12

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

  1. L9
    exists 0
  2. L10
    exists 0
  3. L11
    exists 0
  4. L12
    exists 0
04Fix variables and assumptionsL13–14

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

  1. L13
    intro i
  2. L14
    intro hi
05Separate the logical casesL15–16

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

  1. L15
    exfalso
  2. L16
    cases hi
06Establish hsiL17–25

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

  1. L17
    have hsi : S i = 0
  2. L18
    specialize add_eq_zero_right x
  3. L19
    specialize add_eq_zero_right (S i)
  4. L20
    apply add_eq_zero_right
  5. L21
    exact hi_witness
  6. L22
    specialize succ_ne_zero i
  7. L23
    apply succ_ne_zero
  8. L24
    exact hsi
  9. L25
    intro hchoices
07Establish hprevious_choicesL26–34

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

  1. L26
    have hprevious_choices · expand full local formula (988 characters)have hprevious_choices : ∀ efrd_row_index_fubini_row_split_exists_previous. Lt(efrd_row_index_fubini_row_split_exists_previous,l) → ∃ x. ∃ y. ∃ z. BetaAt(bb,bc,efrd_row_index_fubini_row_split_exists_previous,x) ∧ (∃ n. ∃ m. (∀ k. Lt(k,sh) → ∃ i. BetaAt(n,m,k,i) ∧ (i = 0 ∧ (Lt(q · S efrd_row_index_fubini_row_split_exists_previous,p · S k) ∧ ¬Lt(p · S k,q · S efrd_row_index_fubini_row_split_exists_previous)) ∨ i = 1 ∧ (Lt(p · S k,q · S efrd_row_index_fubini_row_split_exists_previous) ∧ ¬Lt(q · S efrd_row_index_fubini_row_split_exists_previous,p · S k)))) ∧ BitCount(n,m,sh,x) ∧ ((∀ k. Lt(k,h) → ∃ i. BetaAt(n,m,k,i) ∧ (i = 0 ∧ (Lt(q · S efrd_row_index_fubini_row_split_exists_previous,p · S k) ∧ ¬Lt(p · S k,q · S efrd_row_index_fubini_row_split_exists_previous)) ∨ i = 1 ∧ (Lt(p · S k,q · S efrd_row_index_fubini_row_split_exists_previous) ∧ ¬Lt(q · S efrd_row_index_fubini_row_split_exists_previous,p · S k)))) ∧ BetaAt(n,m,h,z)) ∧ (BitCount(n,m,h,y) ∧ (z = 0 ∨ z = 1) ∧ x = y + z))
    Definitions: Lt(efrd_row_index_fubini_row_split_exists_previous,l)BetaAt(bb,bc,efrd_row_index_fubini_row_split_exists_previous,x)Lt(k,sh)BetaAt(n,m,k,i)Lt(q · S efrd_row_index_fubini_row_split_exists_previous,p · S k)Lt(p · S k,q · S efrd_row_index_fubini_row_split_exists_previous)BitCount(n,m,sh,x)Lt(k,h)BetaAt(n,m,h,z)BitCount(n,m,h,y)Original native command in the exact edition
  2. L27
    intro i
  3. L28
    intro hi
  4. L29
    specialize hchoices i
  5. L30
    apply hchoices
  6. L31
    specialize le_succ (S i)
  7. L32
    specialize le_succ l
  8. L33
    apply le_succ
  9. L34
    exact hi
08Establish hprevious_prefixL35–37

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

  1. L35
    have hprevious_prefix : ∃ db. ∃ dc. ∃ tb. ∃ tc. ∀ x. Lt(x,l) → ∃ y. ∃ z. ∃ n. BetaAt(bb,bc,x,y) ∧ BetaAt(db,dc,x,z) ∧ BetaAt(tb,tc,x,n) ∧ (∃ m. ∃ k. (∀ i. Lt(i,sh) → ∃ j. BetaAt(m,k,i,j) ∧ (j = 0 ∧ (Lt(q · S x,p · S i) ∧ ¬Lt(p · S i,q · S x)) ∨ j = 1 ∧ (Lt(p · S i,q · S x) ∧ ¬Lt(q · S x,p · S i)))) ∧ BitCount(m,k,sh,y) ∧ ((∀ i. Lt(i,h) → ∃ j. BetaAt(m,k,i,j) ∧ (j = 0 ∧ (Lt(q · S x,p · S i) ∧ ¬Lt(p · S i,q · S x)) ∨ j = 1 ∧ (Lt(p · S i,q · S x) ∧ ¬Lt(q · S x,p · S i)))) ∧ BetaAt(m,k,h,n)) ∧ (BitCount(m,k,h,z) ∧ (n = 0 ∨ n = 1) ∧ y = z + n))Definitions: Lt(x,l)BetaAt(bb,bc,x,y)BetaAt(db,dc,x,z)BetaAt(tb,tc,x,n)Lt(i,sh)BetaAt(m,k,i,j)Lt(q · S x,p · S i)Lt(p · S i,q · S x)BitCount(m,k,sh,y)Lt(i,h)BetaAt(m,k,h,n)BitCount(m,k,h,z)Original native command in the exact edition
  2. L36
    apply IH
  3. L37
    exact hprevious_choices
09Separate the logical casesL38–41

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

  1. L38
    cases hprevious_prefix
  2. L39
    cases hprevious_prefix_witness
  3. L40
    cases hprevious_prefix_witness_witness
  4. L41
    cases hprevious_prefix_witness_witness_witness
10Establish hlastL42–46

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

  1. L42
    have hlast : ∃ n. ∃ r. ∃ a. BetaAt(bb,bc,l,n) ∧ (∃ x. ∃ y. (∀ z. Lt(z,sh) → ∃ m. BetaAt(x,y,z,m) ∧ (m = 0 ∧ (Lt(q · S l,p · S z) ∧ ¬Lt(p · S z,q · S l)) ∨ m = 1 ∧ (Lt(p · S z,q · S l) ∧ ¬Lt(q · S l,p · S z)))) ∧ BitCount(x,y,sh,n) ∧ ((∀ z. Lt(z,h) → ∃ m. BetaAt(x,y,z,m) ∧ (m = 0 ∧ (Lt(q · S l,p · S z) ∧ ¬Lt(p · S z,q · S l)) ∨ m = 1 ∧ (Lt(p · S z,q · S l) ∧ ¬Lt(q · S l,p · S z)))) ∧ BetaAt(x,y,h,a)) ∧ (BitCount(x,y,h,r) ∧ (a = 0 ∨ a = 1) ∧ n = r + a))Definitions: BetaAt(bb,bc,l,n)Lt(z,sh)BetaAt(x,y,z,m)Lt(q · S l,p · S z)Lt(p · S z,q · S l)BitCount(x,y,sh,n)Lt(z,h)BetaAt(x,y,h,a)BitCount(x,y,h,r)Original native command in the exact edition
  2. L43
    specialize hchoices l
  3. L44
    apply hchoices
  4. L45
    specialize le_refl (S l)
  5. L46
    exact le_refl
11Establish hnextL47–56

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

  1. L47
    have hnext : ∃ db. ∃ dc. ∃ tb. ∃ tc. ∀ x. Lt(x,S l) → ∃ y. ∃ z. ∃ n. BetaAt(bb,bc,x,y) ∧ BetaAt(db,dc,x,z) ∧ BetaAt(tb,tc,x,n) ∧ (∃ m. ∃ k. (∀ i. Lt(i,sh) → ∃ j. BetaAt(m,k,i,j) ∧ (j = 0 ∧ (Lt(q · S x,p · S i) ∧ ¬Lt(p · S i,q · S x)) ∨ j = 1 ∧ (Lt(p · S i,q · S x) ∧ ¬Lt(q · S x,p · S i)))) ∧ BitCount(m,k,sh,y) ∧ ((∀ i. Lt(i,h) → ∃ j. BetaAt(m,k,i,j) ∧ (j = 0 ∧ (Lt(q · S x,p · S i) ∧ ¬Lt(p · S i,q · S x)) ∨ j = 1 ∧ (Lt(p · S i,q · S x) ∧ ¬Lt(q · S x,p · S i)))) ∧ BetaAt(m,k,h,n)) ∧ (BitCount(m,k,h,z) ∧ (n = 0 ∨ n = 1) ∧ y = z + n))Definitions: Lt(x,S l)BetaAt(bb,bc,x,y)BetaAt(db,dc,x,z)BetaAt(tb,tc,x,n)Lt(i,sh)BetaAt(m,k,i,j)Lt(q · S x,p · S i)Lt(p · S i,q · S x)BitCount(m,k,sh,y)Lt(i,h)BetaAt(m,k,h,n)BitCount(m,k,h,z)Original native command in the exact edition
  2. L48
    specialize eisenstein_successor_row_split_prefix_extend p
  3. L49
    specialize eisenstein_successor_row_split_prefix_extend q
  4. L50
    specialize eisenstein_successor_row_split_prefix_extend h
  5. L51
    specialize eisenstein_successor_row_split_prefix_extend sh
  6. L52
    specialize eisenstein_successor_row_split_prefix_extend bb
  7. L53
    specialize eisenstein_successor_row_split_prefix_extend bc
  8. L54
    specialize eisenstein_successor_row_split_prefix_extend x
  9. L55
    specialize eisenstein_successor_row_split_prefix_extend x1
  10. L56
    specialize eisenstein_successor_row_split_prefix_extend x2
12Use earlier factsL57–62

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

  1. L57
    specialize eisenstein_successor_row_split_prefix_extend x3
  2. L58
    specialize eisenstein_successor_row_split_prefix_extend l
  3. L59
    apply eisenstein_successor_row_split_prefix_extend
  4. L60
    exact hprevious_prefix_witness_witness_witness_witness
  5. L61
    exact hlast
  6. L62
    exact hnext

Library-wide reading audit

Original defined command ledger · 62 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro h
  4. 0004intro sh
  5. 0005intro bb
  6. 0006intro bc
  7. 0007induction l
  8. 0008intro hchoices
  9. 0009exists 0
  10. 0010exists 0
  11. 0011exists 0
  12. 0012exists 0
  13. 0013intro i
  14. 0014intro hi
  15. 0015exfalso
  16. 0016cases hi
  17. 0017have hsi : S i = 0
  18. 0018specialize add_eq_zero_right x
  19. 0019specialize add_eq_zero_right (S i)
  20. 0020apply add_eq_zero_right
  21. 0021exact hi_witness
  22. 0022specialize succ_ne_zero i
  23. 0023apply succ_ne_zero
  24. 0024exact hsi
  25. 0025intro hchoices
  26. 0026have hprevious_choices : ∀ efrd_row_index_fubini_row_split_exists_previous. Lt(efrd_row_index_fubini_row_split_exists_previous,l) → ∃ x. ∃ y. ∃ z. BetaAt(bb,bc,efrd_row_index_fubini_row_split_exists_previous,x) ∧ (∃ n. ∃ m. (∀ k. Lt(k,sh) → ∃ i. BetaAt(n,m,k,i) ∧ (i = 0 ∧ (Lt(q · S efrd_row_index_fubini_row_split_exists_previous,p · S k) ∧ ¬Lt(p · S k,q · S efrd_row_index_fubini_row_split_exists_previous)) ∨ i = 1 ∧ (Lt(p · S k,q · S efrd_row_index_fubini_row_split_exists_previous) ∧ ¬Lt(q · S efrd_row_index_fubini_row_split_exists_previous,p · S k)))) ∧ BitCount(n,m,sh,x) ∧ ((∀ k. Lt(k,h) → ∃ i. BetaAt(n,m,k,i) ∧ (i = 0 ∧ (Lt(q · S efrd_row_index_fubini_row_split_exists_previous,p · S k) ∧ ¬Lt(p · S k,q · S efrd_row_index_fubini_row_split_exists_previous)) ∨ i = 1 ∧ (Lt(p · S k,q · S efrd_row_index_fubini_row_split_exists_previous) ∧ ¬Lt(q · S efrd_row_index_fubini_row_split_exists_previous,p · S k)))) ∧ BetaAt(n,m,h,z)) ∧ (BitCount(n,m,h,y) ∧ (z = 0 ∨ z = 1) ∧ x = y + z))
    Exact native replay linehave hprevious_choices : forall efrd_row_index_fubini_row_split_exists_previous. (exists efrd_lt_gap_fubini_row_split_exists_previous_bound. efrd_lt_gap_fubini_row_split_exists_previous_bound + S (efrd_row_index_fubini_row_split_exists_previous) = l) -> exists efrd_count_fubini_row_split_exists_previous efrd_reduced_count_fubini_row_split_exists_previous efrd_terminal_bit_fubini_row_split_exists_previous. ((((exists ff_h_efrd_fubini_row_split_exists_previous_outer_entry. ff_h_efrd_fubini_row_split_exists_previous_outer_entry + S (efrd_count_fubini_row_split_exists_previous) = S ((S (efrd_row_index_fubini_row_split_exists_previous)) * bc)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_outer_entry. bb = ff_q_efrd_fubini_row_split_exists_previous_outer_entry * S ((S (efrd_row_index_fubini_row_split_exists_previous)) * bc) + (efrd_count_fubini_row_split_exists_previous))) /\ (exists efrd_row_code_fubini_row_split_exists_previous_split efrd_row_scale_fubini_row_split_exists_previous_split. (((((forall eri_column_efrd_fubini_row_split_exists_previous_split_successor_prefix. (exists eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_bound. eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_previous_split_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_exists_previous_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_previous_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_previous_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_previous_split_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_previous_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_previous_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_previous_split_successor_prefix_decoded. efrd_row_code_fubini_row_split_exists_previous_split = ff_q_eri_efrd_fubini_row_split_exists_previous_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_previous_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_previous_split) + (eri_bit_efrd_fubini_row_split_exists_previous_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_previous_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_previous) = p * S eri_column_efrd_fubini_row_split_exists_previous_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_previous_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_previous))) \/ (eri_bit_efrd_fubini_row_split_exists_previous_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_previous_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_previous) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_previous_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_previous) = p * S eri_column_efrd_fubini_row_split_exists_previous_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_exists_previous_split_successor_count_sum ff_v_efrd_fubini_row_split_exists_previous_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_start. ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_start. ff_u_efrd_fubini_row_split_exists_previous_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_previous_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_terminal + S (efrd_count_fubini_row_split_exists_previous) = S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_previous_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_previous_split_successor_count_sum) + (efrd_count_fubini_row_split_exists_previous))) /\ forall ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_previous_split_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_previous_split_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_exists_previous_split_successor_count_sum ff_r_efrd_fubini_row_split_exists_previous_split_successor_count_sum ff_s_efrd_fubini_row_split_exists_previous_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_summand. ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_previous_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_previous_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_summand. efrd_row_code_fubini_row_split_exists_previous_split = ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_previous_split) + (ff_a_efrd_fubini_row_split_exists_previous_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_partial. ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_previous_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_partial. ff_u_efrd_fubini_row_split_exists_previous_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_split_successor_count_sum) + (ff_r_efrd_fubini_row_split_exists_previous_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_successor. ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_previous_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_successor. ff_u_efrd_fubini_row_split_exists_previous_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_split_successor_count_sum) + (ff_s_efrd_fubini_row_split_exists_previous_split_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_previous_split_successor_count_sum = ff_r_efrd_fubini_row_split_exists_previous_split_successor_count_sum + ff_a_efrd_fubini_row_split_exists_previous_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_previous_split_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_previous_split_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_exists_previous_split_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_previous_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_previous_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_previous_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_bits_decoded. efrd_row_code_fubini_row_split_exists_previous_split = ff_q_efrd_fubini_row_split_exists_previous_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_previous_split) + (ff_bit_efrd_fubini_row_split_exists_previous_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_previous_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_previous_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_exists_previous_split_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_previous_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_exists_previous_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_previous_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_previous_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_previous_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_previous_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_previous_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_previous_split_reduced_prefix_decoded. efrd_row_code_fubini_row_split_exists_previous_split = ff_q_eri_efrd_fubini_row_split_exists_previous_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_previous_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_previous_split) + (eri_bit_efrd_fubini_row_split_exists_previous_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_previous_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_previous) = p * S eri_column_efrd_fubini_row_split_exists_previous_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_previous_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_previous))) \/ (eri_bit_efrd_fubini_row_split_exists_previous_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_previous_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_previous) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_previous_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_previous) = p * S eri_column_efrd_fubini_row_split_exists_previous_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_exists_previous_split_terminal_entry. ff_h_efrd_fubini_row_split_exists_previous_split_terminal_entry + S (efrd_terminal_bit_fubini_row_split_exists_previous) = S ((S (h)) * efrd_row_scale_fubini_row_split_exists_previous_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_terminal_entry. efrd_row_code_fubini_row_split_exists_previous_split = ff_q_efrd_fubini_row_split_exists_previous_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_exists_previous_split) + (efrd_terminal_bit_fubini_row_split_exists_previous))))) /\ (((((exists ff_u_efrd_fubini_row_split_exists_previous_split_reduced_count_sum ff_v_efrd_fubini_row_split_exists_previous_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_start. ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_start. ff_u_efrd_fubini_row_split_exists_previous_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_previous_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_terminal + S (efrd_reduced_count_fubini_row_split_exists_previous) = S ((S (h)) * ff_v_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_previous_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_exists_previous_split_reduced_count_sum) + (efrd_reduced_count_fubini_row_split_exists_previous))) /\ forall ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_exists_previous_split_reduced_count_sum ff_r_efrd_fubini_row_split_exists_previous_split_reduced_count_sum ff_s_efrd_fubini_row_split_exists_previous_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_previous_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_previous_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_summand. efrd_row_code_fubini_row_split_exists_previous_split = ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_previous_split) + (ff_a_efrd_fubini_row_split_exists_previous_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_previous_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_exists_previous_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_split_reduced_count_sum) + (ff_r_efrd_fubini_row_split_exists_previous_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_previous_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_exists_previous_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_split_reduced_count_sum) + (ff_s_efrd_fubini_row_split_exists_previous_split_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_previous_split_reduced_count_sum = ff_r_efrd_fubini_row_split_exists_previous_split_reduced_count_sum + ff_a_efrd_fubini_row_split_exists_previous_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_previous_split_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_previous_split_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_exists_previous_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_previous_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_previous_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_previous_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_exists_previous_split = ff_q_efrd_fubini_row_split_exists_previous_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_previous_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_previous_split) + (ff_bit_efrd_fubini_row_split_exists_previous_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_previous_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_previous_split_reduced_count_bits = 1))))) /\ (efrd_terminal_bit_fubini_row_split_exists_previous = 0 \/ efrd_terminal_bit_fubini_row_split_exists_previous = 1)) /\ efrd_count_fubini_row_split_exists_previous = efrd_reduced_count_fubini_row_split_exists_previous + efrd_terminal_bit_fubini_row_split_exists_previous)))))
  27. 0027intro i
  28. 0028intro hi
  29. 0029specialize hchoices i
  30. 0030apply hchoices
  31. 0031specialize le_succ (S i)
  32. 0032specialize le_succ l
  33. 0033apply le_succ
  34. 0034exact hi
  35. 0035have hprevious_prefix : ∃ db. ∃ dc. ∃ tb. ∃ tc. ∀ x. Lt(x,l) → ∃ y. ∃ z. ∃ n. BetaAt(bb,bc,x,y)BetaAt(db,dc,x,z)BetaAt(tb,tc,x,n) ∧ (∃ m. ∃ k. (∀ i. Lt(i,sh) → ∃ j. BetaAt(m,k,i,j) ∧ (j = 0 ∧ (Lt(q · S x,p · S i) ∧ ¬Lt(p · S i,q · S x)) ∨ j = 1 ∧ (Lt(p · S i,q · S x) ∧ ¬Lt(q · S x,p · S i)))) ∧ BitCount(m,k,sh,y) ∧ ((∀ i. Lt(i,h) → ∃ j. BetaAt(m,k,i,j) ∧ (j = 0 ∧ (Lt(q · S x,p · S i) ∧ ¬Lt(p · S i,q · S x)) ∨ j = 1 ∧ (Lt(p · S i,q · S x) ∧ ¬Lt(q · S x,p · S i)))) ∧ BetaAt(m,k,h,n)) ∧ (BitCount(m,k,h,z) ∧ (n = 0 ∨ n = 1) ∧ y = z + n))
    Exact native replay linehave hprevious_prefix : exists db dc tb tc. (forall efrd_row_index_fubini_row_split_exists_previous_prefix. (exists efrd_lt_gap_fubini_row_split_exists_previous_prefix_bound. efrd_lt_gap_fubini_row_split_exists_previous_prefix_bound + S (efrd_row_index_fubini_row_split_exists_previous_prefix) = l) -> exists efrd_count_fubini_row_split_exists_previous_prefix efrd_reduced_count_fubini_row_split_exists_previous_prefix efrd_terminal_bit_fubini_row_split_exists_previous_prefix. (((((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_outer_entry. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_outer_entry + S (efrd_count_fubini_row_split_exists_previous_prefix) = S ((S (efrd_row_index_fubini_row_split_exists_previous_prefix)) * bc)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_outer_entry. bb = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_outer_entry * S ((S (efrd_row_index_fubini_row_split_exists_previous_prefix)) * bc) + (efrd_count_fubini_row_split_exists_previous_prefix))) /\ (((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_reduced_entry. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_reduced_entry + S (efrd_reduced_count_fubini_row_split_exists_previous_prefix) = S ((S (efrd_row_index_fubini_row_split_exists_previous_prefix)) * dc)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_reduced_entry. db = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_reduced_entry * S ((S (efrd_row_index_fubini_row_split_exists_previous_prefix)) * dc) + (efrd_reduced_count_fubini_row_split_exists_previous_prefix)))) /\ (((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_terminal_entry. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_terminal_entry + S (efrd_terminal_bit_fubini_row_split_exists_previous_prefix) = S ((S (efrd_row_index_fubini_row_split_exists_previous_prefix)) * tc)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_terminal_entry. tb = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_terminal_entry * S ((S (efrd_row_index_fubini_row_split_exists_previous_prefix)) * tc) + (efrd_terminal_bit_fubini_row_split_exists_previous_prefix)))) /\ (exists efrd_row_code_fubini_row_split_exists_previous_prefix_entry_split efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split. (((((forall eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix. (exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_bound. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_decoded. efrd_row_code_fubini_row_split_exists_previous_prefix_entry_split = ff_q_eri_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split) + (eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_previous_prefix) = p * S eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_previous_prefix))) \/ (eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_previous_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_previous_prefix) = p * S eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_start. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_start. ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_terminal + S (efrd_count_fubini_row_split_exists_previous_prefix) = S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum) + (efrd_count_fubini_row_split_exists_previous_prefix))) /\ forall ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum ff_r_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum ff_s_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_summand. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_summand. efrd_row_code_fubini_row_split_exists_previous_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split) + (ff_a_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_partial. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_partial. ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum) + (ff_r_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_successor. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_successor. ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum) + (ff_s_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum = ff_r_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum + ff_a_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits_decoded. efrd_row_code_fubini_row_split_exists_previous_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split) + (ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_decoded. efrd_row_code_fubini_row_split_exists_previous_prefix_entry_split = ff_q_eri_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split) + (eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_previous_prefix) = p * S eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_previous_prefix))) \/ (eri_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_previous_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_previous_prefix) = p * S eri_column_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_terminal_entry. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_terminal_entry + S (efrd_terminal_bit_fubini_row_split_exists_previous_prefix) = S ((S (h)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_terminal_entry. efrd_row_code_fubini_row_split_exists_previous_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split) + (efrd_terminal_bit_fubini_row_split_exists_previous_prefix))))) /\ (((((exists ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_start. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_start. ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_terminal + S (efrd_reduced_count_fubini_row_split_exists_previous_prefix) = S ((S (h)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum) + (efrd_reduced_count_fubini_row_split_exists_previous_prefix))) /\ forall ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum ff_r_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum ff_s_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_summand. efrd_row_code_fubini_row_split_exists_previous_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split) + (ff_a_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum) + (ff_r_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum) + (ff_s_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum = ff_r_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum + ff_a_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_exists_previous_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_previous_prefix_entry_split) + (ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_previous_prefix_entry_split_reduced_count_bits = 1))))) /\ (efrd_terminal_bit_fubini_row_split_exists_previous_prefix = 0 \/ efrd_terminal_bit_fubini_row_split_exists_previous_prefix = 1)) /\ efrd_count_fubini_row_split_exists_previous_prefix = efrd_reduced_count_fubini_row_split_exists_previous_prefix + efrd_terminal_bit_fubini_row_split_exists_previous_prefix)))))))
  36. 0036apply IH
  37. 0037exact hprevious_choices
  38. 0038cases hprevious_prefix
  39. 0039cases hprevious_prefix_witness
  40. 0040cases hprevious_prefix_witness_witness
  41. 0041cases hprevious_prefix_witness_witness_witness
  42. 0042have hlast : ∃ n. ∃ r. ∃ a. BetaAt(bb,bc,l,n) ∧ (∃ x. ∃ y. (∀ z. Lt(z,sh) → ∃ m. BetaAt(x,y,z,m) ∧ (m = 0 ∧ (Lt(q · S l,p · S z) ∧ ¬Lt(p · S z,q · S l)) ∨ m = 1 ∧ (Lt(p · S z,q · S l) ∧ ¬Lt(q · S l,p · S z)))) ∧ BitCount(x,y,sh,n) ∧ ((∀ z. Lt(z,h) → ∃ m. BetaAt(x,y,z,m) ∧ (m = 0 ∧ (Lt(q · S l,p · S z) ∧ ¬Lt(p · S z,q · S l)) ∨ m = 1 ∧ (Lt(p · S z,q · S l) ∧ ¬Lt(q · S l,p · S z)))) ∧ BetaAt(x,y,h,a)) ∧ (BitCount(x,y,h,r) ∧ (a = 0 ∨ a = 1) ∧ n = r + a))
    Exact native replay linehave hlast : exists n r a. ((((exists ff_h_fubini_row_split_extend_last_source. ff_h_fubini_row_split_extend_last_source + S (n) = S ((S (l)) * bc)) /\ exists ff_q_fubini_row_split_extend_last_source. bb = ff_q_fubini_row_split_extend_last_source * S ((S (l)) * bc) + (n))) /\ (exists efrd_row_code_fubini_row_split_extend_last_witness efrd_row_scale_fubini_row_split_extend_last_witness. (((((forall eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix. (exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_bound. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_last_witness_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_last_witness_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_last_witness_successor_prefix_decoded. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_eri_efrd_fubini_row_split_extend_last_witness_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_left + S (q * S l) = p * S eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix) = q * S l))) \/ (eri_bit_efrd_fubini_row_split_extend_last_witness_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix) = q * S l) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_last_witness_successor_prefix_choice_left + S (q * S l) = p * S eri_column_efrd_fubini_row_split_extend_last_witness_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_start. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_start. ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_terminal + S (n) = S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum) + (n))) /\ forall ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_last_witness_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_last_witness_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_extend_last_witness_successor_count_sum ff_r_efrd_fubini_row_split_extend_last_witness_successor_count_sum ff_s_efrd_fubini_row_split_extend_last_witness_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_summand. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_last_witness_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_summand. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (ff_a_efrd_fubini_row_split_extend_last_witness_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_partial. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_last_witness_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_partial. ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum) + (ff_r_efrd_fubini_row_split_extend_last_witness_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_successor. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_last_witness_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_successor. ff_u_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_successor_count_sum) + (ff_s_efrd_fubini_row_split_extend_last_witness_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_last_witness_successor_count_sum = ff_r_efrd_fubini_row_split_extend_last_witness_successor_count_sum + ff_a_efrd_fubini_row_split_extend_last_witness_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_last_witness_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_last_witness_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_last_witness_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_bits_decoded. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_successor_count_bits)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_last_witness_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_extend_last_witness_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_extend_last_witness_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_eri_efrd_fubini_row_split_extend_last_witness_reduced_prefix_decoded. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_eri_efrd_fubini_row_split_extend_last_witness_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_left + S (q * S l) = p * S eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix) = q * S l))) \/ (eri_bit_efrd_fubini_row_split_extend_last_witness_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix) = q * S l) /\ ~(exists eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_extend_last_witness_reduced_prefix_choice_left + S (q * S l) = p * S eri_column_efrd_fubini_row_split_extend_last_witness_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_extend_last_witness_terminal_entry. ff_h_efrd_fubini_row_split_extend_last_witness_terminal_entry + S (a) = S ((S (h)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_terminal_entry. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (a))))) /\ (((((exists ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_start. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_start. ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_terminal + S (r) = S ((S (h)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) + (r))) /\ forall ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_extend_last_witness_reduced_count_sum ff_r_efrd_fubini_row_split_extend_last_witness_reduced_count_sum ff_s_efrd_fubini_row_split_extend_last_witness_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_summand. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (ff_a_efrd_fubini_row_split_extend_last_witness_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) + (ff_r_efrd_fubini_row_split_extend_last_witness_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)) * ff_v_efrd_fubini_row_split_extend_last_witness_reduced_count_sum) + (ff_s_efrd_fubini_row_split_extend_last_witness_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_extend_last_witness_reduced_count_sum = ff_r_efrd_fubini_row_split_extend_last_witness_reduced_count_sum + ff_a_efrd_fubini_row_split_extend_last_witness_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_last_witness)) /\ exists ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_extend_last_witness = ff_q_efrd_fubini_row_split_extend_last_witness_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_extend_last_witness_reduced_count_bits)) * efrd_row_scale_fubini_row_split_extend_last_witness) + (ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_extend_last_witness_reduced_count_bits = 1))))) /\ (a = 0 \/ a = 1)) /\ n = r + a)))))
  43. 0043specialize hchoices l
  44. 0044apply hchoices
  45. 0045specialize le_refl (S l)
  46. 0046exact le_refl
  47. 0047have hnext : ∃ db. ∃ dc. ∃ tb. ∃ tc. ∀ x. Lt(x,S l) → ∃ y. ∃ z. ∃ n. BetaAt(bb,bc,x,y)BetaAt(db,dc,x,z)BetaAt(tb,tc,x,n) ∧ (∃ m. ∃ k. (∀ i. Lt(i,sh) → ∃ j. BetaAt(m,k,i,j) ∧ (j = 0 ∧ (Lt(q · S x,p · S i) ∧ ¬Lt(p · S i,q · S x)) ∨ j = 1 ∧ (Lt(p · S i,q · S x) ∧ ¬Lt(q · S x,p · S i)))) ∧ BitCount(m,k,sh,y) ∧ ((∀ i. Lt(i,h) → ∃ j. BetaAt(m,k,i,j) ∧ (j = 0 ∧ (Lt(q · S x,p · S i) ∧ ¬Lt(p · S i,q · S x)) ∨ j = 1 ∧ (Lt(p · S i,q · S x) ∧ ¬Lt(q · S x,p · S i)))) ∧ BetaAt(m,k,h,n)) ∧ (BitCount(m,k,h,z) ∧ (n = 0 ∨ n = 1) ∧ y = z + n))
    Exact native replay linehave hnext : exists db dc tb tc. (forall efrd_row_index_fubini_row_split_exists_successor_prefix. (exists efrd_lt_gap_fubini_row_split_exists_successor_prefix_bound. efrd_lt_gap_fubini_row_split_exists_successor_prefix_bound + S (efrd_row_index_fubini_row_split_exists_successor_prefix) = S l) -> exists efrd_count_fubini_row_split_exists_successor_prefix efrd_reduced_count_fubini_row_split_exists_successor_prefix efrd_terminal_bit_fubini_row_split_exists_successor_prefix. (((((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_outer_entry. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_outer_entry + S (efrd_count_fubini_row_split_exists_successor_prefix) = S ((S (efrd_row_index_fubini_row_split_exists_successor_prefix)) * bc)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_outer_entry. bb = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_outer_entry * S ((S (efrd_row_index_fubini_row_split_exists_successor_prefix)) * bc) + (efrd_count_fubini_row_split_exists_successor_prefix))) /\ (((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_reduced_entry. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_reduced_entry + S (efrd_reduced_count_fubini_row_split_exists_successor_prefix) = S ((S (efrd_row_index_fubini_row_split_exists_successor_prefix)) * dc)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_reduced_entry. db = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_reduced_entry * S ((S (efrd_row_index_fubini_row_split_exists_successor_prefix)) * dc) + (efrd_reduced_count_fubini_row_split_exists_successor_prefix)))) /\ (((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_terminal_entry. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_terminal_entry + S (efrd_terminal_bit_fubini_row_split_exists_successor_prefix) = S ((S (efrd_row_index_fubini_row_split_exists_successor_prefix)) * tc)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_terminal_entry. tb = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_terminal_entry * S ((S (efrd_row_index_fubini_row_split_exists_successor_prefix)) * tc) + (efrd_terminal_bit_fubini_row_split_exists_successor_prefix)))) /\ (exists efrd_row_code_fubini_row_split_exists_successor_prefix_entry_split efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split. (((((forall eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix. (exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_bound. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_decoded. efrd_row_code_fubini_row_split_exists_successor_prefix_entry_split = ff_q_eri_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split) + (eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_successor_prefix) = p * S eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_successor_prefix))) \/ (eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix) = q * S efrd_row_index_fubini_row_split_exists_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_successor_prefix) = p * S eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_start. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_start. ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_terminal + S (efrd_count_fubini_row_split_exists_successor_prefix) = S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum) + (efrd_count_fubini_row_split_exists_successor_prefix))) /\ forall ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum = sh) -> exists ff_a_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum ff_r_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum ff_s_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_summand. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_summand. efrd_row_code_fubini_row_split_exists_successor_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split) + (ff_a_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_partial. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_partial. ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum) + (ff_r_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_successor. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_successor. ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum) + (ff_s_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum = ff_r_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum + ff_a_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits_decoded. efrd_row_code_fubini_row_split_exists_successor_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split) + (ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix. (exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_bound. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_bound + S (eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split)) /\ exists ff_q_eri_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_decoded. efrd_row_code_fubini_row_split_exists_successor_prefix_entry_split = ff_q_eri_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split) + (eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_successor_prefix) = p * S eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_successor_prefix))) \/ (eri_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_choice_right + S (p * S eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix) = q * S efrd_row_index_fubini_row_split_exists_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix_choice_left + S (q * S efrd_row_index_fubini_row_split_exists_successor_prefix) = p * S eri_column_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_terminal_entry. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_terminal_entry + S (efrd_terminal_bit_fubini_row_split_exists_successor_prefix) = S ((S (h)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_terminal_entry. efrd_row_code_fubini_row_split_exists_successor_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split) + (efrd_terminal_bit_fubini_row_split_exists_successor_prefix))))) /\ (((((exists ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_start. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_start. ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_terminal. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_terminal + S (efrd_reduced_count_fubini_row_split_exists_successor_prefix) = S ((S (h)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_terminal. ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum) + (efrd_reduced_count_fubini_row_split_exists_successor_prefix))) /\ forall ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum. (exists ff_lt_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_bound. ff_lt_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_bound + S ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum ff_r_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum ff_s_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_summand. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_summand. efrd_row_code_fubini_row_split_exists_successor_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split) + (ff_a_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_partial. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_partial. ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum) + (ff_r_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_successor. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_successor. ff_u_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum) + (ff_s_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum))) /\ ff_s_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum = ff_r_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum + ff_a_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits. (exists ff_lt_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits_bound. ff_lt_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits_bound + S ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits_decoded. ff_h_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split)) /\ exists ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits_decoded. efrd_row_code_fubini_row_split_exists_successor_prefix_entry_split = ff_q_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_row_split_exists_successor_prefix_entry_split) + (ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_row_split_exists_successor_prefix_entry_split_reduced_count_bits = 1))))) /\ (efrd_terminal_bit_fubini_row_split_exists_successor_prefix = 0 \/ efrd_terminal_bit_fubini_row_split_exists_successor_prefix = 1)) /\ efrd_count_fubini_row_split_exists_successor_prefix = efrd_reduced_count_fubini_row_split_exists_successor_prefix + efrd_terminal_bit_fubini_row_split_exists_successor_prefix)))))))
  48. 0048specialize eisenstein_successor_row_split_prefix_extend p
  49. 0049specialize eisenstein_successor_row_split_prefix_extend q
  50. 0050specialize eisenstein_successor_row_split_prefix_extend h
  51. 0051specialize eisenstein_successor_row_split_prefix_extend sh
  52. 0052specialize eisenstein_successor_row_split_prefix_extend bb
  53. 0053specialize eisenstein_successor_row_split_prefix_extend bc
  54. 0054specialize eisenstein_successor_row_split_prefix_extend x
  55. 0055specialize eisenstein_successor_row_split_prefix_extend x1
  56. 0056specialize eisenstein_successor_row_split_prefix_extend x2
  57. 0057specialize eisenstein_successor_row_split_prefix_extend x3
  58. 0058specialize eisenstein_successor_row_split_prefix_extend l
  59. 0059apply eisenstein_successor_row_split_prefix_extend
  60. 0060exact hprevious_prefix_witness_witness_witness_witness
  61. 0061exact hlast
  62. 0062exact hnext