PA00ED · theorem

eisenstein_transposed_column_pointwise_complement

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

Every decoded original-row bit and constructed column bit are exact complements.

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. ∀ i. ∀ rb. ∀ rc. ∀ bb. ∀ bc. ∀ z. ∀ e. ∀ j. ∀ a. ∀ d. (∀ x. Lt(x,k) → ∃ y. BetaAt(rb,rc,x,y) ∧ (y = 0 ∧ (Lt(q · S i,p · S x) ∧ ¬Lt(p · S x,q · S i)) ∨ y = 1 ∧ (Lt(p · S x,q · S i) ∧ ¬Lt(q · S i,p · S x)))) → (∀ x. Lt(x,k) → ∃ y. BetaAt(z,e,x,y) ∧ (∃ n. ∃ m. ∃ u. BetaAt(bb,bc,x,n) ∧ (∀ v. Lt(v,h) → ∃ w. BetaAt(m,u,v,w) ∧ (w = 0 ∧ (Lt(p · S x,q · S v) ∧ ¬Lt(q · S v,p · S x)) ∨ w = 1 ∧ (Lt(q · S v,p · S x) ∧ ¬Lt(p · S x,q · S v)))) ∧ BitCount(m,u,h,n)BetaAt(m,u,i,y))) → Lt(i,h)Lt(j,k)BetaAt(rb,rc,j,a)BetaAt(z,e,j,d) → a = 0 ∧ d = 1 ∨ a = 1 ∧ d = 0

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

21 occurrences

In local proof propositions

10 occurrences

