Exact expanded PA statement
forall p q k l. (forall erc_row_rectangle_count_exists_all. (exists erc_lt_gap_rectangle_count_exists_all_bound. erc_lt_gap_rectangle_count_exists_all_bound + S (erc_row_rectangle_count_exists_all) = l) -> exists erc_count_rectangle_count_exists_all. (exists erc_row_code_rectangle_count_exists_all_witness erc_row_scale_rectangle_count_exists_all_witness. ((forall eri_column_erc_rectangle_count_exists_all_witness_row. (exists eri_gap_erc_rectangle_count_exists_all_witness_row_bound. eri_gap_erc_rectangle_count_exists_all_witness_row_bound + S (eri_column_erc_rectangle_count_exists_all_witness_row) = k) -> exists eri_bit_erc_rectangle_count_exists_all_witness_row. ((((exists ff_h_eri_erc_rectangle_count_exists_all_witness_row_decoded. ff_h_eri_erc_rectangle_count_exists_all_witness_row_decoded + S (eri_bit_erc_rectangle_count_exists_all_witness_row) = S ((S (eri_column_erc_rectangle_count_exists_all_witness_row)) * erc_row_scale_rectangle_count_exists_all_witness)) /\ exists ff_q_eri_erc_rectangle_count_exists_all_witness_row_decoded. erc_row_code_rectangle_count_exists_all_witness = ff_q_eri_erc_rectangle_count_exists_all_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_exists_all_witness_row)) * erc_row_scale_rectangle_count_exists_all_witness) + (eri_bit_erc_rectangle_count_exists_all_witness_row))) /\ (((eri_bit_erc_rectangle_count_exists_all_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_exists_all_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_all_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_all) = p * S eri_column_erc_rectangle_count_exists_all_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_exists_all_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_all_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_all_witness_row) = q * S erc_row_rectangle_count_exists_all))) \/ (eri_bit_erc_rectangle_count_exists_all_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_exists_all_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_all_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_all_witness_row) = q * S erc_row_rectangle_count_exists_all) /\ ~(exists eri_gap_erc_rectangle_count_exists_all_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_all_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_all) = p * S eri_column_erc_rectangle_count_exists_all_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_exists_all_witness_count_sum ff_v_erc_rectangle_count_exists_all_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_all_witness_count_sum_start. ff_h_erc_rectangle_count_exists_all_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_exists_all_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_all_witness_count_sum_start. ff_u_erc_rectangle_count_exists_all_witness_count_sum = ff_q_erc_rectangle_count_exists_all_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_exists_all_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_exists_all_witness_count_sum_terminal. ff_h_erc_rectangle_count_exists_all_witness_count_sum_terminal + S (erc_count_rectangle_count_exists_all) = S ((S (k)) * ff_v_erc_rectangle_count_exists_all_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_all_witness_count_sum_terminal. ff_u_erc_rectangle_count_exists_all_witness_count_sum = ff_q_erc_rectangle_count_exists_all_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_exists_all_witness_count_sum) + (erc_count_rectangle_count_exists_all))) /\ forall ff_i_erc_rectangle_count_exists_all_witness_count_sum. (exists ff_lt_erc_rectangle_count_exists_all_witness_count_sum_bound. ff_lt_erc_rectangle_count_exists_all_witness_count_sum_bound + S ff_i_erc_rectangle_count_exists_all_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_exists_all_witness_count_sum ff_r_erc_rectangle_count_exists_all_witness_count_sum ff_s_erc_rectangle_count_exists_all_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_all_witness_count_sum_summand. ff_h_erc_rectangle_count_exists_all_witness_count_sum_summand + S (ff_a_erc_rectangle_count_exists_all_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_all_witness_count_sum)) * erc_row_scale_rectangle_count_exists_all_witness)) /\ exists ff_q_erc_rectangle_count_exists_all_witness_count_sum_summand. erc_row_code_rectangle_count_exists_all_witness = ff_q_erc_rectangle_count_exists_all_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_exists_all_witness_count_sum)) * erc_row_scale_rectangle_count_exists_all_witness) + (ff_a_erc_rectangle_count_exists_all_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_all_witness_count_sum_partial. ff_h_erc_rectangle_count_exists_all_witness_count_sum_partial + S (ff_r_erc_rectangle_count_exists_all_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_all_witness_count_sum)) * ff_v_erc_rectangle_count_exists_all_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_all_witness_count_sum_partial. ff_u_erc_rectangle_count_exists_all_witness_count_sum = ff_q_erc_rectangle_count_exists_all_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_exists_all_witness_count_sum)) * ff_v_erc_rectangle_count_exists_all_witness_count_sum) + (ff_r_erc_rectangle_count_exists_all_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_all_witness_count_sum_successor. ff_h_erc_rectangle_count_exists_all_witness_count_sum_successor + S (ff_s_erc_rectangle_count_exists_all_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_exists_all_witness_count_sum)) * ff_v_erc_rectangle_count_exists_all_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_all_witness_count_sum_successor. ff_u_erc_rectangle_count_exists_all_witness_count_sum = ff_q_erc_rectangle_count_exists_all_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_exists_all_witness_count_sum)) * ff_v_erc_rectangle_count_exists_all_witness_count_sum) + (ff_s_erc_rectangle_count_exists_all_witness_count_sum))) /\ ff_s_erc_rectangle_count_exists_all_witness_count_sum = ff_r_erc_rectangle_count_exists_all_witness_count_sum + ff_a_erc_rectangle_count_exists_all_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_exists_all_witness_count_bits. (exists ff_lt_erc_rectangle_count_exists_all_witness_count_bits_bound. ff_lt_erc_rectangle_count_exists_all_witness_count_bits_bound + S ff_i_erc_rectangle_count_exists_all_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_exists_all_witness_count_bits. ((((exists ff_h_erc_rectangle_count_exists_all_witness_count_bits_decoded. ff_h_erc_rectangle_count_exists_all_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_exists_all_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_exists_all_witness_count_bits)) * erc_row_scale_rectangle_count_exists_all_witness)) /\ exists ff_q_erc_rectangle_count_exists_all_witness_count_bits_decoded. erc_row_code_rectangle_count_exists_all_witness = ff_q_erc_rectangle_count_exists_all_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_exists_all_witness_count_bits)) * erc_row_scale_rectangle_count_exists_all_witness) + (ff_bit_erc_rectangle_count_exists_all_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_exists_all_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_exists_all_witness_count_bits = 1)))))))) -> (exists cb cc. (forall erc_row_rectangle_count_exists_result. (exists erc_lt_gap_rectangle_count_exists_result_bound. erc_lt_gap_rectangle_count_exists_result_bound + S (erc_row_rectangle_count_exists_result) = l) -> exists erc_count_rectangle_count_exists_result. ((((exists ff_h_erc_rectangle_count_exists_result_decoded. ff_h_erc_rectangle_count_exists_result_decoded + S (erc_count_rectangle_count_exists_result) = S ((S (erc_row_rectangle_count_exists_result)) * cc)) /\ exists ff_q_erc_rectangle_count_exists_result_decoded. cb = ff_q_erc_rectangle_count_exists_result_decoded * S ((S (erc_row_rectangle_count_exists_result)) * cc) + (erc_count_rectangle_count_exists_result))) /\ (exists erc_row_code_rectangle_count_exists_result_witness erc_row_scale_rectangle_count_exists_result_witness. ((forall eri_column_erc_rectangle_count_exists_result_witness_row. (exists eri_gap_erc_rectangle_count_exists_result_witness_row_bound. eri_gap_erc_rectangle_count_exists_result_witness_row_bound + S (eri_column_erc_rectangle_count_exists_result_witness_row) = k) -> exists eri_bit_erc_rectangle_count_exists_result_witness_row. ((((exists ff_h_eri_erc_rectangle_count_exists_result_witness_row_decoded. ff_h_eri_erc_rectangle_count_exists_result_witness_row_decoded + S (eri_bit_erc_rectangle_count_exists_result_witness_row) = S ((S (eri_column_erc_rectangle_count_exists_result_witness_row)) * erc_row_scale_rectangle_count_exists_result_witness)) /\ exists ff_q_eri_erc_rectangle_count_exists_result_witness_row_decoded. erc_row_code_rectangle_count_exists_result_witness = ff_q_eri_erc_rectangle_count_exists_result_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_exists_result_witness_row)) * erc_row_scale_rectangle_count_exists_result_witness) + (eri_bit_erc_rectangle_count_exists_result_witness_row))) /\ (((eri_bit_erc_rectangle_count_exists_result_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_exists_result_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_result_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_result) = p * S eri_column_erc_rectangle_count_exists_result_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_exists_result_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_result_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_result_witness_row) = q * S erc_row_rectangle_count_exists_result))) \/ (eri_bit_erc_rectangle_count_exists_result_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_exists_result_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_result_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_result_witness_row) = q * S erc_row_rectangle_count_exists_result) /\ ~(exists eri_gap_erc_rectangle_count_exists_result_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_result_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_result) = p * S eri_column_erc_rectangle_count_exists_result_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_exists_result_witness_count_sum ff_v_erc_rectangle_count_exists_result_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_result_witness_count_sum_start. ff_h_erc_rectangle_count_exists_result_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_exists_result_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_result_witness_count_sum_start. ff_u_erc_rectangle_count_exists_result_witness_count_sum = ff_q_erc_rectangle_count_exists_result_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_exists_result_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_exists_result_witness_count_sum_terminal. ff_h_erc_rectangle_count_exists_result_witness_count_sum_terminal + S (erc_count_rectangle_count_exists_result) = S ((S (k)) * ff_v_erc_rectangle_count_exists_result_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_result_witness_count_sum_terminal. ff_u_erc_rectangle_count_exists_result_witness_count_sum = ff_q_erc_rectangle_count_exists_result_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_exists_result_witness_count_sum) + (erc_count_rectangle_count_exists_result))) /\ forall ff_i_erc_rectangle_count_exists_result_witness_count_sum. (exists ff_lt_erc_rectangle_count_exists_result_witness_count_sum_bound. ff_lt_erc_rectangle_count_exists_result_witness_count_sum_bound + S ff_i_erc_rectangle_count_exists_result_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_exists_result_witness_count_sum ff_r_erc_rectangle_count_exists_result_witness_count_sum ff_s_erc_rectangle_count_exists_result_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_result_witness_count_sum_summand. ff_h_erc_rectangle_count_exists_result_witness_count_sum_summand + S (ff_a_erc_rectangle_count_exists_result_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_result_witness_count_sum)) * erc_row_scale_rectangle_count_exists_result_witness)) /\ exists ff_q_erc_rectangle_count_exists_result_witness_count_sum_summand. erc_row_code_rectangle_count_exists_result_witness = ff_q_erc_rectangle_count_exists_result_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_exists_result_witness_count_sum)) * erc_row_scale_rectangle_count_exists_result_witness) + (ff_a_erc_rectangle_count_exists_result_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_result_witness_count_sum_partial. ff_h_erc_rectangle_count_exists_result_witness_count_sum_partial + S (ff_r_erc_rectangle_count_exists_result_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_result_witness_count_sum)) * ff_v_erc_rectangle_count_exists_result_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_result_witness_count_sum_partial. ff_u_erc_rectangle_count_exists_result_witness_count_sum = ff_q_erc_rectangle_count_exists_result_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_exists_result_witness_count_sum)) * ff_v_erc_rectangle_count_exists_result_witness_count_sum) + (ff_r_erc_rectangle_count_exists_result_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_result_witness_count_sum_successor. ff_h_erc_rectangle_count_exists_result_witness_count_sum_successor + S (ff_s_erc_rectangle_count_exists_result_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_exists_result_witness_count_sum)) * ff_v_erc_rectangle_count_exists_result_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_result_witness_count_sum_successor. ff_u_erc_rectangle_count_exists_result_witness_count_sum = ff_q_erc_rectangle_count_exists_result_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_exists_result_witness_count_sum)) * ff_v_erc_rectangle_count_exists_result_witness_count_sum) + (ff_s_erc_rectangle_count_exists_result_witness_count_sum))) /\ ff_s_erc_rectangle_count_exists_result_witness_count_sum = ff_r_erc_rectangle_count_exists_result_witness_count_sum + ff_a_erc_rectangle_count_exists_result_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_exists_result_witness_count_bits. (exists ff_lt_erc_rectangle_count_exists_result_witness_count_bits_bound. ff_lt_erc_rectangle_count_exists_result_witness_count_bits_bound + S ff_i_erc_rectangle_count_exists_result_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_exists_result_witness_count_bits. ((((exists ff_h_erc_rectangle_count_exists_result_witness_count_bits_decoded. ff_h_erc_rectangle_count_exists_result_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_exists_result_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_exists_result_witness_count_bits)) * erc_row_scale_rectangle_count_exists_result_witness)) /\ exists ff_q_erc_rectangle_count_exists_result_witness_count_bits_decoded. erc_row_code_rectangle_count_exists_result_witness = ff_q_erc_rectangle_count_exists_result_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_exists_result_witness_count_bits)) * erc_row_scale_rectangle_count_exists_result_witness) + (ff_bit_erc_rectangle_count_exists_result_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_exists_result_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_exists_result_witness_count_bits = 1))))))))))Structural proof guide
Generated structural guide
Every finite family of semantic row counts has an outer beta prefix.
Use the direct prerequisites add_eq_zero_right, succ_ne_zero, le_succ, le_refl, eisenstein_rectangle_row_count_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 PA00DI eisenstein_rectangle_row_count_prefix_extendDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v16 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
- 0001
intro p - 0002
intro q - 0003
intro k - 0004
induction l - 0005
intro hchoices - 0006
exists 0 - 0007
exists 0 - 0008
intro i - 0009
intro hi - 0010
exfalso - 0011
cases hi - 0012
have hsi : S i = 0 - 0013
specialize add_eq_zero_right x - 0014
specialize add_eq_zero_right (S i) - 0015
apply add_eq_zero_right - 0016
exact hi_witness - 0017
specialize succ_ne_zero i - 0018
apply succ_ne_zero - 0019
exact hsi - 0020
intro hchoices - 0021
have hprevious_choices : forall erc_row_rectangle_count_exists_previous_choices. (exists erc_lt_gap_rectangle_count_exists_previous_choices_bound. erc_lt_gap_rectangle_count_exists_previous_choices_bound + S (erc_row_rectangle_count_exists_previous_choices) = l) -> exists erc_count_rectangle_count_exists_previous_choices. (exists erc_row_code_rectangle_count_exists_previous_choices_witness erc_row_scale_rectangle_count_exists_previous_choices_witness. ((forall eri_column_erc_rectangle_count_exists_previous_choices_witness_row. (exists eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_bound. eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_bound + S (eri_column_erc_rectangle_count_exists_previous_choices_witness_row) = k) -> exists eri_bit_erc_rectangle_count_exists_previous_choices_witness_row. ((((exists ff_h_eri_erc_rectangle_count_exists_previous_choices_witness_row_decoded. ff_h_eri_erc_rectangle_count_exists_previous_choices_witness_row_decoded + S (eri_bit_erc_rectangle_count_exists_previous_choices_witness_row) = S ((S (eri_column_erc_rectangle_count_exists_previous_choices_witness_row)) * erc_row_scale_rectangle_count_exists_previous_choices_witness)) /\ exists ff_q_eri_erc_rectangle_count_exists_previous_choices_witness_row_decoded. erc_row_code_rectangle_count_exists_previous_choices_witness = ff_q_eri_erc_rectangle_count_exists_previous_choices_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_exists_previous_choices_witness_row)) * erc_row_scale_rectangle_count_exists_previous_choices_witness) + (eri_bit_erc_rectangle_count_exists_previous_choices_witness_row))) /\ (((eri_bit_erc_rectangle_count_exists_previous_choices_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_previous_choices) = p * S eri_column_erc_rectangle_count_exists_previous_choices_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_previous_choices_witness_row) = q * S erc_row_rectangle_count_exists_previous_choices))) \/ (eri_bit_erc_rectangle_count_exists_previous_choices_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_previous_choices_witness_row) = q * S erc_row_rectangle_count_exists_previous_choices) /\ ~(exists eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_previous_choices_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_previous_choices) = p * S eri_column_erc_rectangle_count_exists_previous_choices_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_exists_previous_choices_witness_count_sum ff_v_erc_rectangle_count_exists_previous_choices_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_start. ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_exists_previous_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_start. ff_u_erc_rectangle_count_exists_previous_choices_witness_count_sum = ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_exists_previous_choices_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_terminal. ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_terminal + S (erc_count_rectangle_count_exists_previous_choices) = S ((S (k)) * ff_v_erc_rectangle_count_exists_previous_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_terminal. ff_u_erc_rectangle_count_exists_previous_choices_witness_count_sum = ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_exists_previous_choices_witness_count_sum) + (erc_count_rectangle_count_exists_previous_choices))) /\ forall ff_i_erc_rectangle_count_exists_previous_choices_witness_count_sum. (exists ff_lt_erc_rectangle_count_exists_previous_choices_witness_count_sum_bound. ff_lt_erc_rectangle_count_exists_previous_choices_witness_count_sum_bound + S ff_i_erc_rectangle_count_exists_previous_choices_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_exists_previous_choices_witness_count_sum ff_r_erc_rectangle_count_exists_previous_choices_witness_count_sum ff_s_erc_rectangle_count_exists_previous_choices_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_summand. ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_summand + S (ff_a_erc_rectangle_count_exists_previous_choices_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_previous_choices_witness_count_sum)) * erc_row_scale_rectangle_count_exists_previous_choices_witness)) /\ exists ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_summand. erc_row_code_rectangle_count_exists_previous_choices_witness = ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_exists_previous_choices_witness_count_sum)) * erc_row_scale_rectangle_count_exists_previous_choices_witness) + (ff_a_erc_rectangle_count_exists_previous_choices_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_partial. ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_partial + S (ff_r_erc_rectangle_count_exists_previous_choices_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_previous_choices_witness_count_sum)) * ff_v_erc_rectangle_count_exists_previous_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_partial. ff_u_erc_rectangle_count_exists_previous_choices_witness_count_sum = ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_exists_previous_choices_witness_count_sum)) * ff_v_erc_rectangle_count_exists_previous_choices_witness_count_sum) + (ff_r_erc_rectangle_count_exists_previous_choices_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_successor. ff_h_erc_rectangle_count_exists_previous_choices_witness_count_sum_successor + S (ff_s_erc_rectangle_count_exists_previous_choices_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_exists_previous_choices_witness_count_sum)) * ff_v_erc_rectangle_count_exists_previous_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_successor. ff_u_erc_rectangle_count_exists_previous_choices_witness_count_sum = ff_q_erc_rectangle_count_exists_previous_choices_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_exists_previous_choices_witness_count_sum)) * ff_v_erc_rectangle_count_exists_previous_choices_witness_count_sum) + (ff_s_erc_rectangle_count_exists_previous_choices_witness_count_sum))) /\ ff_s_erc_rectangle_count_exists_previous_choices_witness_count_sum = ff_r_erc_rectangle_count_exists_previous_choices_witness_count_sum + ff_a_erc_rectangle_count_exists_previous_choices_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_exists_previous_choices_witness_count_bits. (exists ff_lt_erc_rectangle_count_exists_previous_choices_witness_count_bits_bound. ff_lt_erc_rectangle_count_exists_previous_choices_witness_count_bits_bound + S ff_i_erc_rectangle_count_exists_previous_choices_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_exists_previous_choices_witness_count_bits. ((((exists ff_h_erc_rectangle_count_exists_previous_choices_witness_count_bits_decoded. ff_h_erc_rectangle_count_exists_previous_choices_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_exists_previous_choices_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_exists_previous_choices_witness_count_bits)) * erc_row_scale_rectangle_count_exists_previous_choices_witness)) /\ exists ff_q_erc_rectangle_count_exists_previous_choices_witness_count_bits_decoded. erc_row_code_rectangle_count_exists_previous_choices_witness = ff_q_erc_rectangle_count_exists_previous_choices_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_exists_previous_choices_witness_count_bits)) * erc_row_scale_rectangle_count_exists_previous_choices_witness) + (ff_bit_erc_rectangle_count_exists_previous_choices_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_exists_previous_choices_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_exists_previous_choices_witness_count_bits = 1))))))) - 0022
intro i - 0023
intro hi - 0024
specialize hchoices i - 0025
apply hchoices - 0026
specialize le_succ (S i) - 0027
specialize le_succ l - 0028
apply le_succ - 0029
exact hi - 0030
have hprevious : exists cb cc. (forall erc_row_rectangle_count_exists_previous_prefix. (exists erc_lt_gap_rectangle_count_exists_previous_prefix_bound. erc_lt_gap_rectangle_count_exists_previous_prefix_bound + S (erc_row_rectangle_count_exists_previous_prefix) = l) -> exists erc_count_rectangle_count_exists_previous_prefix. ((((exists ff_h_erc_rectangle_count_exists_previous_prefix_decoded. ff_h_erc_rectangle_count_exists_previous_prefix_decoded + S (erc_count_rectangle_count_exists_previous_prefix) = S ((S (erc_row_rectangle_count_exists_previous_prefix)) * cc)) /\ exists ff_q_erc_rectangle_count_exists_previous_prefix_decoded. cb = ff_q_erc_rectangle_count_exists_previous_prefix_decoded * S ((S (erc_row_rectangle_count_exists_previous_prefix)) * cc) + (erc_count_rectangle_count_exists_previous_prefix))) /\ (exists erc_row_code_rectangle_count_exists_previous_prefix_witness erc_row_scale_rectangle_count_exists_previous_prefix_witness. ((forall eri_column_erc_rectangle_count_exists_previous_prefix_witness_row. (exists eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_bound. eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_bound + S (eri_column_erc_rectangle_count_exists_previous_prefix_witness_row) = k) -> exists eri_bit_erc_rectangle_count_exists_previous_prefix_witness_row. ((((exists ff_h_eri_erc_rectangle_count_exists_previous_prefix_witness_row_decoded. ff_h_eri_erc_rectangle_count_exists_previous_prefix_witness_row_decoded + S (eri_bit_erc_rectangle_count_exists_previous_prefix_witness_row) = S ((S (eri_column_erc_rectangle_count_exists_previous_prefix_witness_row)) * erc_row_scale_rectangle_count_exists_previous_prefix_witness)) /\ exists ff_q_eri_erc_rectangle_count_exists_previous_prefix_witness_row_decoded. erc_row_code_rectangle_count_exists_previous_prefix_witness = ff_q_eri_erc_rectangle_count_exists_previous_prefix_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_exists_previous_prefix_witness_row)) * erc_row_scale_rectangle_count_exists_previous_prefix_witness) + (eri_bit_erc_rectangle_count_exists_previous_prefix_witness_row))) /\ (((eri_bit_erc_rectangle_count_exists_previous_prefix_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_previous_prefix) = p * S eri_column_erc_rectangle_count_exists_previous_prefix_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_previous_prefix_witness_row) = q * S erc_row_rectangle_count_exists_previous_prefix))) \/ (eri_bit_erc_rectangle_count_exists_previous_prefix_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_previous_prefix_witness_row) = q * S erc_row_rectangle_count_exists_previous_prefix) /\ ~(exists eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_previous_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_previous_prefix) = p * S eri_column_erc_rectangle_count_exists_previous_prefix_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_exists_previous_prefix_witness_count_sum ff_v_erc_rectangle_count_exists_previous_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_start. ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_start. ff_u_erc_rectangle_count_exists_previous_prefix_witness_count_sum = ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_exists_previous_prefix_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_terminal. ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_terminal + S (erc_count_rectangle_count_exists_previous_prefix) = S ((S (k)) * ff_v_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_terminal. ff_u_erc_rectangle_count_exists_previous_prefix_witness_count_sum = ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_exists_previous_prefix_witness_count_sum) + (erc_count_rectangle_count_exists_previous_prefix))) /\ forall ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_sum. (exists ff_lt_erc_rectangle_count_exists_previous_prefix_witness_count_sum_bound. ff_lt_erc_rectangle_count_exists_previous_prefix_witness_count_sum_bound + S ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_exists_previous_prefix_witness_count_sum ff_r_erc_rectangle_count_exists_previous_prefix_witness_count_sum ff_s_erc_rectangle_count_exists_previous_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_summand. ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_summand + S (ff_a_erc_rectangle_count_exists_previous_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_exists_previous_prefix_witness)) /\ exists ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_summand. erc_row_code_rectangle_count_exists_previous_prefix_witness = ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_exists_previous_prefix_witness) + (ff_a_erc_rectangle_count_exists_previous_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_partial. ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_partial + S (ff_r_erc_rectangle_count_exists_previous_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_partial. ff_u_erc_rectangle_count_exists_previous_prefix_witness_count_sum = ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_exists_previous_prefix_witness_count_sum) + (ff_r_erc_rectangle_count_exists_previous_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_successor. ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_sum_successor + S (ff_s_erc_rectangle_count_exists_previous_prefix_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_successor. ff_u_erc_rectangle_count_exists_previous_prefix_witness_count_sum = ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_exists_previous_prefix_witness_count_sum) + (ff_s_erc_rectangle_count_exists_previous_prefix_witness_count_sum))) /\ ff_s_erc_rectangle_count_exists_previous_prefix_witness_count_sum = ff_r_erc_rectangle_count_exists_previous_prefix_witness_count_sum + ff_a_erc_rectangle_count_exists_previous_prefix_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_bits. (exists ff_lt_erc_rectangle_count_exists_previous_prefix_witness_count_bits_bound. ff_lt_erc_rectangle_count_exists_previous_prefix_witness_count_bits_bound + S ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_exists_previous_prefix_witness_count_bits. ((((exists ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_bits_decoded. ff_h_erc_rectangle_count_exists_previous_prefix_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_exists_previous_prefix_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_exists_previous_prefix_witness)) /\ exists ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_bits_decoded. erc_row_code_rectangle_count_exists_previous_prefix_witness = ff_q_erc_rectangle_count_exists_previous_prefix_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_exists_previous_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_exists_previous_prefix_witness) + (ff_bit_erc_rectangle_count_exists_previous_prefix_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_exists_previous_prefix_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_exists_previous_prefix_witness_count_bits = 1))))))))) - 0031
apply IH - 0032
exact hprevious_choices - 0033
cases hprevious - 0034
cases hprevious_witness - 0035
have hlast : exists n. (exists erc_row_code_rectangle_count_exists_last erc_row_scale_rectangle_count_exists_last. ((forall eri_column_erc_rectangle_count_exists_last_row. (exists eri_gap_erc_rectangle_count_exists_last_row_bound. eri_gap_erc_rectangle_count_exists_last_row_bound + S (eri_column_erc_rectangle_count_exists_last_row) = k) -> exists eri_bit_erc_rectangle_count_exists_last_row. ((((exists ff_h_eri_erc_rectangle_count_exists_last_row_decoded. ff_h_eri_erc_rectangle_count_exists_last_row_decoded + S (eri_bit_erc_rectangle_count_exists_last_row) = S ((S (eri_column_erc_rectangle_count_exists_last_row)) * erc_row_scale_rectangle_count_exists_last)) /\ exists ff_q_eri_erc_rectangle_count_exists_last_row_decoded. erc_row_code_rectangle_count_exists_last = ff_q_eri_erc_rectangle_count_exists_last_row_decoded * S ((S (eri_column_erc_rectangle_count_exists_last_row)) * erc_row_scale_rectangle_count_exists_last) + (eri_bit_erc_rectangle_count_exists_last_row))) /\ (((eri_bit_erc_rectangle_count_exists_last_row = 0 /\ ((exists eri_gap_erc_rectangle_count_exists_last_row_choice_left. eri_gap_erc_rectangle_count_exists_last_row_choice_left + S (q * S l) = p * S eri_column_erc_rectangle_count_exists_last_row) /\ ~(exists eri_gap_erc_rectangle_count_exists_last_row_choice_right. eri_gap_erc_rectangle_count_exists_last_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_last_row) = q * S l))) \/ (eri_bit_erc_rectangle_count_exists_last_row = 1 /\ ((exists eri_gap_erc_rectangle_count_exists_last_row_choice_right. eri_gap_erc_rectangle_count_exists_last_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_last_row) = q * S l) /\ ~(exists eri_gap_erc_rectangle_count_exists_last_row_choice_left. eri_gap_erc_rectangle_count_exists_last_row_choice_left + S (q * S l) = p * S eri_column_erc_rectangle_count_exists_last_row))))))) /\ (((exists ff_u_erc_rectangle_count_exists_last_count_sum ff_v_erc_rectangle_count_exists_last_count_sum. ((((exists ff_h_erc_rectangle_count_exists_last_count_sum_start. ff_h_erc_rectangle_count_exists_last_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_exists_last_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_last_count_sum_start. ff_u_erc_rectangle_count_exists_last_count_sum = ff_q_erc_rectangle_count_exists_last_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_exists_last_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_exists_last_count_sum_terminal. ff_h_erc_rectangle_count_exists_last_count_sum_terminal + S (n) = S ((S (k)) * ff_v_erc_rectangle_count_exists_last_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_last_count_sum_terminal. ff_u_erc_rectangle_count_exists_last_count_sum = ff_q_erc_rectangle_count_exists_last_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_exists_last_count_sum) + (n))) /\ forall ff_i_erc_rectangle_count_exists_last_count_sum. (exists ff_lt_erc_rectangle_count_exists_last_count_sum_bound. ff_lt_erc_rectangle_count_exists_last_count_sum_bound + S ff_i_erc_rectangle_count_exists_last_count_sum = k) -> exists ff_a_erc_rectangle_count_exists_last_count_sum ff_r_erc_rectangle_count_exists_last_count_sum ff_s_erc_rectangle_count_exists_last_count_sum. ((((exists ff_h_erc_rectangle_count_exists_last_count_sum_summand. ff_h_erc_rectangle_count_exists_last_count_sum_summand + S (ff_a_erc_rectangle_count_exists_last_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_last_count_sum)) * erc_row_scale_rectangle_count_exists_last)) /\ exists ff_q_erc_rectangle_count_exists_last_count_sum_summand. erc_row_code_rectangle_count_exists_last = ff_q_erc_rectangle_count_exists_last_count_sum_summand * S ((S (ff_i_erc_rectangle_count_exists_last_count_sum)) * erc_row_scale_rectangle_count_exists_last) + (ff_a_erc_rectangle_count_exists_last_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_last_count_sum_partial. ff_h_erc_rectangle_count_exists_last_count_sum_partial + S (ff_r_erc_rectangle_count_exists_last_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_last_count_sum)) * ff_v_erc_rectangle_count_exists_last_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_last_count_sum_partial. ff_u_erc_rectangle_count_exists_last_count_sum = ff_q_erc_rectangle_count_exists_last_count_sum_partial * S ((S (ff_i_erc_rectangle_count_exists_last_count_sum)) * ff_v_erc_rectangle_count_exists_last_count_sum) + (ff_r_erc_rectangle_count_exists_last_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_last_count_sum_successor. ff_h_erc_rectangle_count_exists_last_count_sum_successor + S (ff_s_erc_rectangle_count_exists_last_count_sum) = S ((S (S ff_i_erc_rectangle_count_exists_last_count_sum)) * ff_v_erc_rectangle_count_exists_last_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_last_count_sum_successor. ff_u_erc_rectangle_count_exists_last_count_sum = ff_q_erc_rectangle_count_exists_last_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_exists_last_count_sum)) * ff_v_erc_rectangle_count_exists_last_count_sum) + (ff_s_erc_rectangle_count_exists_last_count_sum))) /\ ff_s_erc_rectangle_count_exists_last_count_sum = ff_r_erc_rectangle_count_exists_last_count_sum + ff_a_erc_rectangle_count_exists_last_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_exists_last_count_bits. (exists ff_lt_erc_rectangle_count_exists_last_count_bits_bound. ff_lt_erc_rectangle_count_exists_last_count_bits_bound + S ff_i_erc_rectangle_count_exists_last_count_bits = k) -> exists ff_bit_erc_rectangle_count_exists_last_count_bits. ((((exists ff_h_erc_rectangle_count_exists_last_count_bits_decoded. ff_h_erc_rectangle_count_exists_last_count_bits_decoded + S (ff_bit_erc_rectangle_count_exists_last_count_bits) = S ((S (ff_i_erc_rectangle_count_exists_last_count_bits)) * erc_row_scale_rectangle_count_exists_last)) /\ exists ff_q_erc_rectangle_count_exists_last_count_bits_decoded. erc_row_code_rectangle_count_exists_last = ff_q_erc_rectangle_count_exists_last_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_exists_last_count_bits)) * erc_row_scale_rectangle_count_exists_last) + (ff_bit_erc_rectangle_count_exists_last_count_bits))) /\ (ff_bit_erc_rectangle_count_exists_last_count_bits = 0 \/ ff_bit_erc_rectangle_count_exists_last_count_bits = 1))))))) - 0036
specialize hchoices l - 0037
apply hchoices - 0038
specialize le_refl (S l) - 0039
exact le_refl - 0040
have hnext : exists cb cc. (forall erc_row_rectangle_count_exists_successor_prefix. (exists erc_lt_gap_rectangle_count_exists_successor_prefix_bound. erc_lt_gap_rectangle_count_exists_successor_prefix_bound + S (erc_row_rectangle_count_exists_successor_prefix) = S l) -> exists erc_count_rectangle_count_exists_successor_prefix. ((((exists ff_h_erc_rectangle_count_exists_successor_prefix_decoded. ff_h_erc_rectangle_count_exists_successor_prefix_decoded + S (erc_count_rectangle_count_exists_successor_prefix) = S ((S (erc_row_rectangle_count_exists_successor_prefix)) * cc)) /\ exists ff_q_erc_rectangle_count_exists_successor_prefix_decoded. cb = ff_q_erc_rectangle_count_exists_successor_prefix_decoded * S ((S (erc_row_rectangle_count_exists_successor_prefix)) * cc) + (erc_count_rectangle_count_exists_successor_prefix))) /\ (exists erc_row_code_rectangle_count_exists_successor_prefix_witness erc_row_scale_rectangle_count_exists_successor_prefix_witness. ((forall eri_column_erc_rectangle_count_exists_successor_prefix_witness_row. (exists eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_bound. eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_bound + S (eri_column_erc_rectangle_count_exists_successor_prefix_witness_row) = k) -> exists eri_bit_erc_rectangle_count_exists_successor_prefix_witness_row. ((((exists ff_h_eri_erc_rectangle_count_exists_successor_prefix_witness_row_decoded. ff_h_eri_erc_rectangle_count_exists_successor_prefix_witness_row_decoded + S (eri_bit_erc_rectangle_count_exists_successor_prefix_witness_row) = S ((S (eri_column_erc_rectangle_count_exists_successor_prefix_witness_row)) * erc_row_scale_rectangle_count_exists_successor_prefix_witness)) /\ exists ff_q_eri_erc_rectangle_count_exists_successor_prefix_witness_row_decoded. erc_row_code_rectangle_count_exists_successor_prefix_witness = ff_q_eri_erc_rectangle_count_exists_successor_prefix_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_exists_successor_prefix_witness_row)) * erc_row_scale_rectangle_count_exists_successor_prefix_witness) + (eri_bit_erc_rectangle_count_exists_successor_prefix_witness_row))) /\ (((eri_bit_erc_rectangle_count_exists_successor_prefix_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_successor_prefix) = p * S eri_column_erc_rectangle_count_exists_successor_prefix_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_successor_prefix_witness_row) = q * S erc_row_rectangle_count_exists_successor_prefix))) \/ (eri_bit_erc_rectangle_count_exists_successor_prefix_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_exists_successor_prefix_witness_row) = q * S erc_row_rectangle_count_exists_successor_prefix) /\ ~(exists eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_exists_successor_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_exists_successor_prefix) = p * S eri_column_erc_rectangle_count_exists_successor_prefix_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_exists_successor_prefix_witness_count_sum ff_v_erc_rectangle_count_exists_successor_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_start. ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_start. ff_u_erc_rectangle_count_exists_successor_prefix_witness_count_sum = ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_exists_successor_prefix_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_terminal. ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_terminal + S (erc_count_rectangle_count_exists_successor_prefix) = S ((S (k)) * ff_v_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_terminal. ff_u_erc_rectangle_count_exists_successor_prefix_witness_count_sum = ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_exists_successor_prefix_witness_count_sum) + (erc_count_rectangle_count_exists_successor_prefix))) /\ forall ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_sum. (exists ff_lt_erc_rectangle_count_exists_successor_prefix_witness_count_sum_bound. ff_lt_erc_rectangle_count_exists_successor_prefix_witness_count_sum_bound + S ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_exists_successor_prefix_witness_count_sum ff_r_erc_rectangle_count_exists_successor_prefix_witness_count_sum ff_s_erc_rectangle_count_exists_successor_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_summand. ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_summand + S (ff_a_erc_rectangle_count_exists_successor_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_exists_successor_prefix_witness)) /\ exists ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_summand. erc_row_code_rectangle_count_exists_successor_prefix_witness = ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_exists_successor_prefix_witness) + (ff_a_erc_rectangle_count_exists_successor_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_partial. ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_partial + S (ff_r_erc_rectangle_count_exists_successor_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_partial. ff_u_erc_rectangle_count_exists_successor_prefix_witness_count_sum = ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_exists_successor_prefix_witness_count_sum) + (ff_r_erc_rectangle_count_exists_successor_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_successor. ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_sum_successor + S (ff_s_erc_rectangle_count_exists_successor_prefix_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_successor. ff_u_erc_rectangle_count_exists_successor_prefix_witness_count_sum = ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_exists_successor_prefix_witness_count_sum) + (ff_s_erc_rectangle_count_exists_successor_prefix_witness_count_sum))) /\ ff_s_erc_rectangle_count_exists_successor_prefix_witness_count_sum = ff_r_erc_rectangle_count_exists_successor_prefix_witness_count_sum + ff_a_erc_rectangle_count_exists_successor_prefix_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_bits. (exists ff_lt_erc_rectangle_count_exists_successor_prefix_witness_count_bits_bound. ff_lt_erc_rectangle_count_exists_successor_prefix_witness_count_bits_bound + S ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_exists_successor_prefix_witness_count_bits. ((((exists ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_bits_decoded. ff_h_erc_rectangle_count_exists_successor_prefix_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_exists_successor_prefix_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_exists_successor_prefix_witness)) /\ exists ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_bits_decoded. erc_row_code_rectangle_count_exists_successor_prefix_witness = ff_q_erc_rectangle_count_exists_successor_prefix_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_exists_successor_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_exists_successor_prefix_witness) + (ff_bit_erc_rectangle_count_exists_successor_prefix_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_exists_successor_prefix_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_exists_successor_prefix_witness_count_bits = 1))))))))) - 0041
specialize eisenstein_rectangle_row_count_prefix_extend p - 0042
specialize eisenstein_rectangle_row_count_prefix_extend q - 0043
specialize eisenstein_rectangle_row_count_prefix_extend k - 0044
specialize eisenstein_rectangle_row_count_prefix_extend x - 0045
specialize eisenstein_rectangle_row_count_prefix_extend x1 - 0046
specialize eisenstein_rectangle_row_count_prefix_extend l - 0047
apply eisenstein_rectangle_row_count_prefix_extend - 0048
exact hprevious_witness_witness - 0049
exact hlast - 0050
exact hnext