PA00FB · theorem

eisenstein_successor_terminal_sum_matches_last_column

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

The terminal-bit Sum is exactly the relational count Sum of the constructed last column.

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. ∀ db. ∀ dc. ∀ tb. ∀ tc. ∀ cb. ∀ cc. ∀ l. ∀ D. ∀ M. sh = S h → (∀ 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(p · S x,q · S i) ∧ ¬Lt(q · S i,p · S x)) ∨ j = 1 ∧ (Lt(q · S i,p · S x) ∧ ¬Lt(p · S x,q · S i)))) ∧ BitCount(m,k,sh,y) ∧ ((∀ i. Lt(i,h) → ∃ j. BetaAt(m,k,i,j) ∧ (j = 0 ∧ (Lt(p · S x,q · S i) ∧ ¬Lt(q · S i,p · S x)) ∨ j = 1 ∧ (Lt(q · S i,p · S x) ∧ ¬Lt(p · S x,q · S i)))) ∧ BetaAt(m,k,h,n)) ∧ (BitCount(m,k,h,z) ∧ (n = 0 ∨ n = 1) ∧ y = z + n))) → (∀ x. Lt(x,l) → ∃ y. BetaAt(cb,cc,x,y) ∧ (∃ z. ∃ n. ∃ m. BetaAt(bb,bc,x,z) ∧ (∀ k. Lt(k,sh) → ∃ i. BetaAt(n,m,k,i) ∧ (i = 0 ∧ (Lt(p · S x,q · S k) ∧ ¬Lt(q · S k,p · S x)) ∨ i = 1 ∧ (Lt(q · S k,p · S x) ∧ ¬Lt(p · S x,q · S k)))) ∧ BitCount(n,m,sh,z)BetaAt(n,m,h,y))) → Sum(tb,tc,l,D)Sum(cb,cc,l,M) → D = M

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

32 occurrences

In local proof propositions

4 occurrences