Exact expanded native-PA statement
forall p q h k i rb rc bb bc z e j a d. (forall eri_column_transposed_column_original_row. (exists eri_gap_transposed_column_original_row_bound. eri_gap_transposed_column_original_row_bound + S (eri_column_transposed_column_original_row) = k) -> exists eri_bit_transposed_column_original_row. ((((exists ff_h_eri_transposed_column_original_row_decoded. ff_h_eri_transposed_column_original_row_decoded + S (eri_bit_transposed_column_original_row) = S ((S (eri_column_transposed_column_original_row)) * rc)) /\ exists ff_q_eri_transposed_column_original_row_decoded. rb = ff_q_eri_transposed_column_original_row_decoded * S ((S (eri_column_transposed_column_original_row)) * rc) + (eri_bit_transposed_column_original_row))) /\ (((eri_bit_transposed_column_original_row = 0 /\ ((exists eri_gap_transposed_column_original_row_choice_left. eri_gap_transposed_column_original_row_choice_left + S (q * S i) = p * S eri_column_transposed_column_original_row) /\ ~(exists eri_gap_transposed_column_original_row_choice_right. eri_gap_transposed_column_original_row_choice_right + S (p * S eri_column_transposed_column_original_row) = q * S i))) \/ (eri_bit_transposed_column_original_row = 1 /\ ((exists eri_gap_transposed_column_original_row_choice_right. eri_gap_transposed_column_original_row_choice_right + S (p * S eri_column_transposed_column_original_row) = q * S i) /\ ~(exists eri_gap_transposed_column_original_row_choice_left. eri_gap_transposed_column_original_row_choice_left + S (q * S i) = p * S eri_column_transposed_column_original_row))))))) -> (forall etc_row_index_transposed_column_semantic_prefix. (exists edt_lt_gap_transposed_column_semantic_prefix_bound. edt_lt_gap_transposed_column_semantic_prefix_bound + S (etc_row_index_transposed_column_semantic_prefix) = k) -> exists etc_bit_transposed_column_semantic_prefix. ((((exists ff_h_etc_transposed_column_semantic_prefix_decoded. ff_h_etc_transposed_column_semantic_prefix_decoded + S (etc_bit_transposed_column_semantic_prefix) = S ((S (etc_row_index_transposed_column_semantic_prefix)) * e)) /\ exists ff_q_etc_transposed_column_semantic_prefix_decoded. z = ff_q_etc_transposed_column_semantic_prefix_decoded * S ((S (etc_row_index_transposed_column_semantic_prefix)) * e) + (etc_bit_transposed_column_semantic_prefix))) /\ (exists etc_count_transposed_column_semantic_prefix_witness etc_row_code_transposed_column_semantic_prefix_witness etc_row_scale_transposed_column_semantic_prefix_witness. ((((((exists ff_h_etc_transposed_column_semantic_prefix_witness_outer_entry. ff_h_etc_transposed_column_semantic_prefix_witness_outer_entry + S (etc_count_transposed_column_semantic_prefix_witness) = S ((S (etc_row_index_transposed_column_semantic_prefix)) * bc)) /\ exists ff_q_etc_transposed_column_semantic_prefix_witness_outer_entry. bb = ff_q_etc_transposed_column_semantic_prefix_witness_outer_entry * S ((S (etc_row_index_transposed_column_semantic_prefix)) * bc) + (etc_count_transposed_column_semantic_prefix_witness))) /\ (forall eri_column_etc_transposed_column_semantic_prefix_witness_row. (exists eri_gap_etc_transposed_column_semantic_prefix_witness_row_bound. eri_gap_etc_transposed_column_semantic_prefix_witness_row_bound + S (eri_column_etc_transposed_column_semantic_prefix_witness_row) = h) -> exists eri_bit_etc_transposed_column_semantic_prefix_witness_row. ((((exists ff_h_eri_etc_transposed_column_semantic_prefix_witness_row_decoded. ff_h_eri_etc_transposed_column_semantic_prefix_witness_row_decoded + S (eri_bit_etc_transposed_column_semantic_prefix_witness_row) = S ((S (eri_column_etc_transposed_column_semantic_prefix_witness_row)) * etc_row_scale_transposed_column_semantic_prefix_witness)) /\ exists ff_q_eri_etc_transposed_column_semantic_prefix_witness_row_decoded. etc_row_code_transposed_column_semantic_prefix_witness = ff_q_eri_etc_transposed_column_semantic_prefix_witness_row_decoded * S ((S (eri_column_etc_transposed_column_semantic_prefix_witness_row)) * etc_row_scale_transposed_column_semantic_prefix_witness) + (eri_bit_etc_transposed_column_semantic_prefix_witness_row))) /\ (((eri_bit_etc_transposed_column_semantic_prefix_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_semantic_prefix_witness_row_choice_left. eri_gap_etc_transposed_column_semantic_prefix_witness_row_choice_left + S (p * S etc_row_index_transposed_column_semantic_prefix) = q * S eri_column_etc_transposed_column_semantic_prefix_witness_row) /\ ~(exists eri_gap_etc_transposed_column_semantic_prefix_witness_row_choice_right. eri_gap_etc_transposed_column_semantic_prefix_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_semantic_prefix_witness_row) = p * S etc_row_index_transposed_column_semantic_prefix))) \/ (eri_bit_etc_transposed_column_semantic_prefix_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_semantic_prefix_witness_row_choice_right. eri_gap_etc_transposed_column_semantic_prefix_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_semantic_prefix_witness_row) = p * S etc_row_index_transposed_column_semantic_prefix) /\ ~(exists eri_gap_etc_transposed_column_semantic_prefix_witness_row_choice_left. eri_gap_etc_transposed_column_semantic_prefix_witness_row_choice_left + S (p * S etc_row_index_transposed_column_semantic_prefix) = q * S eri_column_etc_transposed_column_semantic_prefix_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_semantic_prefix_witness_count_relation_sum ff_v_etc_transposed_column_semantic_prefix_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_start. ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_start. ff_u_etc_transposed_column_semantic_prefix_witness_count_relation_sum = ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_semantic_prefix_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_terminal + S (etc_count_transposed_column_semantic_prefix_witness) = S ((S (h)) * ff_v_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_semantic_prefix_witness_count_relation_sum = ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_semantic_prefix_witness_count_relation_sum) + (etc_count_transposed_column_semantic_prefix_witness))) /\ forall ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_semantic_prefix_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_semantic_prefix_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_semantic_prefix_witness_count_relation_sum ff_r_etc_transposed_column_semantic_prefix_witness_count_relation_sum ff_s_etc_transposed_column_semantic_prefix_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_summand. ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_semantic_prefix_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) * etc_row_scale_transposed_column_semantic_prefix_witness)) /\ exists ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_summand. etc_row_code_transposed_column_semantic_prefix_witness = ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) * etc_row_scale_transposed_column_semantic_prefix_witness) + (ff_a_etc_transposed_column_semantic_prefix_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_partial. ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_semantic_prefix_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) * ff_v_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_partial. ff_u_etc_transposed_column_semantic_prefix_witness_count_relation_sum = ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) * ff_v_etc_transposed_column_semantic_prefix_witness_count_relation_sum) + (ff_r_etc_transposed_column_semantic_prefix_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_successor. ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_semantic_prefix_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) * ff_v_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_successor. ff_u_etc_transposed_column_semantic_prefix_witness_count_relation_sum = ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_sum)) * ff_v_etc_transposed_column_semantic_prefix_witness_count_relation_sum) + (ff_s_etc_transposed_column_semantic_prefix_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_semantic_prefix_witness_count_relation_sum = ff_r_etc_transposed_column_semantic_prefix_witness_count_relation_sum + ff_a_etc_transposed_column_semantic_prefix_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_semantic_prefix_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_semantic_prefix_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_semantic_prefix_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_semantic_prefix_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_semantic_prefix_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_bits)) * etc_row_scale_transposed_column_semantic_prefix_witness)) /\ exists ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_bits_decoded. etc_row_code_transposed_column_semantic_prefix_witness = ff_q_etc_transposed_column_semantic_prefix_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_semantic_prefix_witness_count_relation_bits)) * etc_row_scale_transposed_column_semantic_prefix_witness) + (ff_bit_etc_transposed_column_semantic_prefix_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_semantic_prefix_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_semantic_prefix_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_semantic_prefix_witness_inner_entry. ff_h_etc_transposed_column_semantic_prefix_witness_inner_entry + S (etc_bit_transposed_column_semantic_prefix) = S ((S (i)) * etc_row_scale_transposed_column_semantic_prefix_witness)) /\ exists ff_q_etc_transposed_column_semantic_prefix_witness_inner_entry. etc_row_code_transposed_column_semantic_prefix_witness = ff_q_etc_transposed_column_semantic_prefix_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_semantic_prefix_witness) + (etc_bit_transposed_column_semantic_prefix))))))) -> (exists edt_lt_gap_transposed_column_fixed_bound. edt_lt_gap_transposed_column_fixed_bound + S (i) = h) -> (exists edt_lt_gap_transposed_column_pointwise_bound. edt_lt_gap_transposed_column_pointwise_bound + S (j) = k) -> (((exists ff_h_transposed_column_row_entry. ff_h_transposed_column_row_entry + S (a) = S ((S (j)) * rc)) /\ exists ff_q_transposed_column_row_entry. rb = ff_q_transposed_column_row_entry * S ((S (j)) * rc) + (a))) -> (((exists ff_h_transposed_column_column_entry. ff_h_transposed_column_column_entry + S (d) = S ((S (j)) * e)) /\ exists ff_q_transposed_column_column_entry. z = ff_q_transposed_column_column_entry * S ((S (j)) * e) + (d))) -> ((a = 0 /\ d = 1) \/ (a = 1 /\ d = 0))

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

