PA00EC

eisenstein_transposed_decoded_cell_bits_complementary

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

A decoded cell bit and its swapped-row transpose are exact complements.

Exact expanded PA statement

forall p q h k i j rb rc cb cc a d. (forall eri_column_transpose_row. (exists eri_gap_transpose_row_bound. eri_gap_transpose_row_bound + S (eri_column_transpose_row) = k) -> exists eri_bit_transpose_row. ((((exists ff_h_eri_transpose_row_decoded. ff_h_eri_transpose_row_decoded + S (eri_bit_transpose_row) = S ((S (eri_column_transpose_row)) * rc)) /\ exists ff_q_eri_transpose_row_decoded. rb = ff_q_eri_transpose_row_decoded * S ((S (eri_column_transpose_row)) * rc) + (eri_bit_transpose_row))) /\ (((eri_bit_transpose_row = 0 /\ ((exists eri_gap_transpose_row_choice_left. eri_gap_transpose_row_choice_left + S (q * S i) = p * S eri_column_transpose_row) /\ ~(exists eri_gap_transpose_row_choice_right. eri_gap_transpose_row_choice_right + S (p * S eri_column_transpose_row) = q * S i))) \/ (eri_bit_transpose_row = 1 /\ ((exists eri_gap_transpose_row_choice_right. eri_gap_transpose_row_choice_right + S (p * S eri_column_transpose_row) = q * S i) /\ ~(exists eri_gap_transpose_row_choice_left. eri_gap_transpose_row_choice_left + S (q * S i) = p * S eri_column_transpose_row))))))) -> (forall eri_column_transpose_column. (exists eri_gap_transpose_column_bound. eri_gap_transpose_column_bound + S (eri_column_transpose_column) = h) -> exists eri_bit_transpose_column. ((((exists ff_h_eri_transpose_column_decoded. ff_h_eri_transpose_column_decoded + S (eri_bit_transpose_column) = S ((S (eri_column_transpose_column)) * cc)) /\ exists ff_q_eri_transpose_column_decoded. cb = ff_q_eri_transpose_column_decoded * S ((S (eri_column_transpose_column)) * cc) + (eri_bit_transpose_column))) /\ (((eri_bit_transpose_column = 0 /\ ((exists eri_gap_transpose_column_choice_left. eri_gap_transpose_column_choice_left + S (p * S j) = q * S eri_column_transpose_column) /\ ~(exists eri_gap_transpose_column_choice_right. eri_gap_transpose_column_choice_right + S (q * S eri_column_transpose_column) = p * S j))) \/ (eri_bit_transpose_column = 1 /\ ((exists eri_gap_transpose_column_choice_right. eri_gap_transpose_column_choice_right + S (q * S eri_column_transpose_column) = p * S j) /\ ~(exists eri_gap_transpose_column_choice_left. eri_gap_transpose_column_choice_left + S (p * S j) = q * S eri_column_transpose_column))))))) -> (exists gap. gap + S j = k) -> (exists gap. gap + S i = h) -> (((exists ff_h_transpose_row_entry. ff_h_transpose_row_entry + S (a) = S ((S (j)) * rc)) /\ exists ff_q_transpose_row_entry. rb = ff_q_transpose_row_entry * S ((S (j)) * rc) + (a))) -> (((exists ff_h_transpose_column_entry. ff_h_transpose_column_entry + S (d) = S ((S (i)) * cc)) /\ exists ff_q_transpose_column_entry. cb = ff_q_transpose_column_entry * S ((S (i)) * cc) + (d))) -> ((a = 0 /\ d = 1) \/ (a = 1 /\ d = 0))

Structural proof guide

Generated structural guide

A decoded cell bit and its swapped-row transpose are exact complements.

Use the direct prerequisites eisenstein_row_indicator_decoded_choice as previously established PA formulas.

