PA00DM · theorem

distinct_odd_prime_half_rectangle_total_exists

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

The nested row counts have a native beta-sum rectangle total.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Statement with defined notation

∀ p. ∀ q. ∀ h. ∀ k. p = 2 · h + 1 → q = 2 · k + 1 → Prime(p)Prime(q) → ¬p = q → ∃ x. ∃ y. ∃ z. (∀ n. Lt(n,h) → ∃ m. BetaAt(x,y,n,m) ∧ (∃ i. ∃ j. (∀ u. Lt(u,k) → ∃ v. BetaAt(i,j,u,v) ∧ (v = 0 ∧ (Lt(q · S n,p · S u) ∧ ¬Lt(p · S u,q · S n)) ∨ v = 1 ∧ (Lt(p · S u,q · S n) ∧ ¬Lt(q · S n,p · S u)))) ∧ BitCount(i,j,k,m))) ∧ Sum(x,y,h,z)

Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.

Definitions used by this theorem

In the theorem statement

12 occurrences

In local proof propositions

10 occurrences

Exact expanded native-PA statement
forall p q h k. 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 cb cc total. ((forall erc_row_rectangle_count_total_prefix. (exists erc_lt_gap_rectangle_count_total_prefix_bound. erc_lt_gap_rectangle_count_total_prefix_bound + S (erc_row_rectangle_count_total_prefix) = h) -> exists erc_count_rectangle_count_total_prefix. ((((exists ff_h_erc_rectangle_count_total_prefix_decoded. ff_h_erc_rectangle_count_total_prefix_decoded + S (erc_count_rectangle_count_total_prefix) = S ((S (erc_row_rectangle_count_total_prefix)) * cc)) /\ exists ff_q_erc_rectangle_count_total_prefix_decoded. cb = ff_q_erc_rectangle_count_total_prefix_decoded * S ((S (erc_row_rectangle_count_total_prefix)) * cc) + (erc_count_rectangle_count_total_prefix))) /\ (exists erc_row_code_rectangle_count_total_prefix_witness erc_row_scale_rectangle_count_total_prefix_witness. ((forall eri_column_erc_rectangle_count_total_prefix_witness_row. (exists eri_gap_erc_rectangle_count_total_prefix_witness_row_bound. eri_gap_erc_rectangle_count_total_prefix_witness_row_bound + S (eri_column_erc_rectangle_count_total_prefix_witness_row) = k) -> exists eri_bit_erc_rectangle_count_total_prefix_witness_row. ((((exists ff_h_eri_erc_rectangle_count_total_prefix_witness_row_decoded. ff_h_eri_erc_rectangle_count_total_prefix_witness_row_decoded + S (eri_bit_erc_rectangle_count_total_prefix_witness_row) = S ((S (eri_column_erc_rectangle_count_total_prefix_witness_row)) * erc_row_scale_rectangle_count_total_prefix_witness)) /\ exists ff_q_eri_erc_rectangle_count_total_prefix_witness_row_decoded. erc_row_code_rectangle_count_total_prefix_witness = ff_q_eri_erc_rectangle_count_total_prefix_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_total_prefix_witness_row)) * erc_row_scale_rectangle_count_total_prefix_witness) + (eri_bit_erc_rectangle_count_total_prefix_witness_row))) /\ (((eri_bit_erc_rectangle_count_total_prefix_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_total_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_total_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_total_prefix) = p * S eri_column_erc_rectangle_count_total_prefix_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_total_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_total_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_total_prefix_witness_row) = q * S erc_row_rectangle_count_total_prefix))) \/ (eri_bit_erc_rectangle_count_total_prefix_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_total_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_total_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_total_prefix_witness_row) = q * S erc_row_rectangle_count_total_prefix) /\ ~(exists eri_gap_erc_rectangle_count_total_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_total_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_total_prefix) = p * S eri_column_erc_rectangle_count_total_prefix_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_total_prefix_witness_count_sum ff_v_erc_rectangle_count_total_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_total_prefix_witness_count_sum_start. ff_h_erc_rectangle_count_total_prefix_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_total_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_total_prefix_witness_count_sum_start. ff_u_erc_rectangle_count_total_prefix_witness_count_sum = ff_q_erc_rectangle_count_total_prefix_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_total_prefix_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_total_prefix_witness_count_sum_terminal. ff_h_erc_rectangle_count_total_prefix_witness_count_sum_terminal + S (erc_count_rectangle_count_total_prefix) = S ((S (k)) * ff_v_erc_rectangle_count_total_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_total_prefix_witness_count_sum_terminal. ff_u_erc_rectangle_count_total_prefix_witness_count_sum = ff_q_erc_rectangle_count_total_prefix_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_total_prefix_witness_count_sum) + (erc_count_rectangle_count_total_prefix))) /\ forall ff_i_erc_rectangle_count_total_prefix_witness_count_sum. (exists ff_lt_erc_rectangle_count_total_prefix_witness_count_sum_bound. ff_lt_erc_rectangle_count_total_prefix_witness_count_sum_bound + S ff_i_erc_rectangle_count_total_prefix_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_total_prefix_witness_count_sum ff_r_erc_rectangle_count_total_prefix_witness_count_sum ff_s_erc_rectangle_count_total_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_total_prefix_witness_count_sum_summand. ff_h_erc_rectangle_count_total_prefix_witness_count_sum_summand + S (ff_a_erc_rectangle_count_total_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_total_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_total_prefix_witness)) /\ exists ff_q_erc_rectangle_count_total_prefix_witness_count_sum_summand. erc_row_code_rectangle_count_total_prefix_witness = ff_q_erc_rectangle_count_total_prefix_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_total_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_total_prefix_witness) + (ff_a_erc_rectangle_count_total_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_total_prefix_witness_count_sum_partial. ff_h_erc_rectangle_count_total_prefix_witness_count_sum_partial + S (ff_r_erc_rectangle_count_total_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_total_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_total_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_total_prefix_witness_count_sum_partial. ff_u_erc_rectangle_count_total_prefix_witness_count_sum = ff_q_erc_rectangle_count_total_prefix_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_total_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_total_prefix_witness_count_sum) + (ff_r_erc_rectangle_count_total_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_total_prefix_witness_count_sum_successor. ff_h_erc_rectangle_count_total_prefix_witness_count_sum_successor + S (ff_s_erc_rectangle_count_total_prefix_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_total_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_total_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_total_prefix_witness_count_sum_successor. ff_u_erc_rectangle_count_total_prefix_witness_count_sum = ff_q_erc_rectangle_count_total_prefix_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_total_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_total_prefix_witness_count_sum) + (ff_s_erc_rectangle_count_total_prefix_witness_count_sum))) /\ ff_s_erc_rectangle_count_total_prefix_witness_count_sum = ff_r_erc_rectangle_count_total_prefix_witness_count_sum + ff_a_erc_rectangle_count_total_prefix_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_total_prefix_witness_count_bits. (exists ff_lt_erc_rectangle_count_total_prefix_witness_count_bits_bound. ff_lt_erc_rectangle_count_total_prefix_witness_count_bits_bound + S ff_i_erc_rectangle_count_total_prefix_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_total_prefix_witness_count_bits. ((((exists ff_h_erc_rectangle_count_total_prefix_witness_count_bits_decoded. ff_h_erc_rectangle_count_total_prefix_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_total_prefix_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_total_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_total_prefix_witness)) /\ exists ff_q_erc_rectangle_count_total_prefix_witness_count_bits_decoded. erc_row_code_rectangle_count_total_prefix_witness = ff_q_erc_rectangle_count_total_prefix_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_total_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_total_prefix_witness) + (ff_bit_erc_rectangle_count_total_prefix_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_total_prefix_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_total_prefix_witness_count_bits = 1))))))))) /\ (exists ff_u_rectangle_count_total_sum ff_v_rectangle_count_total_sum. ((((exists ff_h_rectangle_count_total_sum_start. ff_h_rectangle_count_total_sum_start + S (0) = S ((S (0)) * ff_v_rectangle_count_total_sum)) /\ exists ff_q_rectangle_count_total_sum_start. ff_u_rectangle_count_total_sum = ff_q_rectangle_count_total_sum_start * S ((S (0)) * ff_v_rectangle_count_total_sum) + (0))) /\ ((((exists ff_h_rectangle_count_total_sum_terminal. ff_h_rectangle_count_total_sum_terminal + S (total) = S ((S (h)) * ff_v_rectangle_count_total_sum)) /\ exists ff_q_rectangle_count_total_sum_terminal. ff_u_rectangle_count_total_sum = ff_q_rectangle_count_total_sum_terminal * S ((S (h)) * ff_v_rectangle_count_total_sum) + (total))) /\ forall ff_i_rectangle_count_total_sum. (exists ff_lt_rectangle_count_total_sum_bound. ff_lt_rectangle_count_total_sum_bound + S ff_i_rectangle_count_total_sum = h) -> exists ff_a_rectangle_count_total_sum ff_r_rectangle_count_total_sum ff_s_rectangle_count_total_sum. ((((exists ff_h_rectangle_count_total_sum_summand. ff_h_rectangle_count_total_sum_summand + S (ff_a_rectangle_count_total_sum) = S ((S (ff_i_rectangle_count_total_sum)) * cc)) /\ exists ff_q_rectangle_count_total_sum_summand. cb = ff_q_rectangle_count_total_sum_summand * S ((S (ff_i_rectangle_count_total_sum)) * cc) + (ff_a_rectangle_count_total_sum))) /\ ((((exists ff_h_rectangle_count_total_sum_partial. ff_h_rectangle_count_total_sum_partial + S (ff_r_rectangle_count_total_sum) = S ((S (ff_i_rectangle_count_total_sum)) * ff_v_rectangle_count_total_sum)) /\ exists ff_q_rectangle_count_total_sum_partial. ff_u_rectangle_count_total_sum = ff_q_rectangle_count_total_sum_partial * S ((S (ff_i_rectangle_count_total_sum)) * ff_v_rectangle_count_total_sum) + (ff_r_rectangle_count_total_sum))) /\ ((((exists ff_h_rectangle_count_total_sum_successor. ff_h_rectangle_count_total_sum_successor + S (ff_s_rectangle_count_total_sum) = S ((S (S ff_i_rectangle_count_total_sum)) * ff_v_rectangle_count_total_sum)) /\ exists ff_q_rectangle_count_total_sum_successor. ff_u_rectangle_count_total_sum = ff_q_rectangle_count_total_sum_successor * S ((S (S ff_i_rectangle_count_total_sum)) * ff_v_rectangle_count_total_sum) + (ff_s_rectangle_count_total_sum))) /\ ff_s_rectangle_count_total_sum = ff_r_rectangle_count_total_sum + ff_a_rectangle_count_total_sum))))))))

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.

