PA00EO · theorem

eisenstein_transposed_column_count_matches_decoded_constant

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

The decoded row and column counts add to the decoded entry of any constant-k prefix.

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. ∀ k. ∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ db. ∀ dc. ∀ kb. ∀ kc. ∀ i. ∀ n. ∀ m. ∀ c. (∀ x. Lt(x,h) → ∃ y. BetaAt(db,dc,x,y) ∧ (∃ z. ∃ j. ∃ u. BetaAt(ab,ac,x,z) ∧ (∃ v. ∃ w. (∀ x0. Lt(x0,k) → ∃ x1. BetaAt(v,w,x0,x1) ∧ (x1 = 0 ∧ (Lt(q · S x,p · S x0) ∧ ¬Lt(p · S x0,q · S x)) ∨ x1 = 1 ∧ (Lt(p · S x0,q · S x) ∧ ¬Lt(q · S x,p · S x0)))) ∧ BitCount(v,w,k,z)) ∧ (∀ v. Lt(v,k) → ∃ w. BetaAt(j,u,v,w) ∧ (∃ x0. ∃ x1. ∃ x2. BetaAt(bb,bc,v,x0) ∧ (∀ x3. Lt(x3,h) → ∃ x4. BetaAt(x1,x2,x3,x4) ∧ (x4 = 0 ∧ (Lt(p · S v,q · S x3) ∧ ¬Lt(q · S x3,p · S v)) ∨ x4 = 1 ∧ (Lt(q · S x3,p · S v) ∧ ¬Lt(p · S v,q · S x3)))) ∧ BitCount(x1,x2,h,x0)BetaAt(x1,x2,x,w))) ∧ (BitCount(j,u,k,y) ∧ z + y = k))) → Lt(i,h)BetaAt(ab,ac,i,n)BetaAt(db,dc,i,m)Repeat(kb,kc,k,h)BetaAt(kb,kc,i,c) → n + m = c

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

