Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Exact expanded PA statement
forall p q h bb bc i k. (forall etc_row_index_transposed_column_choices. (exists edt_lt_gap_transposed_column_choices_bound. edt_lt_gap_transposed_column_choices_bound + S (etc_row_index_transposed_column_choices) = k) -> exists etc_bit_transposed_column_choices. (exists etc_count_transposed_column_choices_witness etc_row_code_transposed_column_choices_witness etc_row_scale_transposed_column_choices_witness. ((((((exists ff_h_etc_transposed_column_choices_witness_outer_entry. ff_h_etc_transposed_column_choices_witness_outer_entry + S (etc_count_transposed_column_choices_witness) = S ((S (etc_row_index_transposed_column_choices)) * bc)) /\ exists ff_q_etc_transposed_column_choices_witness_outer_entry. bb = ff_q_etc_transposed_column_choices_witness_outer_entry * S ((S (etc_row_index_transposed_column_choices)) * bc) + (etc_count_transposed_column_choices_witness))) /\ (forall eri_column_etc_transposed_column_choices_witness_row. (exists eri_gap_etc_transposed_column_choices_witness_row_bound. eri_gap_etc_transposed_column_choices_witness_row_bound + S (eri_column_etc_transposed_column_choices_witness_row) = h) -> exists eri_bit_etc_transposed_column_choices_witness_row. ((((exists ff_h_eri_etc_transposed_column_choices_witness_row_decoded. ff_h_eri_etc_transposed_column_choices_witness_row_decoded + S (eri_bit_etc_transposed_column_choices_witness_row) = S ((S (eri_column_etc_transposed_column_choices_witness_row)) * etc_row_scale_transposed_column_choices_witness)) /\ exists ff_q_eri_etc_transposed_column_choices_witness_row_decoded. etc_row_code_transposed_column_choices_witness = ff_q_eri_etc_transposed_column_choices_witness_row_decoded * S ((S (eri_column_etc_transposed_column_choices_witness_row)) * etc_row_scale_transposed_column_choices_witness) + (eri_bit_etc_transposed_column_choices_witness_row))) /\ (((eri_bit_etc_transposed_column_choices_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_choices_witness_row_choice_left. eri_gap_etc_transposed_column_choices_witness_row_choice_left + S (p * S etc_row_index_transposed_column_choices) = q * S eri_column_etc_transposed_column_choices_witness_row) /\ ~(exists eri_gap_etc_transposed_column_choices_witness_row_choice_right. eri_gap_etc_transposed_column_choices_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_choices_witness_row) = p * S etc_row_index_transposed_column_choices))) \/ (eri_bit_etc_transposed_column_choices_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_choices_witness_row_choice_right. eri_gap_etc_transposed_column_choices_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_choices_witness_row) = p * S etc_row_index_transposed_column_choices) /\ ~(exists eri_gap_etc_transposed_column_choices_witness_row_choice_left. eri_gap_etc_transposed_column_choices_witness_row_choice_left + S (p * S etc_row_index_transposed_column_choices) = q * S eri_column_etc_transposed_column_choices_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_choices_witness_count_relation_sum ff_v_etc_transposed_column_choices_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_choices_witness_count_relation_sum_start. ff_h_etc_transposed_column_choices_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_choices_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_choices_witness_count_relation_sum_start. ff_u_etc_transposed_column_choices_witness_count_relation_sum = ff_q_etc_transposed_column_choices_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_choices_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_choices_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_choices_witness_count_relation_sum_terminal + S (etc_count_transposed_column_choices_witness) = S ((S (h)) * ff_v_etc_transposed_column_choices_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_choices_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_choices_witness_count_relation_sum = ff_q_etc_transposed_column_choices_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_choices_witness_count_relation_sum) + (etc_count_transposed_column_choices_witness))) /\ forall ff_i_etc_transposed_column_choices_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_choices_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_choices_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_choices_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_choices_witness_count_relation_sum ff_r_etc_transposed_column_choices_witness_count_relation_sum ff_s_etc_transposed_column_choices_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_choices_witness_count_relation_sum_summand. ff_h_etc_transposed_column_choices_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_choices_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_choices_witness_count_relation_sum)) * etc_row_scale_transposed_column_choices_witness)) /\ exists ff_q_etc_transposed_column_choices_witness_count_relation_sum_summand. etc_row_code_transposed_column_choices_witness = ff_q_etc_transposed_column_choices_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_choices_witness_count_relation_sum)) * etc_row_scale_transposed_column_choices_witness) + (ff_a_etc_transposed_column_choices_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_choices_witness_count_relation_sum_partial. ff_h_etc_transposed_column_choices_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_choices_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_choices_witness_count_relation_sum)) * ff_v_etc_transposed_column_choices_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_choices_witness_count_relation_sum_partial. ff_u_etc_transposed_column_choices_witness_count_relation_sum = ff_q_etc_transposed_column_choices_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_choices_witness_count_relation_sum)) * ff_v_etc_transposed_column_choices_witness_count_relation_sum) + (ff_r_etc_transposed_column_choices_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_choices_witness_count_relation_sum_successor. ff_h_etc_transposed_column_choices_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_choices_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_choices_witness_count_relation_sum)) * ff_v_etc_transposed_column_choices_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_choices_witness_count_relation_sum_successor. ff_u_etc_transposed_column_choices_witness_count_relation_sum = ff_q_etc_transposed_column_choices_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_choices_witness_count_relation_sum)) * ff_v_etc_transposed_column_choices_witness_count_relation_sum) + (ff_s_etc_transposed_column_choices_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_choices_witness_count_relation_sum = ff_r_etc_transposed_column_choices_witness_count_relation_sum + ff_a_etc_transposed_column_choices_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_choices_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_choices_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_choices_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_choices_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_choices_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_choices_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_choices_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_choices_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_choices_witness_count_relation_bits)) * etc_row_scale_transposed_column_choices_witness)) /\ exists ff_q_etc_transposed_column_choices_witness_count_relation_bits_decoded. etc_row_code_transposed_column_choices_witness = ff_q_etc_transposed_column_choices_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_choices_witness_count_relation_bits)) * etc_row_scale_transposed_column_choices_witness) + (ff_bit_etc_transposed_column_choices_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_choices_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_choices_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_choices_witness_inner_entry. ff_h_etc_transposed_column_choices_witness_inner_entry + S (etc_bit_transposed_column_choices) = S ((S (i)) * etc_row_scale_transposed_column_choices_witness)) /\ exists ff_q_etc_transposed_column_choices_witness_inner_entry. etc_row_code_transposed_column_choices_witness = ff_q_etc_transposed_column_choices_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_choices_witness) + (etc_bit_transposed_column_choices)))))) -> (exists z e. (forall etc_row_index_transposed_column_exists_result. (exists edt_lt_gap_transposed_column_exists_result_bound. edt_lt_gap_transposed_column_exists_result_bound + S (etc_row_index_transposed_column_exists_result) = k) -> exists etc_bit_transposed_column_exists_result. ((((exists ff_h_etc_transposed_column_exists_result_decoded. ff_h_etc_transposed_column_exists_result_decoded + S (etc_bit_transposed_column_exists_result) = S ((S (etc_row_index_transposed_column_exists_result)) * e)) /\ exists ff_q_etc_transposed_column_exists_result_decoded. z = ff_q_etc_transposed_column_exists_result_decoded * S ((S (etc_row_index_transposed_column_exists_result)) * e) + (etc_bit_transposed_column_exists_result))) /\ (exists etc_count_transposed_column_exists_result_witness etc_row_code_transposed_column_exists_result_witness etc_row_scale_transposed_column_exists_result_witness. ((((((exists ff_h_etc_transposed_column_exists_result_witness_outer_entry. ff_h_etc_transposed_column_exists_result_witness_outer_entry + S (etc_count_transposed_column_exists_result_witness) = S ((S (etc_row_index_transposed_column_exists_result)) * bc)) /\ exists ff_q_etc_transposed_column_exists_result_witness_outer_entry. bb = ff_q_etc_transposed_column_exists_result_witness_outer_entry * S ((S (etc_row_index_transposed_column_exists_result)) * bc) + (etc_count_transposed_column_exists_result_witness))) /\ (forall eri_column_etc_transposed_column_exists_result_witness_row. (exists eri_gap_etc_transposed_column_exists_result_witness_row_bound. eri_gap_etc_transposed_column_exists_result_witness_row_bound + S (eri_column_etc_transposed_column_exists_result_witness_row) = h) -> exists eri_bit_etc_transposed_column_exists_result_witness_row. ((((exists ff_h_eri_etc_transposed_column_exists_result_witness_row_decoded. ff_h_eri_etc_transposed_column_exists_result_witness_row_decoded + S (eri_bit_etc_transposed_column_exists_result_witness_row) = S ((S (eri_column_etc_transposed_column_exists_result_witness_row)) * etc_row_scale_transposed_column_exists_result_witness)) /\ exists ff_q_eri_etc_transposed_column_exists_result_witness_row_decoded. etc_row_code_transposed_column_exists_result_witness = ff_q_eri_etc_transposed_column_exists_result_witness_row_decoded * S ((S (eri_column_etc_transposed_column_exists_result_witness_row)) * etc_row_scale_transposed_column_exists_result_witness) + (eri_bit_etc_transposed_column_exists_result_witness_row))) /\ (((eri_bit_etc_transposed_column_exists_result_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_exists_result_witness_row_choice_left. eri_gap_etc_transposed_column_exists_result_witness_row_choice_left + S (p * S etc_row_index_transposed_column_exists_result) = q * S eri_column_etc_transposed_column_exists_result_witness_row) /\ ~(exists eri_gap_etc_transposed_column_exists_result_witness_row_choice_right. eri_gap_etc_transposed_column_exists_result_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_result_witness_row) = p * S etc_row_index_transposed_column_exists_result))) \/ (eri_bit_etc_transposed_column_exists_result_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_exists_result_witness_row_choice_right. eri_gap_etc_transposed_column_exists_result_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_result_witness_row) = p * S etc_row_index_transposed_column_exists_result) /\ ~(exists eri_gap_etc_transposed_column_exists_result_witness_row_choice_left. eri_gap_etc_transposed_column_exists_result_witness_row_choice_left + S (p * S etc_row_index_transposed_column_exists_result) = q * S eri_column_etc_transposed_column_exists_result_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_exists_result_witness_count_relation_sum ff_v_etc_transposed_column_exists_result_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_start. ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_exists_result_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_start. ff_u_etc_transposed_column_exists_result_witness_count_relation_sum = ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_exists_result_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_terminal + S (etc_count_transposed_column_exists_result_witness) = S ((S (h)) * ff_v_etc_transposed_column_exists_result_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_exists_result_witness_count_relation_sum = ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_exists_result_witness_count_relation_sum) + (etc_count_transposed_column_exists_result_witness))) /\ forall ff_i_etc_transposed_column_exists_result_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_exists_result_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_exists_result_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_exists_result_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_exists_result_witness_count_relation_sum ff_r_etc_transposed_column_exists_result_witness_count_relation_sum ff_s_etc_transposed_column_exists_result_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_summand. ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_exists_result_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_result_witness_count_relation_sum)) * etc_row_scale_transposed_column_exists_result_witness)) /\ exists ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_summand. etc_row_code_transposed_column_exists_result_witness = ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_exists_result_witness_count_relation_sum)) * etc_row_scale_transposed_column_exists_result_witness) + (ff_a_etc_transposed_column_exists_result_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_partial. ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_exists_result_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_result_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_result_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_partial. ff_u_etc_transposed_column_exists_result_witness_count_relation_sum = ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_exists_result_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_result_witness_count_relation_sum) + (ff_r_etc_transposed_column_exists_result_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_successor. ff_h_etc_transposed_column_exists_result_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_exists_result_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_exists_result_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_result_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_successor. ff_u_etc_transposed_column_exists_result_witness_count_relation_sum = ff_q_etc_transposed_column_exists_result_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_exists_result_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_result_witness_count_relation_sum) + (ff_s_etc_transposed_column_exists_result_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_exists_result_witness_count_relation_sum = ff_r_etc_transposed_column_exists_result_witness_count_relation_sum + ff_a_etc_transposed_column_exists_result_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_exists_result_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_exists_result_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_exists_result_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_exists_result_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_exists_result_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_exists_result_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_exists_result_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_exists_result_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_exists_result_witness_count_relation_bits)) * etc_row_scale_transposed_column_exists_result_witness)) /\ exists ff_q_etc_transposed_column_exists_result_witness_count_relation_bits_decoded. etc_row_code_transposed_column_exists_result_witness = ff_q_etc_transposed_column_exists_result_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_exists_result_witness_count_relation_bits)) * etc_row_scale_transposed_column_exists_result_witness) + (ff_bit_etc_transposed_column_exists_result_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_exists_result_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_exists_result_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_exists_result_witness_inner_entry. ff_h_etc_transposed_column_exists_result_witness_inner_entry + S (etc_bit_transposed_column_exists_result) = S ((S (i)) * etc_row_scale_transposed_column_exists_result_witness)) /\ exists ff_q_etc_transposed_column_exists_result_witness_inner_entry. etc_row_code_transposed_column_exists_result_witness = ff_q_etc_transposed_column_exists_result_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_exists_result_witness) + (etc_bit_transposed_column_exists_result))))))))Structural proof guide
Generated structural guide
Every finite family of swapped-row cell choices has one beta-coded column.
Use the direct prerequisites add_eq_zero_right, succ_ne_zero, le_succ, le_refl, eisenstein_transposed_column_prefix_extend as previously established PA formulas.
The proof proceeds by structural induction (1), case analysis (3), intermediate claims (5).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0004 add_eq_zero_right PA0005 succ_ne_zero PA002O le_succ PA001A le_refl PA00E8 eisenstein_transposed_column_prefix_extendDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (5)
01Fix variables and assumptionsL1–6
02Induction on kL7–8
03Construct an explicit witnessL9–10
04Fix variables and assumptionsL11–12
05Separate the logical casesL13–14
06Establish hsjL15–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.
07Establish hprevious_choicesL24–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hchoices.
- L24Definitions: LtBetaAtBitCount
have hprevious_choices · expand full local formula (645 characters)
have hprevious_choices : ∀ etc_row_index_transposed_column_exists_previous_choices. Lt(etc_row_index_transposed_column_exists_previous_choices,k) → ∃ x. ∃ y. ∃ z. ∃ n. BetaAt(bb,bc,etc_row_index_transposed_column_exists_previous_choices,y) ∧ (∀ m. Lt(m,h) → ∃ j. BetaAt(z,n,m,j) ∧ (j = 0 ∧ (Lt(p · S etc_row_index_transposed_column_exists_previous_choices,q · S m) ∧ ¬Lt(q · S m,p · S etc_row_index_transposed_column_exists_previous_choices)) ∨ j = 1 ∧ (Lt(q · S m,p · S etc_row_index_transposed_column_exists_previous_choices) ∧ ¬Lt(p · S etc_row_index_transposed_column_exists_previous_choices,q · S m)))) ∧ BitCount(z,n,h,y) ∧ BetaAt(z,n,i,x) - L25
intro j - L26
intro hj - L27
specialize hchoices j - L28
apply hchoices - L29
specialize le_succ (S j) - L30
specialize le_succ k - L31
apply le_succ - L32
exact hj
08Establish hpreviousL33–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L33
have hprevious : ∃ z. ∃ e. ∀ x. Lt(x,k) → ∃ y. BetaAt(z,e,x,y) ∧ (∃ n. ∃ m. ∃ j. BetaAt(bb,bc,x,n) ∧ (∀ u. Lt(u,h) → ∃ v. BetaAt(m,j,u,v) ∧ (v = 0 ∧ (Lt(p · S x,q · S u) ∧ ¬Lt(q · S u,p · S x)) ∨ v = 1 ∧ (Lt(q · S u,p · S x) ∧ ¬Lt(p · S x,q · S u)))) ∧ BitCount(m,j,h,n) ∧ BetaAt(m,j,i,y))Definitions: LtBetaAtBitCount - L34
apply IH - L35
exact hprevious_choices
09Separate the logical casesL36–37
10Establish hlastL38–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hchoices.
11Establish hnextL43–52
Establish this local claim before using it. It is not an additional assumption.
- L43
have hnext : ∃ z. ∃ e. ∀ x. Lt(x,S k) → ∃ y. BetaAt(z,e,x,y) ∧ (∃ n. ∃ m. ∃ j. BetaAt(bb,bc,x,n) ∧ (∀ u. Lt(u,h) → ∃ v. BetaAt(m,j,u,v) ∧ (v = 0 ∧ (Lt(p · S x,q · S u) ∧ ¬Lt(q · S u,p · S x)) ∨ v = 1 ∧ (Lt(q · S u,p · S x) ∧ ¬Lt(p · S x,q · S u)))) ∧ BitCount(m,j,h,n) ∧ BetaAt(m,j,i,y))Definitions: LtBetaAtBitCount - L44
specialize eisenstein_transposed_column_prefix_extend p - L45
specialize eisenstein_transposed_column_prefix_extend q - L46
specialize eisenstein_transposed_column_prefix_extend h - L47
specialize eisenstein_transposed_column_prefix_extend bb - L48
specialize eisenstein_transposed_column_prefix_extend bc - L49
specialize eisenstein_transposed_column_prefix_extend i - L50
specialize eisenstein_transposed_column_prefix_extend x - L51
specialize eisenstein_transposed_column_prefix_extend x1 - L52
specialize eisenstein_transposed_column_prefix_extend k
Original exact command ledger · 56 lines
- 0001
intro p - 0002
intro q - 0003
intro h - 0004
intro bb - 0005
intro bc - 0006
intro i - 0007
induction k - 0008
intro hchoices - 0009
exists 0 - 0010
exists 0 - 0011
intro j - 0012
intro hj - 0013
exfalso - 0014
cases hj - 0015
have hsj : S j = 0 - 0016
specialize add_eq_zero_right x - 0017
specialize add_eq_zero_right (S j) - 0018
apply add_eq_zero_right - 0019
exact hj_witness - 0020
specialize succ_ne_zero j - 0021
apply succ_ne_zero - 0022
exact hsj - 0023
intro hchoices - 0024
have hprevious_choices : forall etc_row_index_transposed_column_exists_previous_choices. (exists edt_lt_gap_transposed_column_exists_previous_choices_bound. edt_lt_gap_transposed_column_exists_previous_choices_bound + S (etc_row_index_transposed_column_exists_previous_choices) = k) -> exists etc_bit_transposed_column_exists_previous_choices. (exists etc_count_transposed_column_exists_previous_choices_witness etc_row_code_transposed_column_exists_previous_choices_witness etc_row_scale_transposed_column_exists_previous_choices_witness. ((((((exists ff_h_etc_transposed_column_exists_previous_choices_witness_outer_entry. ff_h_etc_transposed_column_exists_previous_choices_witness_outer_entry + S (etc_count_transposed_column_exists_previous_choices_witness) = S ((S (etc_row_index_transposed_column_exists_previous_choices)) * bc)) /\ exists ff_q_etc_transposed_column_exists_previous_choices_witness_outer_entry. bb = ff_q_etc_transposed_column_exists_previous_choices_witness_outer_entry * S ((S (etc_row_index_transposed_column_exists_previous_choices)) * bc) + (etc_count_transposed_column_exists_previous_choices_witness))) /\ (forall eri_column_etc_transposed_column_exists_previous_choices_witness_row. (exists eri_gap_etc_transposed_column_exists_previous_choices_witness_row_bound. eri_gap_etc_transposed_column_exists_previous_choices_witness_row_bound + S (eri_column_etc_transposed_column_exists_previous_choices_witness_row) = h) -> exists eri_bit_etc_transposed_column_exists_previous_choices_witness_row. ((((exists ff_h_eri_etc_transposed_column_exists_previous_choices_witness_row_decoded. ff_h_eri_etc_transposed_column_exists_previous_choices_witness_row_decoded + S (eri_bit_etc_transposed_column_exists_previous_choices_witness_row) = S ((S (eri_column_etc_transposed_column_exists_previous_choices_witness_row)) * etc_row_scale_transposed_column_exists_previous_choices_witness)) /\ exists ff_q_eri_etc_transposed_column_exists_previous_choices_witness_row_decoded. etc_row_code_transposed_column_exists_previous_choices_witness = ff_q_eri_etc_transposed_column_exists_previous_choices_witness_row_decoded * S ((S (eri_column_etc_transposed_column_exists_previous_choices_witness_row)) * etc_row_scale_transposed_column_exists_previous_choices_witness) + (eri_bit_etc_transposed_column_exists_previous_choices_witness_row))) /\ (((eri_bit_etc_transposed_column_exists_previous_choices_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_exists_previous_choices_witness_row_choice_left. eri_gap_etc_transposed_column_exists_previous_choices_witness_row_choice_left + S (p * S etc_row_index_transposed_column_exists_previous_choices) = q * S eri_column_etc_transposed_column_exists_previous_choices_witness_row) /\ ~(exists eri_gap_etc_transposed_column_exists_previous_choices_witness_row_choice_right. eri_gap_etc_transposed_column_exists_previous_choices_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_previous_choices_witness_row) = p * S etc_row_index_transposed_column_exists_previous_choices))) \/ (eri_bit_etc_transposed_column_exists_previous_choices_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_exists_previous_choices_witness_row_choice_right. eri_gap_etc_transposed_column_exists_previous_choices_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_previous_choices_witness_row) = p * S etc_row_index_transposed_column_exists_previous_choices) /\ ~(exists eri_gap_etc_transposed_column_exists_previous_choices_witness_row_choice_left. eri_gap_etc_transposed_column_exists_previous_choices_witness_row_choice_left + S (p * S etc_row_index_transposed_column_exists_previous_choices) = q * S eri_column_etc_transposed_column_exists_previous_choices_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_exists_previous_choices_witness_count_relation_sum ff_v_etc_transposed_column_exists_previous_choices_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_start. ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_start. ff_u_etc_transposed_column_exists_previous_choices_witness_count_relation_sum = ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_exists_previous_choices_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_terminal + S (etc_count_transposed_column_exists_previous_choices_witness) = S ((S (h)) * ff_v_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_exists_previous_choices_witness_count_relation_sum = ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_exists_previous_choices_witness_count_relation_sum) + (etc_count_transposed_column_exists_previous_choices_witness))) /\ forall ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_exists_previous_choices_witness_count_relation_sum ff_r_etc_transposed_column_exists_previous_choices_witness_count_relation_sum ff_s_etc_transposed_column_exists_previous_choices_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_summand. ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_exists_previous_choices_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) * etc_row_scale_transposed_column_exists_previous_choices_witness)) /\ exists ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_summand. etc_row_code_transposed_column_exists_previous_choices_witness = ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) * etc_row_scale_transposed_column_exists_previous_choices_witness) + (ff_a_etc_transposed_column_exists_previous_choices_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_partial. ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_exists_previous_choices_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_partial. ff_u_etc_transposed_column_exists_previous_choices_witness_count_relation_sum = ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_previous_choices_witness_count_relation_sum) + (ff_r_etc_transposed_column_exists_previous_choices_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_successor. ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_exists_previous_choices_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_successor. ff_u_etc_transposed_column_exists_previous_choices_witness_count_relation_sum = ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_previous_choices_witness_count_relation_sum) + (ff_s_etc_transposed_column_exists_previous_choices_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_exists_previous_choices_witness_count_relation_sum = ff_r_etc_transposed_column_exists_previous_choices_witness_count_relation_sum + ff_a_etc_transposed_column_exists_previous_choices_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_exists_previous_choices_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_exists_previous_choices_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_exists_previous_choices_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_exists_previous_choices_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_exists_previous_choices_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_bits)) * etc_row_scale_transposed_column_exists_previous_choices_witness)) /\ exists ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_bits_decoded. etc_row_code_transposed_column_exists_previous_choices_witness = ff_q_etc_transposed_column_exists_previous_choices_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_exists_previous_choices_witness_count_relation_bits)) * etc_row_scale_transposed_column_exists_previous_choices_witness) + (ff_bit_etc_transposed_column_exists_previous_choices_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_exists_previous_choices_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_exists_previous_choices_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_exists_previous_choices_witness_inner_entry. ff_h_etc_transposed_column_exists_previous_choices_witness_inner_entry + S (etc_bit_transposed_column_exists_previous_choices) = S ((S (i)) * etc_row_scale_transposed_column_exists_previous_choices_witness)) /\ exists ff_q_etc_transposed_column_exists_previous_choices_witness_inner_entry. etc_row_code_transposed_column_exists_previous_choices_witness = ff_q_etc_transposed_column_exists_previous_choices_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_exists_previous_choices_witness) + (etc_bit_transposed_column_exists_previous_choices))))) - 0025
intro j - 0026
intro hj - 0027
specialize hchoices j - 0028
apply hchoices - 0029
specialize le_succ (S j) - 0030
specialize le_succ k - 0031
apply le_succ - 0032
exact hj - 0033
have hprevious : exists z e. (forall etc_row_index_transposed_column_exists_previous_prefix. (exists edt_lt_gap_transposed_column_exists_previous_prefix_bound. edt_lt_gap_transposed_column_exists_previous_prefix_bound + S (etc_row_index_transposed_column_exists_previous_prefix) = k) -> exists etc_bit_transposed_column_exists_previous_prefix. ((((exists ff_h_etc_transposed_column_exists_previous_prefix_decoded. ff_h_etc_transposed_column_exists_previous_prefix_decoded + S (etc_bit_transposed_column_exists_previous_prefix) = S ((S (etc_row_index_transposed_column_exists_previous_prefix)) * e)) /\ exists ff_q_etc_transposed_column_exists_previous_prefix_decoded. z = ff_q_etc_transposed_column_exists_previous_prefix_decoded * S ((S (etc_row_index_transposed_column_exists_previous_prefix)) * e) + (etc_bit_transposed_column_exists_previous_prefix))) /\ (exists etc_count_transposed_column_exists_previous_prefix_witness etc_row_code_transposed_column_exists_previous_prefix_witness etc_row_scale_transposed_column_exists_previous_prefix_witness. ((((((exists ff_h_etc_transposed_column_exists_previous_prefix_witness_outer_entry. ff_h_etc_transposed_column_exists_previous_prefix_witness_outer_entry + S (etc_count_transposed_column_exists_previous_prefix_witness) = S ((S (etc_row_index_transposed_column_exists_previous_prefix)) * bc)) /\ exists ff_q_etc_transposed_column_exists_previous_prefix_witness_outer_entry. bb = ff_q_etc_transposed_column_exists_previous_prefix_witness_outer_entry * S ((S (etc_row_index_transposed_column_exists_previous_prefix)) * bc) + (etc_count_transposed_column_exists_previous_prefix_witness))) /\ (forall eri_column_etc_transposed_column_exists_previous_prefix_witness_row. (exists eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_bound. eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_bound + S (eri_column_etc_transposed_column_exists_previous_prefix_witness_row) = h) -> exists eri_bit_etc_transposed_column_exists_previous_prefix_witness_row. ((((exists ff_h_eri_etc_transposed_column_exists_previous_prefix_witness_row_decoded. ff_h_eri_etc_transposed_column_exists_previous_prefix_witness_row_decoded + S (eri_bit_etc_transposed_column_exists_previous_prefix_witness_row) = S ((S (eri_column_etc_transposed_column_exists_previous_prefix_witness_row)) * etc_row_scale_transposed_column_exists_previous_prefix_witness)) /\ exists ff_q_eri_etc_transposed_column_exists_previous_prefix_witness_row_decoded. etc_row_code_transposed_column_exists_previous_prefix_witness = ff_q_eri_etc_transposed_column_exists_previous_prefix_witness_row_decoded * S ((S (eri_column_etc_transposed_column_exists_previous_prefix_witness_row)) * etc_row_scale_transposed_column_exists_previous_prefix_witness) + (eri_bit_etc_transposed_column_exists_previous_prefix_witness_row))) /\ (((eri_bit_etc_transposed_column_exists_previous_prefix_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_choice_left. eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_choice_left + S (p * S etc_row_index_transposed_column_exists_previous_prefix) = q * S eri_column_etc_transposed_column_exists_previous_prefix_witness_row) /\ ~(exists eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_choice_right. eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_previous_prefix_witness_row) = p * S etc_row_index_transposed_column_exists_previous_prefix))) \/ (eri_bit_etc_transposed_column_exists_previous_prefix_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_choice_right. eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_previous_prefix_witness_row) = p * S etc_row_index_transposed_column_exists_previous_prefix) /\ ~(exists eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_choice_left. eri_gap_etc_transposed_column_exists_previous_prefix_witness_row_choice_left + S (p * S etc_row_index_transposed_column_exists_previous_prefix) = q * S eri_column_etc_transposed_column_exists_previous_prefix_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum ff_v_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_start. ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_start. ff_u_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum = ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_terminal + S (etc_count_transposed_column_exists_previous_prefix_witness) = S ((S (h)) * ff_v_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum = ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum) + (etc_count_transposed_column_exists_previous_prefix_witness))) /\ forall ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum ff_r_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum ff_s_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_summand. ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) * etc_row_scale_transposed_column_exists_previous_prefix_witness)) /\ exists ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_summand. etc_row_code_transposed_column_exists_previous_prefix_witness = ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) * etc_row_scale_transposed_column_exists_previous_prefix_witness) + (ff_a_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_partial. ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_partial. ff_u_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum = ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum) + (ff_r_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_successor. ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_successor. ff_u_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum = ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum) + (ff_s_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum = ff_r_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum + ff_a_etc_transposed_column_exists_previous_prefix_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits)) * etc_row_scale_transposed_column_exists_previous_prefix_witness)) /\ exists ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits_decoded. etc_row_code_transposed_column_exists_previous_prefix_witness = ff_q_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits)) * etc_row_scale_transposed_column_exists_previous_prefix_witness) + (ff_bit_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_exists_previous_prefix_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_exists_previous_prefix_witness_inner_entry. ff_h_etc_transposed_column_exists_previous_prefix_witness_inner_entry + S (etc_bit_transposed_column_exists_previous_prefix) = S ((S (i)) * etc_row_scale_transposed_column_exists_previous_prefix_witness)) /\ exists ff_q_etc_transposed_column_exists_previous_prefix_witness_inner_entry. etc_row_code_transposed_column_exists_previous_prefix_witness = ff_q_etc_transposed_column_exists_previous_prefix_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_exists_previous_prefix_witness) + (etc_bit_transposed_column_exists_previous_prefix))))))) - 0034
apply IH - 0035
exact hprevious_choices - 0036
cases hprevious - 0037
cases hprevious_witness - 0038
have hlast : exists d. (exists etc_count_transposed_column_exists_last etc_row_code_transposed_column_exists_last etc_row_scale_transposed_column_exists_last. ((((((exists ff_h_etc_transposed_column_exists_last_outer_entry. ff_h_etc_transposed_column_exists_last_outer_entry + S (etc_count_transposed_column_exists_last) = S ((S (k)) * bc)) /\ exists ff_q_etc_transposed_column_exists_last_outer_entry. bb = ff_q_etc_transposed_column_exists_last_outer_entry * S ((S (k)) * bc) + (etc_count_transposed_column_exists_last))) /\ (forall eri_column_etc_transposed_column_exists_last_row. (exists eri_gap_etc_transposed_column_exists_last_row_bound. eri_gap_etc_transposed_column_exists_last_row_bound + S (eri_column_etc_transposed_column_exists_last_row) = h) -> exists eri_bit_etc_transposed_column_exists_last_row. ((((exists ff_h_eri_etc_transposed_column_exists_last_row_decoded. ff_h_eri_etc_transposed_column_exists_last_row_decoded + S (eri_bit_etc_transposed_column_exists_last_row) = S ((S (eri_column_etc_transposed_column_exists_last_row)) * etc_row_scale_transposed_column_exists_last)) /\ exists ff_q_eri_etc_transposed_column_exists_last_row_decoded. etc_row_code_transposed_column_exists_last = ff_q_eri_etc_transposed_column_exists_last_row_decoded * S ((S (eri_column_etc_transposed_column_exists_last_row)) * etc_row_scale_transposed_column_exists_last) + (eri_bit_etc_transposed_column_exists_last_row))) /\ (((eri_bit_etc_transposed_column_exists_last_row = 0 /\ ((exists eri_gap_etc_transposed_column_exists_last_row_choice_left. eri_gap_etc_transposed_column_exists_last_row_choice_left + S (p * S k) = q * S eri_column_etc_transposed_column_exists_last_row) /\ ~(exists eri_gap_etc_transposed_column_exists_last_row_choice_right. eri_gap_etc_transposed_column_exists_last_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_last_row) = p * S k))) \/ (eri_bit_etc_transposed_column_exists_last_row = 1 /\ ((exists eri_gap_etc_transposed_column_exists_last_row_choice_right. eri_gap_etc_transposed_column_exists_last_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_last_row) = p * S k) /\ ~(exists eri_gap_etc_transposed_column_exists_last_row_choice_left. eri_gap_etc_transposed_column_exists_last_row_choice_left + S (p * S k) = q * S eri_column_etc_transposed_column_exists_last_row)))))))) /\ (((exists ff_u_etc_transposed_column_exists_last_count_relation_sum ff_v_etc_transposed_column_exists_last_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_last_count_relation_sum_start. ff_h_etc_transposed_column_exists_last_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_exists_last_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_last_count_relation_sum_start. ff_u_etc_transposed_column_exists_last_count_relation_sum = ff_q_etc_transposed_column_exists_last_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_exists_last_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_exists_last_count_relation_sum_terminal. ff_h_etc_transposed_column_exists_last_count_relation_sum_terminal + S (etc_count_transposed_column_exists_last) = S ((S (h)) * ff_v_etc_transposed_column_exists_last_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_last_count_relation_sum_terminal. ff_u_etc_transposed_column_exists_last_count_relation_sum = ff_q_etc_transposed_column_exists_last_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_exists_last_count_relation_sum) + (etc_count_transposed_column_exists_last))) /\ forall ff_i_etc_transposed_column_exists_last_count_relation_sum. (exists ff_lt_etc_transposed_column_exists_last_count_relation_sum_bound. ff_lt_etc_transposed_column_exists_last_count_relation_sum_bound + S ff_i_etc_transposed_column_exists_last_count_relation_sum = h) -> exists ff_a_etc_transposed_column_exists_last_count_relation_sum ff_r_etc_transposed_column_exists_last_count_relation_sum ff_s_etc_transposed_column_exists_last_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_last_count_relation_sum_summand. ff_h_etc_transposed_column_exists_last_count_relation_sum_summand + S (ff_a_etc_transposed_column_exists_last_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_last_count_relation_sum)) * etc_row_scale_transposed_column_exists_last)) /\ exists ff_q_etc_transposed_column_exists_last_count_relation_sum_summand. etc_row_code_transposed_column_exists_last = ff_q_etc_transposed_column_exists_last_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_exists_last_count_relation_sum)) * etc_row_scale_transposed_column_exists_last) + (ff_a_etc_transposed_column_exists_last_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_last_count_relation_sum_partial. ff_h_etc_transposed_column_exists_last_count_relation_sum_partial + S (ff_r_etc_transposed_column_exists_last_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_last_count_relation_sum)) * ff_v_etc_transposed_column_exists_last_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_last_count_relation_sum_partial. ff_u_etc_transposed_column_exists_last_count_relation_sum = ff_q_etc_transposed_column_exists_last_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_exists_last_count_relation_sum)) * ff_v_etc_transposed_column_exists_last_count_relation_sum) + (ff_r_etc_transposed_column_exists_last_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_last_count_relation_sum_successor. ff_h_etc_transposed_column_exists_last_count_relation_sum_successor + S (ff_s_etc_transposed_column_exists_last_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_exists_last_count_relation_sum)) * ff_v_etc_transposed_column_exists_last_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_last_count_relation_sum_successor. ff_u_etc_transposed_column_exists_last_count_relation_sum = ff_q_etc_transposed_column_exists_last_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_exists_last_count_relation_sum)) * ff_v_etc_transposed_column_exists_last_count_relation_sum) + (ff_s_etc_transposed_column_exists_last_count_relation_sum))) /\ ff_s_etc_transposed_column_exists_last_count_relation_sum = ff_r_etc_transposed_column_exists_last_count_relation_sum + ff_a_etc_transposed_column_exists_last_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_exists_last_count_relation_bits. (exists ff_lt_etc_transposed_column_exists_last_count_relation_bits_bound. ff_lt_etc_transposed_column_exists_last_count_relation_bits_bound + S ff_i_etc_transposed_column_exists_last_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_exists_last_count_relation_bits. ((((exists ff_h_etc_transposed_column_exists_last_count_relation_bits_decoded. ff_h_etc_transposed_column_exists_last_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_exists_last_count_relation_bits) = S ((S (ff_i_etc_transposed_column_exists_last_count_relation_bits)) * etc_row_scale_transposed_column_exists_last)) /\ exists ff_q_etc_transposed_column_exists_last_count_relation_bits_decoded. etc_row_code_transposed_column_exists_last = ff_q_etc_transposed_column_exists_last_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_exists_last_count_relation_bits)) * etc_row_scale_transposed_column_exists_last) + (ff_bit_etc_transposed_column_exists_last_count_relation_bits))) /\ (ff_bit_etc_transposed_column_exists_last_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_exists_last_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_exists_last_inner_entry. ff_h_etc_transposed_column_exists_last_inner_entry + S (d) = S ((S (i)) * etc_row_scale_transposed_column_exists_last)) /\ exists ff_q_etc_transposed_column_exists_last_inner_entry. etc_row_code_transposed_column_exists_last = ff_q_etc_transposed_column_exists_last_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_exists_last) + (d))))) - 0039
specialize hchoices k - 0040
apply hchoices - 0041
specialize le_refl (S k) - 0042
exact le_refl - 0043
have hnext : exists z e. (forall etc_row_index_transposed_column_exists_successor. (exists edt_lt_gap_transposed_column_exists_successor_bound. edt_lt_gap_transposed_column_exists_successor_bound + S (etc_row_index_transposed_column_exists_successor) = S k) -> exists etc_bit_transposed_column_exists_successor. ((((exists ff_h_etc_transposed_column_exists_successor_decoded. ff_h_etc_transposed_column_exists_successor_decoded + S (etc_bit_transposed_column_exists_successor) = S ((S (etc_row_index_transposed_column_exists_successor)) * e)) /\ exists ff_q_etc_transposed_column_exists_successor_decoded. z = ff_q_etc_transposed_column_exists_successor_decoded * S ((S (etc_row_index_transposed_column_exists_successor)) * e) + (etc_bit_transposed_column_exists_successor))) /\ (exists etc_count_transposed_column_exists_successor_witness etc_row_code_transposed_column_exists_successor_witness etc_row_scale_transposed_column_exists_successor_witness. ((((((exists ff_h_etc_transposed_column_exists_successor_witness_outer_entry. ff_h_etc_transposed_column_exists_successor_witness_outer_entry + S (etc_count_transposed_column_exists_successor_witness) = S ((S (etc_row_index_transposed_column_exists_successor)) * bc)) /\ exists ff_q_etc_transposed_column_exists_successor_witness_outer_entry. bb = ff_q_etc_transposed_column_exists_successor_witness_outer_entry * S ((S (etc_row_index_transposed_column_exists_successor)) * bc) + (etc_count_transposed_column_exists_successor_witness))) /\ (forall eri_column_etc_transposed_column_exists_successor_witness_row. (exists eri_gap_etc_transposed_column_exists_successor_witness_row_bound. eri_gap_etc_transposed_column_exists_successor_witness_row_bound + S (eri_column_etc_transposed_column_exists_successor_witness_row) = h) -> exists eri_bit_etc_transposed_column_exists_successor_witness_row. ((((exists ff_h_eri_etc_transposed_column_exists_successor_witness_row_decoded. ff_h_eri_etc_transposed_column_exists_successor_witness_row_decoded + S (eri_bit_etc_transposed_column_exists_successor_witness_row) = S ((S (eri_column_etc_transposed_column_exists_successor_witness_row)) * etc_row_scale_transposed_column_exists_successor_witness)) /\ exists ff_q_eri_etc_transposed_column_exists_successor_witness_row_decoded. etc_row_code_transposed_column_exists_successor_witness = ff_q_eri_etc_transposed_column_exists_successor_witness_row_decoded * S ((S (eri_column_etc_transposed_column_exists_successor_witness_row)) * etc_row_scale_transposed_column_exists_successor_witness) + (eri_bit_etc_transposed_column_exists_successor_witness_row))) /\ (((eri_bit_etc_transposed_column_exists_successor_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_exists_successor_witness_row_choice_left. eri_gap_etc_transposed_column_exists_successor_witness_row_choice_left + S (p * S etc_row_index_transposed_column_exists_successor) = q * S eri_column_etc_transposed_column_exists_successor_witness_row) /\ ~(exists eri_gap_etc_transposed_column_exists_successor_witness_row_choice_right. eri_gap_etc_transposed_column_exists_successor_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_successor_witness_row) = p * S etc_row_index_transposed_column_exists_successor))) \/ (eri_bit_etc_transposed_column_exists_successor_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_exists_successor_witness_row_choice_right. eri_gap_etc_transposed_column_exists_successor_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_exists_successor_witness_row) = p * S etc_row_index_transposed_column_exists_successor) /\ ~(exists eri_gap_etc_transposed_column_exists_successor_witness_row_choice_left. eri_gap_etc_transposed_column_exists_successor_witness_row_choice_left + S (p * S etc_row_index_transposed_column_exists_successor) = q * S eri_column_etc_transposed_column_exists_successor_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_exists_successor_witness_count_relation_sum ff_v_etc_transposed_column_exists_successor_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_start. ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_exists_successor_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_start. ff_u_etc_transposed_column_exists_successor_witness_count_relation_sum = ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_exists_successor_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_terminal + S (etc_count_transposed_column_exists_successor_witness) = S ((S (h)) * ff_v_etc_transposed_column_exists_successor_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_exists_successor_witness_count_relation_sum = ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_exists_successor_witness_count_relation_sum) + (etc_count_transposed_column_exists_successor_witness))) /\ forall ff_i_etc_transposed_column_exists_successor_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_exists_successor_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_exists_successor_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_exists_successor_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_exists_successor_witness_count_relation_sum ff_r_etc_transposed_column_exists_successor_witness_count_relation_sum ff_s_etc_transposed_column_exists_successor_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_summand. ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_exists_successor_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_successor_witness_count_relation_sum)) * etc_row_scale_transposed_column_exists_successor_witness)) /\ exists ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_summand. etc_row_code_transposed_column_exists_successor_witness = ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_exists_successor_witness_count_relation_sum)) * etc_row_scale_transposed_column_exists_successor_witness) + (ff_a_etc_transposed_column_exists_successor_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_partial. ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_exists_successor_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_exists_successor_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_successor_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_partial. ff_u_etc_transposed_column_exists_successor_witness_count_relation_sum = ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_exists_successor_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_successor_witness_count_relation_sum) + (ff_r_etc_transposed_column_exists_successor_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_successor. ff_h_etc_transposed_column_exists_successor_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_exists_successor_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_exists_successor_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_successor_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_successor. ff_u_etc_transposed_column_exists_successor_witness_count_relation_sum = ff_q_etc_transposed_column_exists_successor_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_exists_successor_witness_count_relation_sum)) * ff_v_etc_transposed_column_exists_successor_witness_count_relation_sum) + (ff_s_etc_transposed_column_exists_successor_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_exists_successor_witness_count_relation_sum = ff_r_etc_transposed_column_exists_successor_witness_count_relation_sum + ff_a_etc_transposed_column_exists_successor_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_exists_successor_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_exists_successor_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_exists_successor_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_exists_successor_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_exists_successor_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_exists_successor_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_exists_successor_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_exists_successor_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_exists_successor_witness_count_relation_bits)) * etc_row_scale_transposed_column_exists_successor_witness)) /\ exists ff_q_etc_transposed_column_exists_successor_witness_count_relation_bits_decoded. etc_row_code_transposed_column_exists_successor_witness = ff_q_etc_transposed_column_exists_successor_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_exists_successor_witness_count_relation_bits)) * etc_row_scale_transposed_column_exists_successor_witness) + (ff_bit_etc_transposed_column_exists_successor_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_exists_successor_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_exists_successor_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_exists_successor_witness_inner_entry. ff_h_etc_transposed_column_exists_successor_witness_inner_entry + S (etc_bit_transposed_column_exists_successor) = S ((S (i)) * etc_row_scale_transposed_column_exists_successor_witness)) /\ exists ff_q_etc_transposed_column_exists_successor_witness_inner_entry. etc_row_code_transposed_column_exists_successor_witness = ff_q_etc_transposed_column_exists_successor_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_exists_successor_witness) + (etc_bit_transposed_column_exists_successor))))))) - 0044
specialize eisenstein_transposed_column_prefix_extend p - 0045
specialize eisenstein_transposed_column_prefix_extend q - 0046
specialize eisenstein_transposed_column_prefix_extend h - 0047
specialize eisenstein_transposed_column_prefix_extend bb - 0048
specialize eisenstein_transposed_column_prefix_extend bc - 0049
specialize eisenstein_transposed_column_prefix_extend i - 0050
specialize eisenstein_transposed_column_prefix_extend x - 0051
specialize eisenstein_transposed_column_prefix_extend x1 - 0052
specialize eisenstein_transposed_column_prefix_extend k - 0053
apply eisenstein_transposed_column_prefix_extend - 0054
exact hprevious_witness_witness - 0055
exact hlast - 0056
exact hnext