64 script commands · 10 reading checkpoints · 3 local claims

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

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

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

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

  1. L1
    intro p
  2. L2
    intro q
  3. L3
    intro h
  4. L4
    intro k
  5. L5
    intro i
  6. L6
    intro rb
  7. L7
    intro rc
  8. L8
    intro bb
  9. L9
    intro bc
  10. L10
    intro z
02Fix variables and assumptionsL11–20

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

  1. L11
    intro e
  2. L12
    intro j
  3. L13
    intro a
  4. L14
    intro d
  5. L15
    intro hrow
  6. L16
    intro hcolumn
  7. L17
    intro hi
  8. L18
    intro hj
  9. L19
    intro ha
  10. L20
    intro hd
03Establish hstoredL21–24

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcolumn.

  1. L21
    have hstored : ∃ stored. BetaAt(z,e,j,stored) ∧ (∃ x. ∃ y. ∃ n. BetaAt(bb,bc,j,x) ∧ (∀ m. Lt(m,h) → ∃ k. BetaAt(y,n,m,k) ∧ (k = 0 ∧ (Lt(p · S j,q · S m) ∧ ¬Lt(q · S m,p · S j)) ∨ k = 1 ∧ (Lt(q · S m,p · S j) ∧ ¬Lt(p · S j,q · S m)))) ∧ BitCount(y,n,h,x) ∧ BetaAt(y,n,i,stored))Definitions: BetaAt(z,e,j,stored)BetaAt(bb,bc,j,x)Lt(m,h)BetaAt(y,n,m,k)Lt(p · S j,q · S m)Lt(q · S m,p · S j)BitCount(y,n,h,x)BetaAt(y,n,i,stored)Original native command in the exact edition
  2. L22
    specialize hcolumn j
  3. L23
    apply hcolumn
  4. L24
    exact hj