27 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall p q h k ab ac bb bc db dc kb kc i n m c. (forall etcc_row_index_column_count_semantic_prefix. (exists edt_lt_gap_column_count_semantic_prefix_bound. edt_lt_gap_column_count_semantic_prefix_bound + S (etcc_row_index_column_count_semantic_prefix) = h) -> exists etcc_count_column_count_semantic_prefix. ((((exists ff_h_etcc_column_count_semantic_prefix_decoded. ff_h_etcc_column_count_semantic_prefix_decoded + S (etcc_count_column_count_semantic_prefix) = S ((S (etcc_row_index_column_count_semantic_prefix)) * dc)) /\ exists ff_q_etcc_column_count_semantic_prefix_decoded. db = ff_q_etcc_column_count_semantic_prefix_decoded * S ((S (etcc_row_index_column_count_semantic_prefix)) * dc) + (etcc_count_column_count_semantic_prefix))) /\ (exists etcc_row_count_column_count_semantic_prefix_witness etcc_column_code_column_count_semantic_prefix_witness etcc_column_scale_column_count_semantic_prefix_witness. ((((((exists ff_h_etcc_column_count_semantic_prefix_witness_first_entry. ff_h_etcc_column_count_semantic_prefix_witness_first_entry + S (etcc_row_count_column_count_semantic_prefix_witness) = S ((S (etcc_row_index_column_count_semantic_prefix)) * ac)) /\ exists ff_q_etcc_column_count_semantic_prefix_witness_first_entry. ab = ff_q_etcc_column_count_semantic_prefix_witness_first_entry * S ((S (etcc_row_index_column_count_semantic_prefix)) * ac) + (etcc_row_count_column_count_semantic_prefix_witness))) /\ (exists erc_row_code_etcc_column_count_semantic_prefix_witness_row_semantics erc_row_scale_etcc_column_count_semantic_prefix_witness_row_semantics. ((forall eri_column_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row. (exists eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_bound. eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_bound + S (eri_column_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row) = k) -> exists eri_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row. ((((exists ff_h_eri_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_decoded. ff_h_eri_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_decoded + S (eri_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row) = S ((S (eri_column_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row)) * erc_row_scale_etcc_column_count_semantic_prefix_witness_row_semantics)) /\ exists ff_q_eri_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_decoded. erc_row_code_etcc_column_count_semantic_prefix_witness_row_semantics = ff_q_eri_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_decoded * S ((S (eri_column_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row)) * erc_row_scale_etcc_column_count_semantic_prefix_witness_row_semantics) + (eri_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row))) /\ (((eri_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row = 0 /\ ((exists eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_choice_left. eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_choice_left + S (q * S etcc_row_index_column_count_semantic_prefix) = p * S eri_column_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row) /\ ~(exists eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_choice_right. eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_choice_right + S (p * S eri_column_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row) = q * S etcc_row_index_column_count_semantic_prefix))) \/ (eri_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row = 1 /\ ((exists eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_choice_right. eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_choice_right + S (p * S eri_column_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row) = q * S etcc_row_index_column_count_semantic_prefix) /\ ~(exists eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_choice_left. eri_gap_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row_choice_left + S (q * S etcc_row_index_column_count_semantic_prefix) = p * S eri_column_erc_etcc_column_count_semantic_prefix_witness_row_semantics_row))))))) /\ (((exists ff_u_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum ff_v_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum. ((((exists ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_start. ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) /\ exists ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_start. ff_u_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum = ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_start * S ((S (0)) * ff_v_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum) + (0))) /\ ((((exists ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_terminal. ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_terminal + S (etcc_row_count_column_count_semantic_prefix_witness) = S ((S (k)) * ff_v_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) /\ exists ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_terminal. ff_u_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum = ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_terminal * S ((S (k)) * ff_v_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum) + (etcc_row_count_column_count_semantic_prefix_witness))) /\ forall ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum. (exists ff_lt_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_bound. ff_lt_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_bound + S ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum = k) -> exists ff_a_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum ff_r_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum ff_s_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum. ((((exists ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_summand. ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_summand + S (ff_a_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum) = S ((S (ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) * erc_row_scale_etcc_column_count_semantic_prefix_witness_row_semantics)) /\ exists ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_summand. erc_row_code_etcc_column_count_semantic_prefix_witness_row_semantics = ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_summand * S ((S (ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) * erc_row_scale_etcc_column_count_semantic_prefix_witness_row_semantics) + (ff_a_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum))) /\ ((((exists ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_partial. ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_partial + S (ff_r_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum) = S ((S (ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) * ff_v_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) /\ exists ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_partial. ff_u_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum = ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_partial * S ((S (ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) * ff_v_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum) + (ff_r_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum))) /\ ((((exists ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_successor. ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_successor + S (ff_s_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum) = S ((S (S ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) * ff_v_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) /\ exists ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_successor. ff_u_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum = ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum_successor * S ((S (S ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)) * ff_v_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum) + (ff_s_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum))) /\ ff_s_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum = ff_r_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum + ff_a_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_sum)))))) /\ (forall ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits. (exists ff_lt_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits_bound. ff_lt_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits_bound + S ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits = k) -> exists ff_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits. ((((exists ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits_decoded. ff_h_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits_decoded + S (ff_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits) = S ((S (ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits)) * erc_row_scale_etcc_column_count_semantic_prefix_witness_row_semantics)) /\ exists ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits_decoded. erc_row_code_etcc_column_count_semantic_prefix_witness_row_semantics = ff_q_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits_decoded * S ((S (ff_i_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits)) * erc_row_scale_etcc_column_count_semantic_prefix_witness_row_semantics) + (ff_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits))) /\ (ff_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits = 0 \/ ff_bit_erc_etcc_column_count_semantic_prefix_witness_row_semantics_count_bits = 1)))))))) /\ (forall etc_row_index_etcc_column_count_semantic_prefix_witness_column. (exists edt_lt_gap_etcc_column_count_semantic_prefix_witness_column_bound. edt_lt_gap_etcc_column_count_semantic_prefix_witness_column_bound + S (etc_row_index_etcc_column_count_semantic_prefix_witness_column) = k) -> exists etc_bit_etcc_column_count_semantic_prefix_witness_column. ((((exists ff_h_etc_etcc_column_count_semantic_prefix_witness_column_decoded. ff_h_etc_etcc_column_count_semantic_prefix_witness_column_decoded + S (etc_bit_etcc_column_count_semantic_prefix_witness_column) = S ((S (etc_row_index_etcc_column_count_semantic_prefix_witness_column)) * etcc_column_scale_column_count_semantic_prefix_witness)) /\ exists ff_q_etc_etcc_column_count_semantic_prefix_witness_column_decoded. etcc_column_code_column_count_semantic_prefix_witness = ff_q_etc_etcc_column_count_semantic_prefix_witness_column_decoded * S ((S (etc_row_index_etcc_column_count_semantic_prefix_witness_column)) * etcc_column_scale_column_count_semantic_prefix_witness) + (etc_bit_etcc_column_count_semantic_prefix_witness_column))) /\ (exists etc_count_etcc_column_count_semantic_prefix_witness_column_witness etc_row_code_etcc_column_count_semantic_prefix_witness_column_witness etc_row_scale_etcc_column_count_semantic_prefix_witness_column_witness. ((((((exists ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_outer_entry. ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_outer_entry + S (etc_count_etcc_column_count_semantic_prefix_witness_column_witness) = S ((S (etc_row_index_etcc_column_count_semantic_prefix_witness_column)) * bc)) /\ exists ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_outer_entry. bb = ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_outer_entry * S ((S (etc_row_index_etcc_column_count_semantic_prefix_witness_column)) * bc) + (etc_count_etcc_column_count_semantic_prefix_witness_column_witness))) /\ (forall eri_column_etc_etcc_column_count_semantic_prefix_witness_column_witness_row. (exists eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_bound. eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_bound + S (eri_column_etc_etcc_column_count_semantic_prefix_witness_column_witness_row) = h) -> exists eri_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_row. ((((exists ff_h_eri_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_decoded. ff_h_eri_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_decoded + S (eri_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_row) = S ((S (eri_column_etc_etcc_column_count_semantic_prefix_witness_column_witness_row)) * etc_row_scale_etcc_column_count_semantic_prefix_witness_column_witness)) /\ exists ff_q_eri_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_decoded. etc_row_code_etcc_column_count_semantic_prefix_witness_column_witness = ff_q_eri_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_decoded * S ((S (eri_column_etc_etcc_column_count_semantic_prefix_witness_column_witness_row)) * etc_row_scale_etcc_column_count_semantic_prefix_witness_column_witness) + (eri_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_row))) /\ (((eri_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_row = 0 /\ ((exists eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_choice_left. eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_choice_left + S (p * S etc_row_index_etcc_column_count_semantic_prefix_witness_column) = q * S eri_column_etc_etcc_column_count_semantic_prefix_witness_column_witness_row) /\ ~(exists eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_choice_right. eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_choice_right + S (q * S eri_column_etc_etcc_column_count_semantic_prefix_witness_column_witness_row) = p * S etc_row_index_etcc_column_count_semantic_prefix_witness_column))) \/ (eri_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_row = 1 /\ ((exists eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_choice_right. eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_choice_right + S (q * S eri_column_etc_etcc_column_count_semantic_prefix_witness_column_witness_row) = p * S etc_row_index_etcc_column_count_semantic_prefix_witness_column) /\ ~(exists eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_choice_left. eri_gap_etc_etcc_column_count_semantic_prefix_witness_column_witness_row_choice_left + S (p * S etc_row_index_etcc_column_count_semantic_prefix_witness_column) = q * S eri_column_etc_etcc_column_count_semantic_prefix_witness_column_witness_row)))))))) /\ (((exists ff_u_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum ff_v_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_start. ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_start. ff_u_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum = ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_terminal. ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_terminal + S (etc_count_etcc_column_count_semantic_prefix_witness_column_witness) = S ((S (h)) * ff_v_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_terminal. ff_u_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum = ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum) + (etc_count_etcc_column_count_semantic_prefix_witness_column_witness))) /\ forall ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum. (exists ff_lt_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_bound. ff_lt_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_bound + S ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum = h) -> exists ff_a_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum ff_r_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum ff_s_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum. ((((exists ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_summand. ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_summand + S (ff_a_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) * etc_row_scale_etcc_column_count_semantic_prefix_witness_column_witness)) /\ exists ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_summand. etc_row_code_etcc_column_count_semantic_prefix_witness_column_witness = ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_summand * S ((S (ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) * etc_row_scale_etcc_column_count_semantic_prefix_witness_column_witness) + (ff_a_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_partial. ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_partial + S (ff_r_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum) = S ((S (ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) * ff_v_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_partial. ff_u_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum = ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_partial * S ((S (ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) * ff_v_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum) + (ff_r_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum))) /\ ((((exists ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_successor. ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_successor + S (ff_s_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum) = S ((S (S ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) * ff_v_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) /\ exists ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_successor. ff_u_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum = ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum_successor * S ((S (S ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)) * ff_v_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum) + (ff_s_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum))) /\ ff_s_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum = ff_r_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum + ff_a_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_sum)))))) /\ (forall ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits. (exists ff_lt_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits_bound. ff_lt_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits_bound + S ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits = h) -> exists ff_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits. ((((exists ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits_decoded. ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits_decoded + S (ff_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits) = S ((S (ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits)) * etc_row_scale_etcc_column_count_semantic_prefix_witness_column_witness)) /\ exists ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits_decoded. etc_row_code_etcc_column_count_semantic_prefix_witness_column_witness = ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits_decoded * S ((S (ff_i_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits)) * etc_row_scale_etcc_column_count_semantic_prefix_witness_column_witness) + (ff_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits))) /\ (ff_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits = 0 \/ ff_bit_etc_etcc_column_count_semantic_prefix_witness_column_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_inner_entry. ff_h_etc_etcc_column_count_semantic_prefix_witness_column_witness_inner_entry + S (etc_bit_etcc_column_count_semantic_prefix_witness_column) = S ((S (etcc_row_index_column_count_semantic_prefix)) * etc_row_scale_etcc_column_count_semantic_prefix_witness_column_witness)) /\ exists ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_inner_entry. etc_row_code_etcc_column_count_semantic_prefix_witness_column_witness = ff_q_etc_etcc_column_count_semantic_prefix_witness_column_witness_inner_entry * S ((S (etcc_row_index_column_count_semantic_prefix)) * etc_row_scale_etcc_column_count_semantic_prefix_witness_column_witness) + (etc_bit_etcc_column_count_semantic_prefix_witness_column)))))))) /\ ((((exists ff_u_etcc_column_count_semantic_prefix_witness_column_count_sum ff_v_etcc_column_count_semantic_prefix_witness_column_count_sum. ((((exists ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_start. ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_start + S (0) = S ((S (0)) * ff_v_etcc_column_count_semantic_prefix_witness_column_count_sum)) /\ exists ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_start. ff_u_etcc_column_count_semantic_prefix_witness_column_count_sum = ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_start * S ((S (0)) * ff_v_etcc_column_count_semantic_prefix_witness_column_count_sum) + (0))) /\ ((((exists ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_terminal. ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_terminal + S (etcc_count_column_count_semantic_prefix) = S ((S (k)) * ff_v_etcc_column_count_semantic_prefix_witness_column_count_sum)) /\ exists ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_terminal. ff_u_etcc_column_count_semantic_prefix_witness_column_count_sum = ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_terminal * S ((S (k)) * ff_v_etcc_column_count_semantic_prefix_witness_column_count_sum) + (etcc_count_column_count_semantic_prefix))) /\ forall ff_i_etcc_column_count_semantic_prefix_witness_column_count_sum. (exists ff_lt_etcc_column_count_semantic_prefix_witness_column_count_sum_bound. ff_lt_etcc_column_count_semantic_prefix_witness_column_count_sum_bound + S ff_i_etcc_column_count_semantic_prefix_witness_column_count_sum = k) -> exists ff_a_etcc_column_count_semantic_prefix_witness_column_count_sum ff_r_etcc_column_count_semantic_prefix_witness_column_count_sum ff_s_etcc_column_count_semantic_prefix_witness_column_count_sum. ((((exists ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_summand. ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_summand + S (ff_a_etcc_column_count_semantic_prefix_witness_column_count_sum) = S ((S (ff_i_etcc_column_count_semantic_prefix_witness_column_count_sum)) * etcc_column_scale_column_count_semantic_prefix_witness)) /\ exists ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_summand. etcc_column_code_column_count_semantic_prefix_witness = ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_summand * S ((S (ff_i_etcc_column_count_semantic_prefix_witness_column_count_sum)) * etcc_column_scale_column_count_semantic_prefix_witness) + (ff_a_etcc_column_count_semantic_prefix_witness_column_count_sum))) /\ ((((exists ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_partial. ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_partial + S (ff_r_etcc_column_count_semantic_prefix_witness_column_count_sum) = S ((S (ff_i_etcc_column_count_semantic_prefix_witness_column_count_sum)) * ff_v_etcc_column_count_semantic_prefix_witness_column_count_sum)) /\ exists ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_partial. ff_u_etcc_column_count_semantic_prefix_witness_column_count_sum = ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_partial * S ((S (ff_i_etcc_column_count_semantic_prefix_witness_column_count_sum)) * ff_v_etcc_column_count_semantic_prefix_witness_column_count_sum) + (ff_r_etcc_column_count_semantic_prefix_witness_column_count_sum))) /\ ((((exists ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_successor. ff_h_etcc_column_count_semantic_prefix_witness_column_count_sum_successor + S (ff_s_etcc_column_count_semantic_prefix_witness_column_count_sum) = S ((S (S ff_i_etcc_column_count_semantic_prefix_witness_column_count_sum)) * ff_v_etcc_column_count_semantic_prefix_witness_column_count_sum)) /\ exists ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_successor. ff_u_etcc_column_count_semantic_prefix_witness_column_count_sum = ff_q_etcc_column_count_semantic_prefix_witness_column_count_sum_successor * S ((S (S ff_i_etcc_column_count_semantic_prefix_witness_column_count_sum)) * ff_v_etcc_column_count_semantic_prefix_witness_column_count_sum) + (ff_s_etcc_column_count_semantic_prefix_witness_column_count_sum))) /\ ff_s_etcc_column_count_semantic_prefix_witness_column_count_sum = ff_r_etcc_column_count_semantic_prefix_witness_column_count_sum + ff_a_etcc_column_count_semantic_prefix_witness_column_count_sum)))))) /\ (forall ff_i_etcc_column_count_semantic_prefix_witness_column_count_bits. (exists ff_lt_etcc_column_count_semantic_prefix_witness_column_count_bits_bound. ff_lt_etcc_column_count_semantic_prefix_witness_column_count_bits_bound + S ff_i_etcc_column_count_semantic_prefix_witness_column_count_bits = k) -> exists ff_bit_etcc_column_count_semantic_prefix_witness_column_count_bits. ((((exists ff_h_etcc_column_count_semantic_prefix_witness_column_count_bits_decoded. ff_h_etcc_column_count_semantic_prefix_witness_column_count_bits_decoded + S (ff_bit_etcc_column_count_semantic_prefix_witness_column_count_bits) = S ((S (ff_i_etcc_column_count_semantic_prefix_witness_column_count_bits)) * etcc_column_scale_column_count_semantic_prefix_witness)) /\ exists ff_q_etcc_column_count_semantic_prefix_witness_column_count_bits_decoded. etcc_column_code_column_count_semantic_prefix_witness = ff_q_etcc_column_count_semantic_prefix_witness_column_count_bits_decoded * S ((S (ff_i_etcc_column_count_semantic_prefix_witness_column_count_bits)) * etcc_column_scale_column_count_semantic_prefix_witness) + (ff_bit_etcc_column_count_semantic_prefix_witness_column_count_bits))) /\ (ff_bit_etcc_column_count_semantic_prefix_witness_column_count_bits = 0 \/ ff_bit_etcc_column_count_semantic_prefix_witness_column_count_bits = 1))))) /\ etcc_row_count_column_count_semantic_prefix_witness + etcc_count_column_count_semantic_prefix = k))))) -> (exists edt_lt_gap_column_count_row_bound. edt_lt_gap_column_count_row_bound + S (i) = h) -> (((exists ff_h_column_count_first_entry. ff_h_column_count_first_entry + S (n) = S ((S (i)) * ac)) /\ exists ff_q_column_count_first_entry. ab = ff_q_column_count_first_entry * S ((S (i)) * ac) + (n))) -> (((exists ff_h_column_count_decoded_entry. ff_h_column_count_decoded_entry + S (m) = S ((S (i)) * dc)) /\ exists ff_q_column_count_decoded_entry. db = ff_q_column_count_decoded_entry * S ((S (i)) * dc) + (m))) -> (forall ff_i_column_count_constant_prefix. (exists ff_lt_column_count_constant_prefix_bound. ff_lt_column_count_constant_prefix_bound + S ff_i_column_count_constant_prefix = h) -> (((exists ff_h_column_count_constant_prefix_decoded. ff_h_column_count_constant_prefix_decoded + S (k) = S ((S (ff_i_column_count_constant_prefix)) * kc)) /\ exists ff_q_column_count_constant_prefix_decoded. kb = ff_q_column_count_constant_prefix_decoded * S ((S (ff_i_column_count_constant_prefix)) * kc) + (k)))) -> (((exists ff_h_column_count_constant_entry. ff_h_column_count_constant_entry + S (c) = S ((S (i)) * kc)) /\ exists ff_q_column_count_constant_entry. kb = ff_q_column_count_constant_entry * S ((S (i)) * kc) + (c))) -> n + m = c

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

56 script commands · 11 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 (2)
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 k
  5. L5
    intro ab
  6. L6
    intro ac
  7. L7
    intro bb
  8. L8
    intro bc
  9. L9
    intro db
  10. L10
    intro dc
02Fix variables and assumptionsL11–20

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

  1. L11
    intro kb
  2. L12
    intro kc
  3. L13
    intro i
  4. L14
    intro n
  5. L15
    intro m
  6. L16
    intro c
  7. L17
    intro hprefix
  8. L18
    intro hi
  9. L19
    intro hn
  10. L20
    intro hm
03Fix variables and assumptionsL21–22

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

  1. L21
    intro hrepeat
  2. L22
    intro hc
04Establish hpartitionL23–32

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

  1. L23
    have hpartition : n + m = k
  2. L24
    specialize eisenstein_transposed_column_count_decoded_partition p
  3. L25
    specialize eisenstein_transposed_column_count_decoded_partition q
  4. L26
    specialize eisenstein_transposed_column_count_decoded_partition h
  5. L27
    specialize eisenstein_transposed_column_count_decoded_partition k
  6. L28
    specialize eisenstein_transposed_column_count_decoded_partition ab
  7. L29
    specialize eisenstein_transposed_column_count_decoded_partition ac
  8. L30
    specialize eisenstein_transposed_column_count_decoded_partition bb
  9. L31
    specialize eisenstein_transposed_column_count_decoded_partition bc
  10. L32
    specialize eisenstein_transposed_column_count_decoded_partition db
05Use earlier factsL33–41

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

  1. L33
    specialize eisenstein_transposed_column_count_decoded_partition dc
  2. L34
    specialize eisenstein_transposed_column_count_decoded_partition i
  3. L35
    specialize eisenstein_transposed_column_count_decoded_partition n
  4. L36
    specialize eisenstein_transposed_column_count_decoded_partition m
  5. L37
    apply eisenstein_transposed_column_count_decoded_partition
  6. L38
    exact hprefix
  7. L39
    exact hi
  8. L40
    exact hn
  9. L41
    exact hm
06Establish hckL42–51

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

  1. L42
    have hck : c = k
  2. L43
    specialize beta_repeat_entry_eq kb
  3. L44
    specialize beta_repeat_entry_eq kc
  4. L45
    specialize beta_repeat_entry_eq k
  5. L46
    specialize beta_repeat_entry_eq h
  6. L47
    specialize beta_repeat_entry_eq i
  7. L48
    specialize beta_repeat_entry_eq c
  8. L49
    apply beta_repeat_entry_eq
  9. L50
    exact hrepeat
  10. L51
    exact hi
07Use earlier factsL52–52

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

  1. L52
    exact hc
08Calculate and transport equalitiesL53–53

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

  1. L53
    trans k
09Use earlier factsL54–54

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

  1. L54
    exact hpartition
10Calculate and transport equalitiesL55–55

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

  1. L55
    symm
11Use earlier factsL56–56

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

  1. L56
    exact hck

Library-wide reading audit

Original defined command ledger · 56 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro h
  4. 0004intro k
  5. 0005intro ab
  6. 0006intro ac
  7. 0007intro bb
  8. 0008intro bc
  9. 0009intro db
  10. 0010intro dc
  11. 0011intro kb
  12. 0012intro kc
  13. 0013intro i
  14. 0014intro n
  15. 0015intro m
  16. 0016intro c
  17. 0017intro hprefix
  18. 0018intro hi
  19. 0019intro hn
  20. 0020intro hm
  21. 0021intro hrepeat
  22. 0022intro hc
  23. 0023have hpartition : n + m = k
  24. 0024specialize eisenstein_transposed_column_count_decoded_partition p
  25. 0025specialize eisenstein_transposed_column_count_decoded_partition q
  26. 0026specialize eisenstein_transposed_column_count_decoded_partition h
  27. 0027specialize eisenstein_transposed_column_count_decoded_partition k
  28. 0028specialize eisenstein_transposed_column_count_decoded_partition ab
  29. 0029specialize eisenstein_transposed_column_count_decoded_partition ac
  30. 0030specialize eisenstein_transposed_column_count_decoded_partition bb
  31. 0031specialize eisenstein_transposed_column_count_decoded_partition bc
  32. 0032specialize eisenstein_transposed_column_count_decoded_partition db
  33. 0033specialize eisenstein_transposed_column_count_decoded_partition dc
  34. 0034specialize eisenstein_transposed_column_count_decoded_partition i
  35. 0035specialize eisenstein_transposed_column_count_decoded_partition n
  36. 0036specialize eisenstein_transposed_column_count_decoded_partition m
  37. 0037apply eisenstein_transposed_column_count_decoded_partition
  38. 0038exact hprefix
  39. 0039exact hi
  40. 0040exact hn
  41. 0041exact hm
  42. 0042have hck : c = k
  43. 0043specialize beta_repeat_entry_eq kb
  44. 0044specialize beta_repeat_entry_eq kc
  45. 0045specialize beta_repeat_entry_eq k
  46. 0046specialize beta_repeat_entry_eq h
  47. 0047specialize beta_repeat_entry_eq i
  48. 0048specialize beta_repeat_entry_eq c
  49. 0049apply beta_repeat_entry_eq
  50. 0050exact hrepeat
  51. 0051exact hi
  52. 0052exact hc
  53. 0053trans k
  54. 0054exact hpartition
  55. 0055symm
  56. 0056exact hck