Exact expanded native-PA statement
forall p q h sh bb bc db dc tb tc cb cc l D M. sh = S h -> (forall efrd_row_index_fubini_terminal_column_split_prefix. (exists efrd_lt_gap_fubini_terminal_column_split_prefix_bound. efrd_lt_gap_fubini_terminal_column_split_prefix_bound + S (efrd_row_index_fubini_terminal_column_split_prefix) = l) -> exists efrd_count_fubini_terminal_column_split_prefix efrd_reduced_count_fubini_terminal_column_split_prefix efrd_terminal_bit_fubini_terminal_column_split_prefix. (((((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_outer_entry. ff_h_efrd_fubini_terminal_column_split_prefix_entry_outer_entry + S (efrd_count_fubini_terminal_column_split_prefix) = S ((S (efrd_row_index_fubini_terminal_column_split_prefix)) * bc)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_outer_entry. bb = ff_q_efrd_fubini_terminal_column_split_prefix_entry_outer_entry * S ((S (efrd_row_index_fubini_terminal_column_split_prefix)) * bc) + (efrd_count_fubini_terminal_column_split_prefix))) /\ (((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_reduced_entry. ff_h_efrd_fubini_terminal_column_split_prefix_entry_reduced_entry + S (efrd_reduced_count_fubini_terminal_column_split_prefix) = S ((S (efrd_row_index_fubini_terminal_column_split_prefix)) * dc)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_reduced_entry. db = ff_q_efrd_fubini_terminal_column_split_prefix_entry_reduced_entry * S ((S (efrd_row_index_fubini_terminal_column_split_prefix)) * dc) + (efrd_reduced_count_fubini_terminal_column_split_prefix)))) /\ (((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_terminal_entry. ff_h_efrd_fubini_terminal_column_split_prefix_entry_terminal_entry + S (efrd_terminal_bit_fubini_terminal_column_split_prefix) = S ((S (efrd_row_index_fubini_terminal_column_split_prefix)) * tc)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_terminal_entry. tb = ff_q_efrd_fubini_terminal_column_split_prefix_entry_terminal_entry * S ((S (efrd_row_index_fubini_terminal_column_split_prefix)) * tc) + (efrd_terminal_bit_fubini_terminal_column_split_prefix)))) /\ (exists efrd_row_code_fubini_terminal_column_split_prefix_entry_split efrd_row_scale_fubini_terminal_column_split_prefix_entry_split. (((((forall eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix. (exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_bound. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_bound + S (eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix) = sh) -> exists eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix. ((((exists ff_h_eri_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_decoded. ff_h_eri_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_decoded + S (eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix) = S ((S (eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split)) /\ exists ff_q_eri_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_decoded. efrd_row_code_fubini_terminal_column_split_prefix_entry_split = ff_q_eri_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_decoded * S ((S (eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split) + (eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix))) /\ (((eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix = 0 /\ ((exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_choice_left + S (p * S efrd_row_index_fubini_terminal_column_split_prefix) = q * S eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix) /\ ~(exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_choice_right + S (q * S eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix) = p * S efrd_row_index_fubini_terminal_column_split_prefix))) \/ (eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix = 1 /\ ((exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_choice_right. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_choice_right + S (q * S eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix) = p * S efrd_row_index_fubini_terminal_column_split_prefix) /\ ~(exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_choice_left. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix_choice_left + S (p * S efrd_row_index_fubini_terminal_column_split_prefix) = q * S eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_successor_prefix))))))) /\ (((exists ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_start. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_start. ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_terminal. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_terminal + S (efrd_count_fubini_terminal_column_split_prefix) = S ((S (sh)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_terminal. ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_terminal * S ((S (sh)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum) + (efrd_count_fubini_terminal_column_split_prefix))) /\ forall ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum. (exists ff_lt_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_bound. ff_lt_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_bound + S ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum = sh) -> exists ff_a_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum ff_r_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum ff_s_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum. ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_summand. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_summand + S (ff_a_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_summand. efrd_row_code_fubini_terminal_column_split_prefix_entry_split = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_summand * S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split) + (ff_a_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_partial. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_partial + S (ff_r_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum) = S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_partial. ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_partial * S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum) + (ff_r_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum))) /\ ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_successor. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_successor + S (ff_s_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum) = S ((S (S ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_successor. ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum_successor * S ((S (S ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum) + (ff_s_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum))) /\ ff_s_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum = ff_r_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum + ff_a_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_sum)))))) /\ (forall ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits. (exists ff_lt_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits_bound. ff_lt_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits_bound + S ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits = sh) -> exists ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits. ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits_decoded. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits_decoded + S (ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits) = S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits_decoded. efrd_row_code_fubini_terminal_column_split_prefix_entry_split = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits_decoded * S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split) + (ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits))) /\ (ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits = 0 \/ ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_successor_count_bits = 1)))))) /\ ((forall eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix. (exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_bound. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_bound + S (eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix) = h) -> exists eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix. ((((exists ff_h_eri_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_decoded. ff_h_eri_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_decoded + S (eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix) = S ((S (eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split)) /\ exists ff_q_eri_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_decoded. efrd_row_code_fubini_terminal_column_split_prefix_entry_split = ff_q_eri_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_decoded * S ((S (eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split) + (eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix))) /\ (((eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix = 0 /\ ((exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_choice_left + S (p * S efrd_row_index_fubini_terminal_column_split_prefix) = q * S eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix) /\ ~(exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_choice_right + S (q * S eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix) = p * S efrd_row_index_fubini_terminal_column_split_prefix))) \/ (eri_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix = 1 /\ ((exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_choice_right. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_choice_right + S (q * S eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix) = p * S efrd_row_index_fubini_terminal_column_split_prefix) /\ ~(exists eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_choice_left. eri_gap_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix_choice_left + S (p * S efrd_row_index_fubini_terminal_column_split_prefix) = q * S eri_column_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_prefix))))))) /\ (((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_terminal_entry. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_terminal_entry + S (efrd_terminal_bit_fubini_terminal_column_split_prefix) = S ((S (h)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_terminal_entry. efrd_row_code_fubini_terminal_column_split_prefix_entry_split = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_terminal_entry * S ((S (h)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split) + (efrd_terminal_bit_fubini_terminal_column_split_prefix))))) /\ (((((exists ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_start. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_start + S (0) = S ((S (0)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_start. ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_start * S ((S (0)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum) + (0))) /\ ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_terminal. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_terminal + S (efrd_reduced_count_fubini_terminal_column_split_prefix) = S ((S (h)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_terminal. ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_terminal * S ((S (h)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum) + (efrd_reduced_count_fubini_terminal_column_split_prefix))) /\ forall ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum. (exists ff_lt_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_bound. ff_lt_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_bound + S ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum = h) -> exists ff_a_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum ff_r_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum ff_s_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum. ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_summand. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_summand + S (ff_a_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_summand. efrd_row_code_fubini_terminal_column_split_prefix_entry_split = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_summand * S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split) + (ff_a_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_partial. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_partial + S (ff_r_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum) = S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_partial. ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_partial * S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum) + (ff_r_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum))) /\ ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_successor. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_successor + S (ff_s_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum) = S ((S (S ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_successor. ff_u_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum_successor * S ((S (S ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)) * ff_v_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum) + (ff_s_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum))) /\ ff_s_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum = ff_r_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum + ff_a_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_sum)))))) /\ (forall ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits. (exists ff_lt_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits_bound. ff_lt_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits_bound + S ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits = h) -> exists ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits. ((((exists ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits_decoded. ff_h_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits_decoded + S (ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits) = S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split)) /\ exists ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits_decoded. efrd_row_code_fubini_terminal_column_split_prefix_entry_split = ff_q_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits_decoded * S ((S (ff_i_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits)) * efrd_row_scale_fubini_terminal_column_split_prefix_entry_split) + (ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits))) /\ (ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits = 0 \/ ff_bit_efrd_fubini_terminal_column_split_prefix_entry_split_reduced_count_bits = 1))))) /\ (efrd_terminal_bit_fubini_terminal_column_split_prefix = 0 \/ efrd_terminal_bit_fubini_terminal_column_split_prefix = 1)) /\ efrd_count_fubini_terminal_column_split_prefix = efrd_reduced_count_fubini_terminal_column_split_prefix + efrd_terminal_bit_fubini_terminal_column_split_prefix))))))) -> (forall etc_row_index_fubini_terminal_column_prefix. (exists edt_lt_gap_fubini_terminal_column_prefix_bound. edt_lt_gap_fubini_terminal_column_prefix_bound + S (etc_row_index_fubini_terminal_column_prefix) = l) -> exists etc_bit_fubini_terminal_column_prefix. ((((exists ff_h_etc_fubini_terminal_column_prefix_decoded. ff_h_etc_fubini_terminal_column_prefix_decoded + S (etc_bit_fubini_terminal_column_prefix) = S ((S (etc_row_index_fubini_terminal_column_prefix)) * cc)) /\ exists ff_q_etc_fubini_terminal_column_prefix_decoded. cb = ff_q_etc_fubini_terminal_column_prefix_decoded * S ((S (etc_row_index_fubini_terminal_column_prefix)) * cc) + (etc_bit_fubini_terminal_column_prefix))) /\ (exists etc_count_fubini_terminal_column_prefix_witness etc_row_code_fubini_terminal_column_prefix_witness etc_row_scale_fubini_terminal_column_prefix_witness. ((((((exists ff_h_etc_fubini_terminal_column_prefix_witness_outer_entry. ff_h_etc_fubini_terminal_column_prefix_witness_outer_entry + S (etc_count_fubini_terminal_column_prefix_witness) = S ((S (etc_row_index_fubini_terminal_column_prefix)) * bc)) /\ exists ff_q_etc_fubini_terminal_column_prefix_witness_outer_entry. bb = ff_q_etc_fubini_terminal_column_prefix_witness_outer_entry * S ((S (etc_row_index_fubini_terminal_column_prefix)) * bc) + (etc_count_fubini_terminal_column_prefix_witness))) /\ (forall eri_column_etc_fubini_terminal_column_prefix_witness_row. (exists eri_gap_etc_fubini_terminal_column_prefix_witness_row_bound. eri_gap_etc_fubini_terminal_column_prefix_witness_row_bound + S (eri_column_etc_fubini_terminal_column_prefix_witness_row) = sh) -> exists eri_bit_etc_fubini_terminal_column_prefix_witness_row. ((((exists ff_h_eri_etc_fubini_terminal_column_prefix_witness_row_decoded. ff_h_eri_etc_fubini_terminal_column_prefix_witness_row_decoded + S (eri_bit_etc_fubini_terminal_column_prefix_witness_row) = S ((S (eri_column_etc_fubini_terminal_column_prefix_witness_row)) * etc_row_scale_fubini_terminal_column_prefix_witness)) /\ exists ff_q_eri_etc_fubini_terminal_column_prefix_witness_row_decoded. etc_row_code_fubini_terminal_column_prefix_witness = ff_q_eri_etc_fubini_terminal_column_prefix_witness_row_decoded * S ((S (eri_column_etc_fubini_terminal_column_prefix_witness_row)) * etc_row_scale_fubini_terminal_column_prefix_witness) + (eri_bit_etc_fubini_terminal_column_prefix_witness_row))) /\ (((eri_bit_etc_fubini_terminal_column_prefix_witness_row = 0 /\ ((exists eri_gap_etc_fubini_terminal_column_prefix_witness_row_choice_left. eri_gap_etc_fubini_terminal_column_prefix_witness_row_choice_left + S (p * S etc_row_index_fubini_terminal_column_prefix) = q * S eri_column_etc_fubini_terminal_column_prefix_witness_row) /\ ~(exists eri_gap_etc_fubini_terminal_column_prefix_witness_row_choice_right. eri_gap_etc_fubini_terminal_column_prefix_witness_row_choice_right + S (q * S eri_column_etc_fubini_terminal_column_prefix_witness_row) = p * S etc_row_index_fubini_terminal_column_prefix))) \/ (eri_bit_etc_fubini_terminal_column_prefix_witness_row = 1 /\ ((exists eri_gap_etc_fubini_terminal_column_prefix_witness_row_choice_right. eri_gap_etc_fubini_terminal_column_prefix_witness_row_choice_right + S (q * S eri_column_etc_fubini_terminal_column_prefix_witness_row) = p * S etc_row_index_fubini_terminal_column_prefix) /\ ~(exists eri_gap_etc_fubini_terminal_column_prefix_witness_row_choice_left. eri_gap_etc_fubini_terminal_column_prefix_witness_row_choice_left + S (p * S etc_row_index_fubini_terminal_column_prefix) = q * S eri_column_etc_fubini_terminal_column_prefix_witness_row)))))))) /\ (((exists ff_u_etc_fubini_terminal_column_prefix_witness_count_relation_sum ff_v_etc_fubini_terminal_column_prefix_witness_count_relation_sum. ((((exists ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_start. ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_start. ff_u_etc_fubini_terminal_column_prefix_witness_count_relation_sum = ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_fubini_terminal_column_prefix_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_terminal. ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_terminal + S (etc_count_fubini_terminal_column_prefix_witness) = S ((S (sh)) * ff_v_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_terminal. ff_u_etc_fubini_terminal_column_prefix_witness_count_relation_sum = ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_terminal * S ((S (sh)) * ff_v_etc_fubini_terminal_column_prefix_witness_count_relation_sum) + (etc_count_fubini_terminal_column_prefix_witness))) /\ forall ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_sum. (exists ff_lt_etc_fubini_terminal_column_prefix_witness_count_relation_sum_bound. ff_lt_etc_fubini_terminal_column_prefix_witness_count_relation_sum_bound + S ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_sum = sh) -> exists ff_a_etc_fubini_terminal_column_prefix_witness_count_relation_sum ff_r_etc_fubini_terminal_column_prefix_witness_count_relation_sum ff_s_etc_fubini_terminal_column_prefix_witness_count_relation_sum. ((((exists ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_summand. ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_summand + S (ff_a_etc_fubini_terminal_column_prefix_witness_count_relation_sum) = S ((S (ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) * etc_row_scale_fubini_terminal_column_prefix_witness)) /\ exists ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_summand. etc_row_code_fubini_terminal_column_prefix_witness = ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_summand * S ((S (ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) * etc_row_scale_fubini_terminal_column_prefix_witness) + (ff_a_etc_fubini_terminal_column_prefix_witness_count_relation_sum))) /\ ((((exists ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_partial. ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_partial + S (ff_r_etc_fubini_terminal_column_prefix_witness_count_relation_sum) = S ((S (ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) * ff_v_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_partial. ff_u_etc_fubini_terminal_column_prefix_witness_count_relation_sum = ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_partial * S ((S (ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) * ff_v_etc_fubini_terminal_column_prefix_witness_count_relation_sum) + (ff_r_etc_fubini_terminal_column_prefix_witness_count_relation_sum))) /\ ((((exists ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_successor. ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_sum_successor + S (ff_s_etc_fubini_terminal_column_prefix_witness_count_relation_sum) = S ((S (S ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) * ff_v_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_successor. ff_u_etc_fubini_terminal_column_prefix_witness_count_relation_sum = ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_sum_successor * S ((S (S ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_sum)) * ff_v_etc_fubini_terminal_column_prefix_witness_count_relation_sum) + (ff_s_etc_fubini_terminal_column_prefix_witness_count_relation_sum))) /\ ff_s_etc_fubini_terminal_column_prefix_witness_count_relation_sum = ff_r_etc_fubini_terminal_column_prefix_witness_count_relation_sum + ff_a_etc_fubini_terminal_column_prefix_witness_count_relation_sum)))))) /\ (forall ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_bits. (exists ff_lt_etc_fubini_terminal_column_prefix_witness_count_relation_bits_bound. ff_lt_etc_fubini_terminal_column_prefix_witness_count_relation_bits_bound + S ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_bits = sh) -> exists ff_bit_etc_fubini_terminal_column_prefix_witness_count_relation_bits. ((((exists ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_bits_decoded. ff_h_etc_fubini_terminal_column_prefix_witness_count_relation_bits_decoded + S (ff_bit_etc_fubini_terminal_column_prefix_witness_count_relation_bits) = S ((S (ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_bits)) * etc_row_scale_fubini_terminal_column_prefix_witness)) /\ exists ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_bits_decoded. etc_row_code_fubini_terminal_column_prefix_witness = ff_q_etc_fubini_terminal_column_prefix_witness_count_relation_bits_decoded * S ((S (ff_i_etc_fubini_terminal_column_prefix_witness_count_relation_bits)) * etc_row_scale_fubini_terminal_column_prefix_witness) + (ff_bit_etc_fubini_terminal_column_prefix_witness_count_relation_bits))) /\ (ff_bit_etc_fubini_terminal_column_prefix_witness_count_relation_bits = 0 \/ ff_bit_etc_fubini_terminal_column_prefix_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_fubini_terminal_column_prefix_witness_inner_entry. ff_h_etc_fubini_terminal_column_prefix_witness_inner_entry + S (etc_bit_fubini_terminal_column_prefix) = S ((S (h)) * etc_row_scale_fubini_terminal_column_prefix_witness)) /\ exists ff_q_etc_fubini_terminal_column_prefix_witness_inner_entry. etc_row_code_fubini_terminal_column_prefix_witness = ff_q_etc_fubini_terminal_column_prefix_witness_inner_entry * S ((S (h)) * etc_row_scale_fubini_terminal_column_prefix_witness) + (etc_bit_fubini_terminal_column_prefix))))))) -> (exists ff_u_fubini_row_split_terminal_sum ff_v_fubini_row_split_terminal_sum. ((((exists ff_h_fubini_row_split_terminal_sum_start. ff_h_fubini_row_split_terminal_sum_start + S (0) = S ((S (0)) * ff_v_fubini_row_split_terminal_sum)) /\ exists ff_q_fubini_row_split_terminal_sum_start. ff_u_fubini_row_split_terminal_sum = ff_q_fubini_row_split_terminal_sum_start * S ((S (0)) * ff_v_fubini_row_split_terminal_sum) + (0))) /\ ((((exists ff_h_fubini_row_split_terminal_sum_terminal. ff_h_fubini_row_split_terminal_sum_terminal + S (D) = S ((S (l)) * ff_v_fubini_row_split_terminal_sum)) /\ exists ff_q_fubini_row_split_terminal_sum_terminal. ff_u_fubini_row_split_terminal_sum = ff_q_fubini_row_split_terminal_sum_terminal * S ((S (l)) * ff_v_fubini_row_split_terminal_sum) + (D))) /\ forall ff_i_fubini_row_split_terminal_sum. (exists ff_lt_fubini_row_split_terminal_sum_bound. ff_lt_fubini_row_split_terminal_sum_bound + S ff_i_fubini_row_split_terminal_sum = l) -> exists ff_a_fubini_row_split_terminal_sum ff_r_fubini_row_split_terminal_sum ff_s_fubini_row_split_terminal_sum. ((((exists ff_h_fubini_row_split_terminal_sum_summand. ff_h_fubini_row_split_terminal_sum_summand + S (ff_a_fubini_row_split_terminal_sum) = S ((S (ff_i_fubini_row_split_terminal_sum)) * tc)) /\ exists ff_q_fubini_row_split_terminal_sum_summand. tb = ff_q_fubini_row_split_terminal_sum_summand * S ((S (ff_i_fubini_row_split_terminal_sum)) * tc) + (ff_a_fubini_row_split_terminal_sum))) /\ ((((exists ff_h_fubini_row_split_terminal_sum_partial. ff_h_fubini_row_split_terminal_sum_partial + S (ff_r_fubini_row_split_terminal_sum) = S ((S (ff_i_fubini_row_split_terminal_sum)) * ff_v_fubini_row_split_terminal_sum)) /\ exists ff_q_fubini_row_split_terminal_sum_partial. ff_u_fubini_row_split_terminal_sum = ff_q_fubini_row_split_terminal_sum_partial * S ((S (ff_i_fubini_row_split_terminal_sum)) * ff_v_fubini_row_split_terminal_sum) + (ff_r_fubini_row_split_terminal_sum))) /\ ((((exists ff_h_fubini_row_split_terminal_sum_successor. ff_h_fubini_row_split_terminal_sum_successor + S (ff_s_fubini_row_split_terminal_sum) = S ((S (S ff_i_fubini_row_split_terminal_sum)) * ff_v_fubini_row_split_terminal_sum)) /\ exists ff_q_fubini_row_split_terminal_sum_successor. ff_u_fubini_row_split_terminal_sum = ff_q_fubini_row_split_terminal_sum_successor * S ((S (S ff_i_fubini_row_split_terminal_sum)) * ff_v_fubini_row_split_terminal_sum) + (ff_s_fubini_row_split_terminal_sum))) /\ ff_s_fubini_row_split_terminal_sum = ff_r_fubini_row_split_terminal_sum + ff_a_fubini_row_split_terminal_sum)))))) -> (exists ff_u_fubini_terminal_column_sum ff_v_fubini_terminal_column_sum. ((((exists ff_h_fubini_terminal_column_sum_start. ff_h_fubini_terminal_column_sum_start + S (0) = S ((S (0)) * ff_v_fubini_terminal_column_sum)) /\ exists ff_q_fubini_terminal_column_sum_start. ff_u_fubini_terminal_column_sum = ff_q_fubini_terminal_column_sum_start * S ((S (0)) * ff_v_fubini_terminal_column_sum) + (0))) /\ ((((exists ff_h_fubini_terminal_column_sum_terminal. ff_h_fubini_terminal_column_sum_terminal + S (M) = S ((S (l)) * ff_v_fubini_terminal_column_sum)) /\ exists ff_q_fubini_terminal_column_sum_terminal. ff_u_fubini_terminal_column_sum = ff_q_fubini_terminal_column_sum_terminal * S ((S (l)) * ff_v_fubini_terminal_column_sum) + (M))) /\ forall ff_i_fubini_terminal_column_sum. (exists ff_lt_fubini_terminal_column_sum_bound. ff_lt_fubini_terminal_column_sum_bound + S ff_i_fubini_terminal_column_sum = l) -> exists ff_a_fubini_terminal_column_sum ff_r_fubini_terminal_column_sum ff_s_fubini_terminal_column_sum. ((((exists ff_h_fubini_terminal_column_sum_summand. ff_h_fubini_terminal_column_sum_summand + S (ff_a_fubini_terminal_column_sum) = S ((S (ff_i_fubini_terminal_column_sum)) * cc)) /\ exists ff_q_fubini_terminal_column_sum_summand. cb = ff_q_fubini_terminal_column_sum_summand * S ((S (ff_i_fubini_terminal_column_sum)) * cc) + (ff_a_fubini_terminal_column_sum))) /\ ((((exists ff_h_fubini_terminal_column_sum_partial. ff_h_fubini_terminal_column_sum_partial + S (ff_r_fubini_terminal_column_sum) = S ((S (ff_i_fubini_terminal_column_sum)) * ff_v_fubini_terminal_column_sum)) /\ exists ff_q_fubini_terminal_column_sum_partial. ff_u_fubini_terminal_column_sum = ff_q_fubini_terminal_column_sum_partial * S ((S (ff_i_fubini_terminal_column_sum)) * ff_v_fubini_terminal_column_sum) + (ff_r_fubini_terminal_column_sum))) /\ ((((exists ff_h_fubini_terminal_column_sum_successor. ff_h_fubini_terminal_column_sum_successor + S (ff_s_fubini_terminal_column_sum) = S ((S (S ff_i_fubini_terminal_column_sum)) * ff_v_fubini_terminal_column_sum)) /\ exists ff_q_fubini_terminal_column_sum_successor. ff_u_fubini_terminal_column_sum = ff_q_fubini_terminal_column_sum_successor * S ((S (S ff_i_fubini_terminal_column_sum)) * ff_v_fubini_terminal_column_sum) + (ff_s_fubini_terminal_column_sum))) /\ ff_s_fubini_terminal_column_sum = ff_r_fubini_terminal_column_sum + ff_a_fubini_terminal_column_sum)))))) -> D = M

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

64 script commands · 7 reading checkpoints · 2 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 (3)
01Fix variables and assumptionsL1–10

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

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

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

  1. L11
    intro cb
  2. L12
    intro cc
  3. L13
    intro l
  4. L14
    intro D
  5. L15
    intro M
  6. L16
    intro hsh
  7. L17
    intro hsplit
  8. L18
    intro hcolumn
  9. L19
    intro hterminal
  10. L20
    intro hcolumnsum
03Establish htransportL21–30

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

  1. L21
    have htransport : ∀ j. ∀ a. Lt(j,l) → BetaAt(tb,tc,j,a) → BetaAt(cb,cc,j,a)Definitions: Lt(j,l)BetaAt(tb,tc,j,a)BetaAt(cb,cc,j,a)Original native command in the exact edition
  2. L22
    intro j
  3. L23
    intro a
  4. L24
    intro hj
  5. L25
    intro ha
  6. L26
    specialize eisenstein_successor_terminal_prefix_to_last_column p
  7. L27
    specialize eisenstein_successor_terminal_prefix_to_last_column q
  8. L28
    specialize eisenstein_successor_terminal_prefix_to_last_column h
  9. L29
    specialize eisenstein_successor_terminal_prefix_to_last_column sh
  10. L30
    specialize eisenstein_successor_terminal_prefix_to_last_column bb
04Use earlier factsL31–40

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

  1. L31
    specialize eisenstein_successor_terminal_prefix_to_last_column bc
  2. L32
    specialize eisenstein_successor_terminal_prefix_to_last_column db
  3. L33
    specialize eisenstein_successor_terminal_prefix_to_last_column dc
  4. L34
    specialize eisenstein_successor_terminal_prefix_to_last_column tb
  5. L35
    specialize eisenstein_successor_terminal_prefix_to_last_column tc
  6. L36
    specialize eisenstein_successor_terminal_prefix_to_last_column cb
  7. L37
    specialize eisenstein_successor_terminal_prefix_to_last_column cc
  8. L38
    specialize eisenstein_successor_terminal_prefix_to_last_column l
  9. L39
    specialize eisenstein_successor_terminal_prefix_to_last_column j
  10. L40
    specialize eisenstein_successor_terminal_prefix_to_last_column a
05Use earlier factsL41–46

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

  1. L41
    apply eisenstein_successor_terminal_prefix_to_last_column
  2. L42
    exact hsh
  3. L43
    exact hsplit
  4. L44
    exact hcolumn
  5. L45
    exact hj
  6. L46
    exact ha
06Establish hcolumnDL47–56

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

  1. L47
    have hcolumnD : Sum(cb,cc,l,D)Definitions: Sum(cb,cc,l,D)Original native command in the exact edition
  2. L48
    specialize beta_sum_transport_prefix tb
  3. L49
    specialize beta_sum_transport_prefix tc
  4. L50
    specialize beta_sum_transport_prefix cb
  5. L51
    specialize beta_sum_transport_prefix cc
  6. L52
    specialize beta_sum_transport_prefix l
  7. L53
    specialize beta_sum_transport_prefix D
  8. L54
    apply beta_sum_transport_prefix
  9. L55
    exact hterminal
  10. L56
    exact htransport
07Use earlier factsL57–64

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

  1. L57
    specialize beta_sum_functional cb
  2. L58
    specialize beta_sum_functional cc
  3. L59
    specialize beta_sum_functional l
  4. L60
    specialize beta_sum_functional D
  5. L61
    specialize beta_sum_functional M
  6. L62
    apply beta_sum_functional
  7. L63
    exact hcolumnD
  8. L64
    exact hcolumnsum

Library-wide reading audit

Original defined command ledger · 64 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro h
  4. 0004intro sh
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro db
  8. 0008intro dc
  9. 0009intro tb
  10. 0010intro tc
  11. 0011intro cb
  12. 0012intro cc
  13. 0013intro l
  14. 0014intro D
  15. 0015intro M
  16. 0016intro hsh
  17. 0017intro hsplit
  18. 0018intro hcolumn
  19. 0019intro hterminal
  20. 0020intro hcolumnsum
  21. 0021have htransport : ∀ j. ∀ a. Lt(j,l)BetaAt(tb,tc,j,a)BetaAt(cb,cc,j,a)
    Exact native replay linehave htransport : forall j a. (exists efrd_lt_gap_fubini_terminal_column_sum_bound. efrd_lt_gap_fubini_terminal_column_sum_bound + S (j) = l) -> (((exists ff_h_fubini_terminal_column_sum_source_entry. ff_h_fubini_terminal_column_sum_source_entry + S (a) = S ((S (j)) * tc)) /\ exists ff_q_fubini_terminal_column_sum_source_entry. tb = ff_q_fubini_terminal_column_sum_source_entry * S ((S (j)) * tc) + (a))) -> (((exists ff_h_fubini_terminal_column_sum_target_entry. ff_h_fubini_terminal_column_sum_target_entry + S (a) = S ((S (j)) * cc)) /\ exists ff_q_fubini_terminal_column_sum_target_entry. cb = ff_q_fubini_terminal_column_sum_target_entry * S ((S (j)) * cc) + (a)))
  22. 0022intro j
  23. 0023intro a
  24. 0024intro hj
  25. 0025intro ha
  26. 0026specialize eisenstein_successor_terminal_prefix_to_last_column p
  27. 0027specialize eisenstein_successor_terminal_prefix_to_last_column q
  28. 0028specialize eisenstein_successor_terminal_prefix_to_last_column h
  29. 0029specialize eisenstein_successor_terminal_prefix_to_last_column sh
  30. 0030specialize eisenstein_successor_terminal_prefix_to_last_column bb
  31. 0031specialize eisenstein_successor_terminal_prefix_to_last_column bc
  32. 0032specialize eisenstein_successor_terminal_prefix_to_last_column db
  33. 0033specialize eisenstein_successor_terminal_prefix_to_last_column dc
  34. 0034specialize eisenstein_successor_terminal_prefix_to_last_column tb
  35. 0035specialize eisenstein_successor_terminal_prefix_to_last_column tc
  36. 0036specialize eisenstein_successor_terminal_prefix_to_last_column cb
  37. 0037specialize eisenstein_successor_terminal_prefix_to_last_column cc
  38. 0038specialize eisenstein_successor_terminal_prefix_to_last_column l
  39. 0039specialize eisenstein_successor_terminal_prefix_to_last_column j
  40. 0040specialize eisenstein_successor_terminal_prefix_to_last_column a
  41. 0041apply eisenstein_successor_terminal_prefix_to_last_column
  42. 0042exact hsh
  43. 0043exact hsplit
  44. 0044exact hcolumn
  45. 0045exact hj
  46. 0046exact ha
  47. 0047have hcolumnD : Sum(cb,cc,l,D)
    Exact native replay linehave hcolumnD : exists ff_u_fubini_terminal_column_sum_transport ff_v_fubini_terminal_column_sum_transport. ((((exists ff_h_fubini_terminal_column_sum_transport_start. ff_h_fubini_terminal_column_sum_transport_start + S (0) = S ((S (0)) * ff_v_fubini_terminal_column_sum_transport)) /\ exists ff_q_fubini_terminal_column_sum_transport_start. ff_u_fubini_terminal_column_sum_transport = ff_q_fubini_terminal_column_sum_transport_start * S ((S (0)) * ff_v_fubini_terminal_column_sum_transport) + (0))) /\ ((((exists ff_h_fubini_terminal_column_sum_transport_terminal. ff_h_fubini_terminal_column_sum_transport_terminal + S (D) = S ((S (l)) * ff_v_fubini_terminal_column_sum_transport)) /\ exists ff_q_fubini_terminal_column_sum_transport_terminal. ff_u_fubini_terminal_column_sum_transport = ff_q_fubini_terminal_column_sum_transport_terminal * S ((S (l)) * ff_v_fubini_terminal_column_sum_transport) + (D))) /\ forall ff_i_fubini_terminal_column_sum_transport. (exists ff_lt_fubini_terminal_column_sum_transport_bound. ff_lt_fubini_terminal_column_sum_transport_bound + S ff_i_fubini_terminal_column_sum_transport = l) -> exists ff_a_fubini_terminal_column_sum_transport ff_r_fubini_terminal_column_sum_transport ff_s_fubini_terminal_column_sum_transport. ((((exists ff_h_fubini_terminal_column_sum_transport_summand. ff_h_fubini_terminal_column_sum_transport_summand + S (ff_a_fubini_terminal_column_sum_transport) = S ((S (ff_i_fubini_terminal_column_sum_transport)) * cc)) /\ exists ff_q_fubini_terminal_column_sum_transport_summand. cb = ff_q_fubini_terminal_column_sum_transport_summand * S ((S (ff_i_fubini_terminal_column_sum_transport)) * cc) + (ff_a_fubini_terminal_column_sum_transport))) /\ ((((exists ff_h_fubini_terminal_column_sum_transport_partial. ff_h_fubini_terminal_column_sum_transport_partial + S (ff_r_fubini_terminal_column_sum_transport) = S ((S (ff_i_fubini_terminal_column_sum_transport)) * ff_v_fubini_terminal_column_sum_transport)) /\ exists ff_q_fubini_terminal_column_sum_transport_partial. ff_u_fubini_terminal_column_sum_transport = ff_q_fubini_terminal_column_sum_transport_partial * S ((S (ff_i_fubini_terminal_column_sum_transport)) * ff_v_fubini_terminal_column_sum_transport) + (ff_r_fubini_terminal_column_sum_transport))) /\ ((((exists ff_h_fubini_terminal_column_sum_transport_successor. ff_h_fubini_terminal_column_sum_transport_successor + S (ff_s_fubini_terminal_column_sum_transport) = S ((S (S ff_i_fubini_terminal_column_sum_transport)) * ff_v_fubini_terminal_column_sum_transport)) /\ exists ff_q_fubini_terminal_column_sum_transport_successor. ff_u_fubini_terminal_column_sum_transport = ff_q_fubini_terminal_column_sum_transport_successor * S ((S (S ff_i_fubini_terminal_column_sum_transport)) * ff_v_fubini_terminal_column_sum_transport) + (ff_s_fubini_terminal_column_sum_transport))) /\ ff_s_fubini_terminal_column_sum_transport = ff_r_fubini_terminal_column_sum_transport + ff_a_fubini_terminal_column_sum_transport)))))
  48. 0048specialize beta_sum_transport_prefix tb
  49. 0049specialize beta_sum_transport_prefix tc
  50. 0050specialize beta_sum_transport_prefix cb
  51. 0051specialize beta_sum_transport_prefix cc
  52. 0052specialize beta_sum_transport_prefix l
  53. 0053specialize beta_sum_transport_prefix D
  54. 0054apply beta_sum_transport_prefix
  55. 0055exact hterminal
  56. 0056exact htransport
  57. 0057specialize beta_sum_functional cb
  58. 0058specialize beta_sum_functional cc
  59. 0059specialize beta_sum_functional l
  60. 0060specialize beta_sum_functional D
  61. 0061specialize beta_sum_functional M
  62. 0062apply beta_sum_functional
  63. 0063exact hcolumnD
  64. 0064exact hcolumnsum