The proof proceeds by case analysis (13), intermediate claims (2).

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 i
  6. 0006intro j
  7. 0007intro rb
  8. 0008intro rc
  9. 0009intro cb
  10. 0010intro cc
  11. 0011intro a
  12. 0012intro d
  13. 0013intro hrow
  14. 0014intro htransposed_row
  15. 0015intro hj
  16. 0016intro hi
  17. 0017intro ha
  18. 0018intro hd
  19. 0019have horiginal : ((a = 0 /\ ((exists eri_gap_transpose_row_choice_left. eri_gap_transpose_row_choice_left + S (q * S i) = p * S j) /\ ~(exists eri_gap_transpose_row_choice_right. eri_gap_transpose_row_choice_right + S (p * S j) = q * S i))) \/ (a = 1 /\ ((exists eri_gap_transpose_row_choice_right. eri_gap_transpose_row_choice_right + S (p * S j) = q * S i) /\ ~(exists eri_gap_transpose_row_choice_left. eri_gap_transpose_row_choice_left + S (q * S i) = p * S j))))
  20. 0020specialize eisenstein_row_indicator_decoded_choice p
  21. 0021specialize eisenstein_row_indicator_decoded_choice q
  22. 0022specialize eisenstein_row_indicator_decoded_choice i
  23. 0023specialize eisenstein_row_indicator_decoded_choice rb
  24. 0024specialize eisenstein_row_indicator_decoded_choice rc
  25. 0025specialize eisenstein_row_indicator_decoded_choice k
  26. 0026specialize eisenstein_row_indicator_decoded_choice j
  27. 0027specialize eisenstein_row_indicator_decoded_choice a
  28. 0028apply eisenstein_row_indicator_decoded_choice
  29. 0029exact hrow
  30. 0030exact hj
  31. 0031exact ha
  32. 0032have htransposed : ((d = 0 /\ ((exists eri_gap_transpose_column_choice_left. eri_gap_transpose_column_choice_left + S (p * S j) = q * S i) /\ ~(exists eri_gap_transpose_column_choice_right. eri_gap_transpose_column_choice_right + S (q * S i) = p * S j))) \/ (d = 1 /\ ((exists eri_gap_transpose_column_choice_right. eri_gap_transpose_column_choice_right + S (q * S i) = p * S j) /\ ~(exists eri_gap_transpose_column_choice_left. eri_gap_transpose_column_choice_left + S (p * S j) = q * S i))))
  33. 0033specialize eisenstein_row_indicator_decoded_choice q
  34. 0034specialize eisenstein_row_indicator_decoded_choice p
  35. 0035specialize eisenstein_row_indicator_decoded_choice j
  36. 0036specialize eisenstein_row_indicator_decoded_choice cb
  37. 0037specialize eisenstein_row_indicator_decoded_choice cc
  38. 0038specialize eisenstein_row_indicator_decoded_choice h
  39. 0039specialize eisenstein_row_indicator_decoded_choice i
  40. 0040specialize eisenstein_row_indicator_decoded_choice d
  41. 0041apply eisenstein_row_indicator_decoded_choice
  42. 0042exact htransposed_row
  43. 0043exact hi
  44. 0044exact hd
  45. 0045cases horiginal
  46. 0046cases horiginal_left
  47. 0047cases horiginal_left_right
  48. 0048cases htransposed
  49. 0049cases htransposed_left
  50. 0050cases htransposed_left_right
  51. 0051exfalso
  52. 0052apply horiginal_left_right_right
  53. 0053exact htransposed_left_right_left
  54. 0054cases htransposed_right
  55. 0055left
  56. 0056split
  57. 0057exact horiginal_left_left
  58. 0058exact htransposed_right_left
  59. 0059cases horiginal_right
  60. 0060cases horiginal_right_right
  61. 0061cases htransposed
  62. 0062cases htransposed_left
  63. 0063right
  64. 0064split
  65. 0065exact horiginal_right_left
  66. 0066exact htransposed_left_left
  67. 0067cases htransposed_right
  68. 0068cases htransposed_right_right
  69. 0069exfalso
  70. 0070apply horiginal_right_right_right
  71. 0071exact htransposed_right_right_left