PA00DK

distinct_odd_prime_half_row_count_prefix_exists_bounded

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

Every bounded initial set of rows has a semantic count prefix.

Exact expanded PA statement

forall p q h k l. p = 2 * h + 1 -> q = 2 * k + 1 -> ((~(p = 1) /\ forall frp_prime_left_rectangle_count_prime_p frp_prime_right_rectangle_count_prime_p. p = frp_prime_left_rectangle_count_prime_p * frp_prime_right_rectangle_count_prime_p -> frp_prime_left_rectangle_count_prime_p = 1 \/ frp_prime_right_rectangle_count_prime_p = 1)) -> ((~(q = 1) /\ forall frp_prime_left_rectangle_count_prime_q frp_prime_right_rectangle_count_prime_q. q = frp_prime_left_rectangle_count_prime_q * frp_prime_right_rectangle_count_prime_q -> frp_prime_left_rectangle_count_prime_q = 1 \/ frp_prime_right_rectangle_count_prime_q = 1)) -> ~(p = q) -> (exists erc_le_gap_rectangle_count_length_bound. erc_le_gap_rectangle_count_length_bound + (l) = h) -> (exists cb cc. (forall erc_row_rectangle_count_bounded_prefix. (exists erc_lt_gap_rectangle_count_bounded_prefix_bound. erc_lt_gap_rectangle_count_bounded_prefix_bound + S (erc_row_rectangle_count_bounded_prefix) = l) -> exists erc_count_rectangle_count_bounded_prefix. ((((exists ff_h_erc_rectangle_count_bounded_prefix_decoded. ff_h_erc_rectangle_count_bounded_prefix_decoded + S (erc_count_rectangle_count_bounded_prefix) = S ((S (erc_row_rectangle_count_bounded_prefix)) * cc)) /\ exists ff_q_erc_rectangle_count_bounded_prefix_decoded. cb = ff_q_erc_rectangle_count_bounded_prefix_decoded * S ((S (erc_row_rectangle_count_bounded_prefix)) * cc) + (erc_count_rectangle_count_bounded_prefix))) /\ (exists erc_row_code_rectangle_count_bounded_prefix_witness erc_row_scale_rectangle_count_bounded_prefix_witness. ((forall eri_column_erc_rectangle_count_bounded_prefix_witness_row. (exists eri_gap_erc_rectangle_count_bounded_prefix_witness_row_bound. eri_gap_erc_rectangle_count_bounded_prefix_witness_row_bound + S (eri_column_erc_rectangle_count_bounded_prefix_witness_row) = k) -> exists eri_bit_erc_rectangle_count_bounded_prefix_witness_row. ((((exists ff_h_eri_erc_rectangle_count_bounded_prefix_witness_row_decoded. ff_h_eri_erc_rectangle_count_bounded_prefix_witness_row_decoded + S (eri_bit_erc_rectangle_count_bounded_prefix_witness_row) = S ((S (eri_column_erc_rectangle_count_bounded_prefix_witness_row)) * erc_row_scale_rectangle_count_bounded_prefix_witness)) /\ exists ff_q_eri_erc_rectangle_count_bounded_prefix_witness_row_decoded. erc_row_code_rectangle_count_bounded_prefix_witness = ff_q_eri_erc_rectangle_count_bounded_prefix_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_bounded_prefix_witness_row)) * erc_row_scale_rectangle_count_bounded_prefix_witness) + (eri_bit_erc_rectangle_count_bounded_prefix_witness_row))) /\ (((eri_bit_erc_rectangle_count_bounded_prefix_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_bounded_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_bounded_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_bounded_prefix) = p * S eri_column_erc_rectangle_count_bounded_prefix_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_bounded_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_bounded_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_bounded_prefix_witness_row) = q * S erc_row_rectangle_count_bounded_prefix))) \/ (eri_bit_erc_rectangle_count_bounded_prefix_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_bounded_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_bounded_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_bounded_prefix_witness_row) = q * S erc_row_rectangle_count_bounded_prefix) /\ ~(exists eri_gap_erc_rectangle_count_bounded_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_bounded_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_bounded_prefix) = p * S eri_column_erc_rectangle_count_bounded_prefix_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_bounded_prefix_witness_count_sum ff_v_erc_rectangle_count_bounded_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_start. ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_bounded_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_start. ff_u_erc_rectangle_count_bounded_prefix_witness_count_sum = ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_bounded_prefix_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_terminal. ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_terminal + S (erc_count_rectangle_count_bounded_prefix) = S ((S (k)) * ff_v_erc_rectangle_count_bounded_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_terminal. ff_u_erc_rectangle_count_bounded_prefix_witness_count_sum = ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_bounded_prefix_witness_count_sum) + (erc_count_rectangle_count_bounded_prefix))) /\ forall ff_i_erc_rectangle_count_bounded_prefix_witness_count_sum. (exists ff_lt_erc_rectangle_count_bounded_prefix_witness_count_sum_bound. ff_lt_erc_rectangle_count_bounded_prefix_witness_count_sum_bound + S ff_i_erc_rectangle_count_bounded_prefix_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_bounded_prefix_witness_count_sum ff_r_erc_rectangle_count_bounded_prefix_witness_count_sum ff_s_erc_rectangle_count_bounded_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_summand. ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_summand + S (ff_a_erc_rectangle_count_bounded_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_bounded_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_bounded_prefix_witness)) /\ exists ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_summand. erc_row_code_rectangle_count_bounded_prefix_witness = ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_bounded_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_bounded_prefix_witness) + (ff_a_erc_rectangle_count_bounded_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_partial. ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_partial + S (ff_r_erc_rectangle_count_bounded_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_bounded_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_partial. ff_u_erc_rectangle_count_bounded_prefix_witness_count_sum = ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_bounded_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_prefix_witness_count_sum) + (ff_r_erc_rectangle_count_bounded_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_successor. ff_h_erc_rectangle_count_bounded_prefix_witness_count_sum_successor + S (ff_s_erc_rectangle_count_bounded_prefix_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_bounded_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_successor. ff_u_erc_rectangle_count_bounded_prefix_witness_count_sum = ff_q_erc_rectangle_count_bounded_prefix_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_bounded_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_prefix_witness_count_sum) + (ff_s_erc_rectangle_count_bounded_prefix_witness_count_sum))) /\ ff_s_erc_rectangle_count_bounded_prefix_witness_count_sum = ff_r_erc_rectangle_count_bounded_prefix_witness_count_sum + ff_a_erc_rectangle_count_bounded_prefix_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_bounded_prefix_witness_count_bits. (exists ff_lt_erc_rectangle_count_bounded_prefix_witness_count_bits_bound. ff_lt_erc_rectangle_count_bounded_prefix_witness_count_bits_bound + S ff_i_erc_rectangle_count_bounded_prefix_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_bounded_prefix_witness_count_bits. ((((exists ff_h_erc_rectangle_count_bounded_prefix_witness_count_bits_decoded. ff_h_erc_rectangle_count_bounded_prefix_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_bounded_prefix_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_bounded_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_bounded_prefix_witness)) /\ exists ff_q_erc_rectangle_count_bounded_prefix_witness_count_bits_decoded. erc_row_code_rectangle_count_bounded_prefix_witness = ff_q_erc_rectangle_count_bounded_prefix_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_bounded_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_bounded_prefix_witness) + (ff_bit_erc_rectangle_count_bounded_prefix_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_bounded_prefix_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_bounded_prefix_witness_count_bits = 1))))))))))