Read the argument

Proof checkpoints

34 script commands · 9 reading checkpoints · 2 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–9

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

  1. L1
    intro p
  2. L2
    intro q
  3. L3
    intro h
  4. L4
    intro k
  5. L5
    intro hpodd
  6. L6
    intro hqodd
  7. L7
    intro hp
  8. L8
    intro hq
  9. L9
    intro hpq
02Establish hprefixL10–19

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply distinct odd prime half row count prefix exists.

  1. L10
    have hprefix : ∃ cb. ∃ cc. ∀ x. Lt(x,h) → ∃ y. BetaAt(cb,cc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(q · S x,p · S m) ∧ ¬Lt(p · S m,q · S x)) ∨ i = 1 ∧ (Lt(p · S m,q · S x) ∧ ¬Lt(q · S x,p · S m)))) ∧ BitCount(z,n,k,y))Definitions: Lt(x,h)BetaAt(cb,cc,x,y)Lt(m,k)BetaAt(z,n,m,i)Lt(q · S x,p · S m)Lt(p · S m,q · S x)BitCount(z,n,k,y)Original native command in the exact edition
  2. L11
    specialize distinct_odd_prime_half_row_count_prefix_exists p
  3. L12
    specialize distinct_odd_prime_half_row_count_prefix_exists q
  4. L13
    specialize distinct_odd_prime_half_row_count_prefix_exists h
  5. L14
    specialize distinct_odd_prime_half_row_count_prefix_exists k
  6. L15
    apply distinct_odd_prime_half_row_count_prefix_exists
  7. L16
    exact hpodd
  8. L17
    exact hqodd
  9. L18
    exact hp
  10. L19
    exact hq