04Separate the logical casesL25–26

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

  1. L25
    cases hstored
  2. L26
    cases hstored_witness
05Establish hsdL27–35

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

  1. L27
    have hsd : x = d
  2. L28
    specialize beta_at_unique z
  3. L29
    specialize beta_at_unique e
  4. L30
    specialize beta_at_unique j
  5. L31
    specialize beta_at_unique x
  6. L32
    specialize beta_at_unique d
  7. L33
    apply beta_at_unique
  8. L34
    exact hstored_witness_left
  9. L35
    exact hd
06Separate the logical casesL36–41

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

  1. L36
    cases hstored_witness_right
  2. L37
    cases hstored_witness_right_witness
  3. L38
    cases hstored_witness_right_witness_witness
  4. L39
    cases hstored_witness_right_witness_witness_witness
  5. L40
    cases hstored_witness_right_witness_witness_witness_left
  6. L41
    cases hstored_witness_right_witness_witness_witness_left_left
07Establish hcomplementL42–51

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

  1. L42
    have hcomplement : ((a = 0 /\ x = 1) \/ (a = 1 /\ x = 0))
  2. L43
    specialize eisenstein_transposed_decoded_cell_bits_complementary p
  3. L44
    specialize eisenstein_transposed_decoded_cell_bits_complementary q
  4. L45
    specialize eisenstein_transposed_decoded_cell_bits_complementary h
  5. L46
    specialize eisenstein_transposed_decoded_cell_bits_complementary k
  6. L47
    specialize eisenstein_transposed_decoded_cell_bits_complementary i
  7. L48
    specialize eisenstein_transposed_decoded_cell_bits_complementary j
  8. L49
    specialize eisenstein_transposed_decoded_cell_bits_complementary rb
  9. L50
    specialize eisenstein_transposed_decoded_cell_bits_complementary rc
  10. L51
    specialize eisenstein_transposed_decoded_cell_bits_complementary x2
08Use earlier factsL52–61

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

  1. L52
    specialize eisenstein_transposed_decoded_cell_bits_complementary x3
  2. L53
    specialize eisenstein_transposed_decoded_cell_bits_complementary a
  3. L54
    specialize eisenstein_transposed_decoded_cell_bits_complementary x
  4. L55
    apply eisenstein_transposed_decoded_cell_bits_complementary
  5. L56
    exact hrow
  6. L57
    exact hstored_witness_right_witness_witness_witness_left_left_right
  7. L58
    exact hj
  8. L59
    exact hi
  9. L60
    exact ha
  10. L61
    exact hstored_witness_right_witness_witness_witness_right
09Calculate and transport equalitiesL62–63

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

  1. L62
    rewrite hsd at hcomplement
  2. L63
    rewrite hsd at hcomplement
10Use earlier factsL64–64

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

  1. L64
    exact hcomplement

Library-wide reading audit