Structural proof guide

Generated structural guide

Every bounded initial set of rows has a semantic count prefix.

Use the direct prerequisites distinct_odd_prime_half_row_count_choices_bounded, eisenstein_rectangle_row_count_prefix_exists as previously established PA formulas.

The proof proceeds by intermediate claims (1).

Referenced ingredients

Proof neighborhood

Direct dependencies

Direct 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.

  1. 0001intro p
  2. 0002intro q
  3. 0003intro h
  4. 0004intro k
  5. 0005intro l
  6. 0006intro hpodd
  7. 0007intro hqodd
  8. 0008intro hp
  9. 0009intro hq
  10. 0010intro hpq
  11. 0011intro hlh
  12. 0012have hchoices : forall erc_row_rectangle_count_bounded_choices. (exists erc_lt_gap_rectangle_count_bounded_choices_bound. erc_lt_gap_rectangle_count_bounded_choices_bound + S (erc_row_rectangle_count_bounded_choices) = l) -> exists erc_count_rectangle_count_bounded_choices. (exists erc_row_code_rectangle_count_bounded_choices_witness erc_row_scale_rectangle_count_bounded_choices_witness. ((forall eri_column_erc_rectangle_count_bounded_choices_witness_row. (exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_bound. eri_gap_erc_rectangle_count_bounded_choices_witness_row_bound + S (eri_column_erc_rectangle_count_bounded_choices_witness_row) = k) -> exists eri_bit_erc_rectangle_count_bounded_choices_witness_row. ((((exists ff_h_eri_erc_rectangle_count_bounded_choices_witness_row_decoded. ff_h_eri_erc_rectangle_count_bounded_choices_witness_row_decoded + S (eri_bit_erc_rectangle_count_bounded_choices_witness_row) = S ((S (eri_column_erc_rectangle_count_bounded_choices_witness_row)) * erc_row_scale_rectangle_count_bounded_choices_witness)) /\ exists ff_q_eri_erc_rectangle_count_bounded_choices_witness_row_decoded. erc_row_code_rectangle_count_bounded_choices_witness = ff_q_eri_erc_rectangle_count_bounded_choices_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_bounded_choices_witness_row)) * erc_row_scale_rectangle_count_bounded_choices_witness) + (eri_bit_erc_rectangle_count_bounded_choices_witness_row))) /\ (((eri_bit_erc_rectangle_count_bounded_choices_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_left. eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_left + S (q * S erc_row_rectangle_count_bounded_choices) = p * S eri_column_erc_rectangle_count_bounded_choices_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_right. eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_bounded_choices_witness_row) = q * S erc_row_rectangle_count_bounded_choices))) \/ (eri_bit_erc_rectangle_count_bounded_choices_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_right. eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_bounded_choices_witness_row) = q * S erc_row_rectangle_count_bounded_choices) /\ ~(exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_left. eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_left + S (q * S erc_row_rectangle_count_bounded_choices) = p * S eri_column_erc_rectangle_count_bounded_choices_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_bounded_choices_witness_count_sum ff_v_erc_rectangle_count_bounded_choices_witness_count_sum. ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_start. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_start. ff_u_erc_rectangle_count_bounded_choices_witness_count_sum = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_terminal. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_terminal + S (erc_count_rectangle_count_bounded_choices) = S ((S (k)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_terminal. ff_u_erc_rectangle_count_bounded_choices_witness_count_sum = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum) + (erc_count_rectangle_count_bounded_choices))) /\ forall ff_i_erc_rectangle_count_bounded_choices_witness_count_sum. (exists ff_lt_erc_rectangle_count_bounded_choices_witness_count_sum_bound. ff_lt_erc_rectangle_count_bounded_choices_witness_count_sum_bound + S ff_i_erc_rectangle_count_bounded_choices_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_bounded_choices_witness_count_sum ff_r_erc_rectangle_count_bounded_choices_witness_count_sum ff_s_erc_rectangle_count_bounded_choices_witness_count_sum. ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_summand. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_summand + S (ff_a_erc_rectangle_count_bounded_choices_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * erc_row_scale_rectangle_count_bounded_choices_witness)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_summand. erc_row_code_rectangle_count_bounded_choices_witness = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * erc_row_scale_rectangle_count_bounded_choices_witness) + (ff_a_erc_rectangle_count_bounded_choices_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_partial. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_partial + S (ff_r_erc_rectangle_count_bounded_choices_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_partial. ff_u_erc_rectangle_count_bounded_choices_witness_count_sum = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum) + (ff_r_erc_rectangle_count_bounded_choices_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_successor. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_successor + S (ff_s_erc_rectangle_count_bounded_choices_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_successor. ff_u_erc_rectangle_count_bounded_choices_witness_count_sum = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum) + (ff_s_erc_rectangle_count_bounded_choices_witness_count_sum))) /\ ff_s_erc_rectangle_count_bounded_choices_witness_count_sum = ff_r_erc_rectangle_count_bounded_choices_witness_count_sum + ff_a_erc_rectangle_count_bounded_choices_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_bounded_choices_witness_count_bits. (exists ff_lt_erc_rectangle_count_bounded_choices_witness_count_bits_bound. ff_lt_erc_rectangle_count_bounded_choices_witness_count_bits_bound + S ff_i_erc_rectangle_count_bounded_choices_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits. ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_bits_decoded. ff_h_erc_rectangle_count_bounded_choices_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_bits)) * erc_row_scale_rectangle_count_bounded_choices_witness)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_bits_decoded. erc_row_code_rectangle_count_bounded_choices_witness = ff_q_erc_rectangle_count_bounded_choices_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_bits)) * erc_row_scale_rectangle_count_bounded_choices_witness) + (ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits = 1)))))))
  13. 0013specialize distinct_odd_prime_half_row_count_choices_bounded p
  14. 0014specialize distinct_odd_prime_half_row_count_choices_bounded q
  15. 0015specialize distinct_odd_prime_half_row_count_choices_bounded h
  16. 0016specialize distinct_odd_prime_half_row_count_choices_bounded k
  17. 0017specialize distinct_odd_prime_half_row_count_choices_bounded l
  18. 0018apply distinct_odd_prime_half_row_count_choices_bounded
  19. 0019exact hpodd
  20. 0020exact hqodd
  21. 0021exact hp
  22. 0022exact hq
  23. 0023exact hpq
  24. 0024exact hlh
  25. 0025specialize eisenstein_rectangle_row_count_prefix_exists p
  26. 0026specialize eisenstein_rectangle_row_count_prefix_exists q
  27. 0027specialize eisenstein_rectangle_row_count_prefix_exists k
  28. 0028specialize eisenstein_rectangle_row_count_prefix_exists l
  29. 0029apply eisenstein_rectangle_row_count_prefix_exists
  30. 0030exact hchoices