03Use earlier factsL20–20

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

  1. L20
    exact hpq
04Separate the logical casesL21–22

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L21
    cases hprefix
  2. L22
    cases hprefix_witness
05Establish hsumL23–27

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

  1. L23
    have hsum : ∃ total. Sum(x,x1,h,total)Definitions: Sum(x,x1,h,total)Original native command in the exact edition
  2. L24
    specialize beta_sum_exists x
  3. L25
    specialize beta_sum_exists x1
  4. L26
    specialize beta_sum_exists h
  5. L27
    exact beta_sum_exists
06Separate the logical casesL28–28

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L28
    cases hsum
07Construct an explicit witnessL29–31

Supply the displayed value, then prove that it has the required property.

  1. L29
    exists x
  2. L30
    exists x1
  3. L31
    exists x2
08Separate the logical casesL32–32

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L32
    split
09Use earlier factsL33–34

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

  1. L33
    exact hprefix_witness_witness
  2. L34
    exact hsum_witness

Library-wide reading audit

Original defined command ledger · 34 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro h
  4. 0004intro k
  5. 0005intro hpodd
  6. 0006intro hqodd
  7. 0007intro hp
  8. 0008intro hq
  9. 0009intro hpq
  10. 0010have hprefix : ∃ cb. ∃ cc. ∀ x. Lt(x,h) → ∃ y. BetaAt(cb,cc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(q · S x,p · S m) ∧ ¬Lt(p · S m,q · S x)) ∨ i = 1 ∧ (Lt(p · S m,q · S x) ∧ ¬Lt(q · S x,p · S m)))) ∧ BitCount(z,n,k,y))
    Exact native replay linehave hprefix : exists cb cc. (forall erc_row_rectangle_count_full_prefix. (exists erc_lt_gap_rectangle_count_full_prefix_bound. erc_lt_gap_rectangle_count_full_prefix_bound + S (erc_row_rectangle_count_full_prefix) = h) -> exists erc_count_rectangle_count_full_prefix. ((((exists ff_h_erc_rectangle_count_full_prefix_decoded. ff_h_erc_rectangle_count_full_prefix_decoded + S (erc_count_rectangle_count_full_prefix) = S ((S (erc_row_rectangle_count_full_prefix)) * cc)) /\ exists ff_q_erc_rectangle_count_full_prefix_decoded. cb = ff_q_erc_rectangle_count_full_prefix_decoded * S ((S (erc_row_rectangle_count_full_prefix)) * cc) + (erc_count_rectangle_count_full_prefix))) /\ (exists erc_row_code_rectangle_count_full_prefix_witness erc_row_scale_rectangle_count_full_prefix_witness. ((forall eri_column_erc_rectangle_count_full_prefix_witness_row. (exists eri_gap_erc_rectangle_count_full_prefix_witness_row_bound. eri_gap_erc_rectangle_count_full_prefix_witness_row_bound + S (eri_column_erc_rectangle_count_full_prefix_witness_row) = k) -> exists eri_bit_erc_rectangle_count_full_prefix_witness_row. ((((exists ff_h_eri_erc_rectangle_count_full_prefix_witness_row_decoded. ff_h_eri_erc_rectangle_count_full_prefix_witness_row_decoded + S (eri_bit_erc_rectangle_count_full_prefix_witness_row) = S ((S (eri_column_erc_rectangle_count_full_prefix_witness_row)) * erc_row_scale_rectangle_count_full_prefix_witness)) /\ exists ff_q_eri_erc_rectangle_count_full_prefix_witness_row_decoded. erc_row_code_rectangle_count_full_prefix_witness = ff_q_eri_erc_rectangle_count_full_prefix_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_full_prefix_witness_row)) * erc_row_scale_rectangle_count_full_prefix_witness) + (eri_bit_erc_rectangle_count_full_prefix_witness_row))) /\ (((eri_bit_erc_rectangle_count_full_prefix_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_full_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_full_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_full_prefix) = p * S eri_column_erc_rectangle_count_full_prefix_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_full_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_full_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_full_prefix_witness_row) = q * S erc_row_rectangle_count_full_prefix))) \/ (eri_bit_erc_rectangle_count_full_prefix_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_full_prefix_witness_row_choice_right. eri_gap_erc_rectangle_count_full_prefix_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_full_prefix_witness_row) = q * S erc_row_rectangle_count_full_prefix) /\ ~(exists eri_gap_erc_rectangle_count_full_prefix_witness_row_choice_left. eri_gap_erc_rectangle_count_full_prefix_witness_row_choice_left + S (q * S erc_row_rectangle_count_full_prefix) = p * S eri_column_erc_rectangle_count_full_prefix_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_full_prefix_witness_count_sum ff_v_erc_rectangle_count_full_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_full_prefix_witness_count_sum_start. ff_h_erc_rectangle_count_full_prefix_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_full_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_full_prefix_witness_count_sum_start. ff_u_erc_rectangle_count_full_prefix_witness_count_sum = ff_q_erc_rectangle_count_full_prefix_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_full_prefix_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_full_prefix_witness_count_sum_terminal. ff_h_erc_rectangle_count_full_prefix_witness_count_sum_terminal + S (erc_count_rectangle_count_full_prefix) = S ((S (k)) * ff_v_erc_rectangle_count_full_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_full_prefix_witness_count_sum_terminal. ff_u_erc_rectangle_count_full_prefix_witness_count_sum = ff_q_erc_rectangle_count_full_prefix_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_full_prefix_witness_count_sum) + (erc_count_rectangle_count_full_prefix))) /\ forall ff_i_erc_rectangle_count_full_prefix_witness_count_sum. (exists ff_lt_erc_rectangle_count_full_prefix_witness_count_sum_bound. ff_lt_erc_rectangle_count_full_prefix_witness_count_sum_bound + S ff_i_erc_rectangle_count_full_prefix_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_full_prefix_witness_count_sum ff_r_erc_rectangle_count_full_prefix_witness_count_sum ff_s_erc_rectangle_count_full_prefix_witness_count_sum. ((((exists ff_h_erc_rectangle_count_full_prefix_witness_count_sum_summand. ff_h_erc_rectangle_count_full_prefix_witness_count_sum_summand + S (ff_a_erc_rectangle_count_full_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_full_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_full_prefix_witness)) /\ exists ff_q_erc_rectangle_count_full_prefix_witness_count_sum_summand. erc_row_code_rectangle_count_full_prefix_witness = ff_q_erc_rectangle_count_full_prefix_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_full_prefix_witness_count_sum)) * erc_row_scale_rectangle_count_full_prefix_witness) + (ff_a_erc_rectangle_count_full_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_full_prefix_witness_count_sum_partial. ff_h_erc_rectangle_count_full_prefix_witness_count_sum_partial + S (ff_r_erc_rectangle_count_full_prefix_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_full_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_full_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_full_prefix_witness_count_sum_partial. ff_u_erc_rectangle_count_full_prefix_witness_count_sum = ff_q_erc_rectangle_count_full_prefix_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_full_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_full_prefix_witness_count_sum) + (ff_r_erc_rectangle_count_full_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_full_prefix_witness_count_sum_successor. ff_h_erc_rectangle_count_full_prefix_witness_count_sum_successor + S (ff_s_erc_rectangle_count_full_prefix_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_full_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_full_prefix_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_full_prefix_witness_count_sum_successor. ff_u_erc_rectangle_count_full_prefix_witness_count_sum = ff_q_erc_rectangle_count_full_prefix_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_full_prefix_witness_count_sum)) * ff_v_erc_rectangle_count_full_prefix_witness_count_sum) + (ff_s_erc_rectangle_count_full_prefix_witness_count_sum))) /\ ff_s_erc_rectangle_count_full_prefix_witness_count_sum = ff_r_erc_rectangle_count_full_prefix_witness_count_sum + ff_a_erc_rectangle_count_full_prefix_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_full_prefix_witness_count_bits. (exists ff_lt_erc_rectangle_count_full_prefix_witness_count_bits_bound. ff_lt_erc_rectangle_count_full_prefix_witness_count_bits_bound + S ff_i_erc_rectangle_count_full_prefix_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_full_prefix_witness_count_bits. ((((exists ff_h_erc_rectangle_count_full_prefix_witness_count_bits_decoded. ff_h_erc_rectangle_count_full_prefix_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_full_prefix_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_full_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_full_prefix_witness)) /\ exists ff_q_erc_rectangle_count_full_prefix_witness_count_bits_decoded. erc_row_code_rectangle_count_full_prefix_witness = ff_q_erc_rectangle_count_full_prefix_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_full_prefix_witness_count_bits)) * erc_row_scale_rectangle_count_full_prefix_witness) + (ff_bit_erc_rectangle_count_full_prefix_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_full_prefix_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_full_prefix_witness_count_bits = 1)))))))))
  11. 0011specialize distinct_odd_prime_half_row_count_prefix_exists p
  12. 0012specialize distinct_odd_prime_half_row_count_prefix_exists q
  13. 0013specialize distinct_odd_prime_half_row_count_prefix_exists h
  14. 0014specialize distinct_odd_prime_half_row_count_prefix_exists k
  15. 0015apply distinct_odd_prime_half_row_count_prefix_exists
  16. 0016exact hpodd
  17. 0017exact hqodd
  18. 0018exact hp
  19. 0019exact hq
  20. 0020exact hpq
  21. 0021cases hprefix
  22. 0022cases hprefix_witness
  23. 0023have hsum : ∃ total. Sum(x,x1,h,total)
    Exact native replay linehave hsum : exists total. (exists ff_u_rectangle_count_total_witness_sum ff_v_rectangle_count_total_witness_sum. ((((exists ff_h_rectangle_count_total_witness_sum_start. ff_h_rectangle_count_total_witness_sum_start + S (0) = S ((S (0)) * ff_v_rectangle_count_total_witness_sum)) /\ exists ff_q_rectangle_count_total_witness_sum_start. ff_u_rectangle_count_total_witness_sum = ff_q_rectangle_count_total_witness_sum_start * S ((S (0)) * ff_v_rectangle_count_total_witness_sum) + (0))) /\ ((((exists ff_h_rectangle_count_total_witness_sum_terminal. ff_h_rectangle_count_total_witness_sum_terminal + S (total) = S ((S (h)) * ff_v_rectangle_count_total_witness_sum)) /\ exists ff_q_rectangle_count_total_witness_sum_terminal. ff_u_rectangle_count_total_witness_sum = ff_q_rectangle_count_total_witness_sum_terminal * S ((S (h)) * ff_v_rectangle_count_total_witness_sum) + (total))) /\ forall ff_i_rectangle_count_total_witness_sum. (exists ff_lt_rectangle_count_total_witness_sum_bound. ff_lt_rectangle_count_total_witness_sum_bound + S ff_i_rectangle_count_total_witness_sum = h) -> exists ff_a_rectangle_count_total_witness_sum ff_r_rectangle_count_total_witness_sum ff_s_rectangle_count_total_witness_sum. ((((exists ff_h_rectangle_count_total_witness_sum_summand. ff_h_rectangle_count_total_witness_sum_summand + S (ff_a_rectangle_count_total_witness_sum) = S ((S (ff_i_rectangle_count_total_witness_sum)) * x1)) /\ exists ff_q_rectangle_count_total_witness_sum_summand. x = ff_q_rectangle_count_total_witness_sum_summand * S ((S (ff_i_rectangle_count_total_witness_sum)) * x1) + (ff_a_rectangle_count_total_witness_sum))) /\ ((((exists ff_h_rectangle_count_total_witness_sum_partial. ff_h_rectangle_count_total_witness_sum_partial + S (ff_r_rectangle_count_total_witness_sum) = S ((S (ff_i_rectangle_count_total_witness_sum)) * ff_v_rectangle_count_total_witness_sum)) /\ exists ff_q_rectangle_count_total_witness_sum_partial. ff_u_rectangle_count_total_witness_sum = ff_q_rectangle_count_total_witness_sum_partial * S ((S (ff_i_rectangle_count_total_witness_sum)) * ff_v_rectangle_count_total_witness_sum) + (ff_r_rectangle_count_total_witness_sum))) /\ ((((exists ff_h_rectangle_count_total_witness_sum_successor. ff_h_rectangle_count_total_witness_sum_successor + S (ff_s_rectangle_count_total_witness_sum) = S ((S (S ff_i_rectangle_count_total_witness_sum)) * ff_v_rectangle_count_total_witness_sum)) /\ exists ff_q_rectangle_count_total_witness_sum_successor. ff_u_rectangle_count_total_witness_sum = ff_q_rectangle_count_total_witness_sum_successor * S ((S (S ff_i_rectangle_count_total_witness_sum)) * ff_v_rectangle_count_total_witness_sum) + (ff_s_rectangle_count_total_witness_sum))) /\ ff_s_rectangle_count_total_witness_sum = ff_r_rectangle_count_total_witness_sum + ff_a_rectangle_count_total_witness_sum))))))
  24. 0024specialize beta_sum_exists x
  25. 0025specialize beta_sum_exists x1
  26. 0026specialize beta_sum_exists h
  27. 0027exact beta_sum_exists
  28. 0028cases hsum
  29. 0029exists x
  30. 0030exists x1
  31. 0031exists x2
  32. 0032split
  33. 0033exact hprefix_witness_witness
  34. 0034exact hsum_witness