Original defined command ledger · 64 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro h
  4. 0004intro k
  5. 0005intro i
  6. 0006intro rb
  7. 0007intro rc
  8. 0008intro bb
  9. 0009intro bc
  10. 0010intro z
  11. 0011intro e
  12. 0012intro j
  13. 0013intro a
  14. 0014intro d
  15. 0015intro hrow
  16. 0016intro hcolumn
  17. 0017intro hi
  18. 0018intro hj
  19. 0019intro ha
  20. 0020intro hd
  21. 0021have hstored : ∃ stored. BetaAt(z,e,j,stored) ∧ (∃ x. ∃ y. ∃ n. BetaAt(bb,bc,j,x) ∧ (∀ m. Lt(m,h) → ∃ k. BetaAt(y,n,m,k) ∧ (k = 0 ∧ (Lt(p · S j,q · S m) ∧ ¬Lt(q · S m,p · S j)) ∨ k = 1 ∧ (Lt(q · S m,p · S j) ∧ ¬Lt(p · S j,q · S m)))) ∧ BitCount(y,n,h,x)BetaAt(y,n,i,stored))
    Exact native replay linehave hstored : exists stored. ((((exists ff_h_transposed_column_pointwise_stored. ff_h_transposed_column_pointwise_stored + S (stored) = S ((S (j)) * e)) /\ exists ff_q_transposed_column_pointwise_stored. z = ff_q_transposed_column_pointwise_stored * S ((S (j)) * e) + (stored))) /\ (exists etc_count_transposed_column_pointwise_witness etc_row_code_transposed_column_pointwise_witness etc_row_scale_transposed_column_pointwise_witness. ((((((exists ff_h_etc_transposed_column_pointwise_witness_outer_entry. ff_h_etc_transposed_column_pointwise_witness_outer_entry + S (etc_count_transposed_column_pointwise_witness) = S ((S (j)) * bc)) /\ exists ff_q_etc_transposed_column_pointwise_witness_outer_entry. bb = ff_q_etc_transposed_column_pointwise_witness_outer_entry * S ((S (j)) * bc) + (etc_count_transposed_column_pointwise_witness))) /\ (forall eri_column_etc_transposed_column_pointwise_witness_row. (exists eri_gap_etc_transposed_column_pointwise_witness_row_bound. eri_gap_etc_transposed_column_pointwise_witness_row_bound + S (eri_column_etc_transposed_column_pointwise_witness_row) = h) -> exists eri_bit_etc_transposed_column_pointwise_witness_row. ((((exists ff_h_eri_etc_transposed_column_pointwise_witness_row_decoded. ff_h_eri_etc_transposed_column_pointwise_witness_row_decoded + S (eri_bit_etc_transposed_column_pointwise_witness_row) = S ((S (eri_column_etc_transposed_column_pointwise_witness_row)) * etc_row_scale_transposed_column_pointwise_witness)) /\ exists ff_q_eri_etc_transposed_column_pointwise_witness_row_decoded. etc_row_code_transposed_column_pointwise_witness = ff_q_eri_etc_transposed_column_pointwise_witness_row_decoded * S ((S (eri_column_etc_transposed_column_pointwise_witness_row)) * etc_row_scale_transposed_column_pointwise_witness) + (eri_bit_etc_transposed_column_pointwise_witness_row))) /\ (((eri_bit_etc_transposed_column_pointwise_witness_row = 0 /\ ((exists eri_gap_etc_transposed_column_pointwise_witness_row_choice_left. eri_gap_etc_transposed_column_pointwise_witness_row_choice_left + S (p * S j) = q * S eri_column_etc_transposed_column_pointwise_witness_row) /\ ~(exists eri_gap_etc_transposed_column_pointwise_witness_row_choice_right. eri_gap_etc_transposed_column_pointwise_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_pointwise_witness_row) = p * S j))) \/ (eri_bit_etc_transposed_column_pointwise_witness_row = 1 /\ ((exists eri_gap_etc_transposed_column_pointwise_witness_row_choice_right. eri_gap_etc_transposed_column_pointwise_witness_row_choice_right + S (q * S eri_column_etc_transposed_column_pointwise_witness_row) = p * S j) /\ ~(exists eri_gap_etc_transposed_column_pointwise_witness_row_choice_left. eri_gap_etc_transposed_column_pointwise_witness_row_choice_left + S (p * S j) = q * S eri_column_etc_transposed_column_pointwise_witness_row)))))))) /\ (((exists ff_u_etc_transposed_column_pointwise_witness_count_relation_sum ff_v_etc_transposed_column_pointwise_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_start. ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_start + S (0) = S ((S (0)) * ff_v_etc_transposed_column_pointwise_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_start. ff_u_etc_transposed_column_pointwise_witness_count_relation_sum = ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_start * S ((S (0)) * ff_v_etc_transposed_column_pointwise_witness_count_relation_sum) + (0))) /\ ((((exists ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_terminal. ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_terminal + S (etc_count_transposed_column_pointwise_witness) = S ((S (h)) * ff_v_etc_transposed_column_pointwise_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_terminal. ff_u_etc_transposed_column_pointwise_witness_count_relation_sum = ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_terminal * S ((S (h)) * ff_v_etc_transposed_column_pointwise_witness_count_relation_sum) + (etc_count_transposed_column_pointwise_witness))) /\ forall ff_i_etc_transposed_column_pointwise_witness_count_relation_sum. (exists ff_lt_etc_transposed_column_pointwise_witness_count_relation_sum_bound. ff_lt_etc_transposed_column_pointwise_witness_count_relation_sum_bound + S ff_i_etc_transposed_column_pointwise_witness_count_relation_sum = h) -> exists ff_a_etc_transposed_column_pointwise_witness_count_relation_sum ff_r_etc_transposed_column_pointwise_witness_count_relation_sum ff_s_etc_transposed_column_pointwise_witness_count_relation_sum. ((((exists ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_summand. ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_summand + S (ff_a_etc_transposed_column_pointwise_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_pointwise_witness_count_relation_sum)) * etc_row_scale_transposed_column_pointwise_witness)) /\ exists ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_summand. etc_row_code_transposed_column_pointwise_witness = ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_summand * S ((S (ff_i_etc_transposed_column_pointwise_witness_count_relation_sum)) * etc_row_scale_transposed_column_pointwise_witness) + (ff_a_etc_transposed_column_pointwise_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_partial. ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_partial + S (ff_r_etc_transposed_column_pointwise_witness_count_relation_sum) = S ((S (ff_i_etc_transposed_column_pointwise_witness_count_relation_sum)) * ff_v_etc_transposed_column_pointwise_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_partial. ff_u_etc_transposed_column_pointwise_witness_count_relation_sum = ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_partial * S ((S (ff_i_etc_transposed_column_pointwise_witness_count_relation_sum)) * ff_v_etc_transposed_column_pointwise_witness_count_relation_sum) + (ff_r_etc_transposed_column_pointwise_witness_count_relation_sum))) /\ ((((exists ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_successor. ff_h_etc_transposed_column_pointwise_witness_count_relation_sum_successor + S (ff_s_etc_transposed_column_pointwise_witness_count_relation_sum) = S ((S (S ff_i_etc_transposed_column_pointwise_witness_count_relation_sum)) * ff_v_etc_transposed_column_pointwise_witness_count_relation_sum)) /\ exists ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_successor. ff_u_etc_transposed_column_pointwise_witness_count_relation_sum = ff_q_etc_transposed_column_pointwise_witness_count_relation_sum_successor * S ((S (S ff_i_etc_transposed_column_pointwise_witness_count_relation_sum)) * ff_v_etc_transposed_column_pointwise_witness_count_relation_sum) + (ff_s_etc_transposed_column_pointwise_witness_count_relation_sum))) /\ ff_s_etc_transposed_column_pointwise_witness_count_relation_sum = ff_r_etc_transposed_column_pointwise_witness_count_relation_sum + ff_a_etc_transposed_column_pointwise_witness_count_relation_sum)))))) /\ (forall ff_i_etc_transposed_column_pointwise_witness_count_relation_bits. (exists ff_lt_etc_transposed_column_pointwise_witness_count_relation_bits_bound. ff_lt_etc_transposed_column_pointwise_witness_count_relation_bits_bound + S ff_i_etc_transposed_column_pointwise_witness_count_relation_bits = h) -> exists ff_bit_etc_transposed_column_pointwise_witness_count_relation_bits. ((((exists ff_h_etc_transposed_column_pointwise_witness_count_relation_bits_decoded. ff_h_etc_transposed_column_pointwise_witness_count_relation_bits_decoded + S (ff_bit_etc_transposed_column_pointwise_witness_count_relation_bits) = S ((S (ff_i_etc_transposed_column_pointwise_witness_count_relation_bits)) * etc_row_scale_transposed_column_pointwise_witness)) /\ exists ff_q_etc_transposed_column_pointwise_witness_count_relation_bits_decoded. etc_row_code_transposed_column_pointwise_witness = ff_q_etc_transposed_column_pointwise_witness_count_relation_bits_decoded * S ((S (ff_i_etc_transposed_column_pointwise_witness_count_relation_bits)) * etc_row_scale_transposed_column_pointwise_witness) + (ff_bit_etc_transposed_column_pointwise_witness_count_relation_bits))) /\ (ff_bit_etc_transposed_column_pointwise_witness_count_relation_bits = 0 \/ ff_bit_etc_transposed_column_pointwise_witness_count_relation_bits = 1)))))) /\ (((exists ff_h_etc_transposed_column_pointwise_witness_inner_entry. ff_h_etc_transposed_column_pointwise_witness_inner_entry + S (stored) = S ((S (i)) * etc_row_scale_transposed_column_pointwise_witness)) /\ exists ff_q_etc_transposed_column_pointwise_witness_inner_entry. etc_row_code_transposed_column_pointwise_witness = ff_q_etc_transposed_column_pointwise_witness_inner_entry * S ((S (i)) * etc_row_scale_transposed_column_pointwise_witness) + (stored))))))
  22. 0022specialize hcolumn j
  23. 0023apply hcolumn
  24. 0024exact hj
  25. 0025cases hstored
  26. 0026cases hstored_witness
  27. 0027have hsd : x = d
  28. 0028specialize beta_at_unique z
  29. 0029specialize beta_at_unique e
  30. 0030specialize beta_at_unique j
  31. 0031specialize beta_at_unique x
  32. 0032specialize beta_at_unique d
  33. 0033apply beta_at_unique
  34. 0034exact hstored_witness_left
  35. 0035exact hd
  36. 0036cases hstored_witness_right
  37. 0037cases hstored_witness_right_witness
  38. 0038cases hstored_witness_right_witness_witness
  39. 0039cases hstored_witness_right_witness_witness_witness
  40. 0040cases hstored_witness_right_witness_witness_witness_left
  41. 0041cases hstored_witness_right_witness_witness_witness_left_left
  42. 0042have hcomplement : ((a = 0 /\ x = 1) \/ (a = 1 /\ x = 0))
  43. 0043specialize eisenstein_transposed_decoded_cell_bits_complementary p
  44. 0044specialize eisenstein_transposed_decoded_cell_bits_complementary q
  45. 0045specialize eisenstein_transposed_decoded_cell_bits_complementary h
  46. 0046specialize eisenstein_transposed_decoded_cell_bits_complementary k
  47. 0047specialize eisenstein_transposed_decoded_cell_bits_complementary i
  48. 0048specialize eisenstein_transposed_decoded_cell_bits_complementary j
  49. 0049specialize eisenstein_transposed_decoded_cell_bits_complementary rb
  50. 0050specialize eisenstein_transposed_decoded_cell_bits_complementary rc
  51. 0051specialize eisenstein_transposed_decoded_cell_bits_complementary x2
  52. 0052specialize eisenstein_transposed_decoded_cell_bits_complementary x3
  53. 0053specialize eisenstein_transposed_decoded_cell_bits_complementary a
  54. 0054specialize eisenstein_transposed_decoded_cell_bits_complementary x
  55. 0055apply eisenstein_transposed_decoded_cell_bits_complementary
  56. 0056exact hrow
  57. 0057exact hstored_witness_right_witness_witness_witness_left_left_right
  58. 0058exact hj
  59. 0059exact hi
  60. 0060exact ha
  61. 0061exact hstored_witness_right_witness_witness_witness_right
  62. 0062rewrite hsd at hcomplement
  63. 0063rewrite hsd at hcomplement
  64. 0064exact hcomplement