EI0023

eisenstein_product_integer_congruence

Eisenstein multiplication respects the represented integers in both inputs; overlapping natural representatives cause no ambiguity.

Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable

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.

A floor quotient in the fundamental parallelogram already gives the required strict norm decrease; global nearest-point optimality is not asserted. The shared carrier is identical to the Gaussian carrier, but the multiplication law and norm are different. Eisenstein gcd, factorization, and prime classification remain separate targets.

Exact theorem in conservative defined notation

∀ a. ∀ b. ∀ c. ∀ d. ∀ e. ∀ f. ∀ g. ∀ h. ∀ i. ∀ j. ∀ k. ∀ l. ∀ m. ∀ n. ∀ o. ∀ p. a + f = e + b ∧ c + h = g + d → i + n = m + j ∧ k + p = o + l → EisensteinCoordinateProduct(a,b,c,d,i,j,k,l,e · m + f · n + (g · p + h · o),e · n + f · m + (g · o + h · p),e · o + f · p + (g · m + h · n) + (g · p + h · o),e · p + f · o + (g · n + h · m) + (g · o + h · p))

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall a b c d e f g h i j k l m n o p. (((((a) + (f)) = ((e) + (b))) /\ (((c) + (h)) = ((g) + (d))))) -> (((((i) + (n)) = ((m) + (j))) /\ (((k) + (p)) = ((o) + (l))))) -> (((((((((((a) * (i))) + (((b) * (j))))) + (((((c) * (l))) + (((d) * (k))))))) + (((((((e) * (n))) + (((f) * (m))))) + (((((g) * (o))) + (((h) * (p)))))))) = ((((((((e) * (m))) + (((f) * (n))))) + (((((g) * (p))) + (((h) * (o))))))) + (((((((a) * (j))) + (((b) * (i))))) + (((((c) * (k))) + (((d) * (l))))))))) /\ (((((((((((a) * (k))) + (((b) * (l))))) + (((((c) * (i))) + (((d) * (j))))))) + (((((c) * (l))) + (((d) * (k))))))) + (((((((((e) * (p))) + (((f) * (o))))) + (((((g) * (n))) + (((h) * (m))))))) + (((((g) * (o))) + (((h) * (p)))))))) = ((((((((((e) * (o))) + (((f) * (p))))) + (((((g) * (m))) + (((h) * (n))))))) + (((((g) * (p))) + (((h) * (o))))))) + (((((((((a) * (l))) + (((b) * (k))))) + (((((c) * (j))) + (((d) * (i))))))) + (((((c) * (k))) + (((d) * (l)))))))))))

Complete tactic proof in conservative notation

All 115 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

115 script commands · 13 reading checkpoints · 1 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.

01Fix variables and assumptionsL1–10

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

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro d
  5. L5
    intro e
  6. L6
    intro f
  7. L7
    intro g
  8. L8
    intro h
  9. L9
    intro i
  10. L10
    intro j
02Fix variables and assumptionsL11–18

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

  1. L11
    intro k
  2. L12
    intro l
  3. L13
    intro m
  4. L14
    intro n
  5. L15
    intro o
  6. L16
    intro p
  7. L17
    intro hfirst
  8. L18
    intro hsecond
03Separate the logical casesL19–21

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

  1. L19
    cases hfirst
  2. L20
    cases hsecond
  3. L21
    split
04Use earlier factsL22–31

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

  1. L22
    specialize integer_span_pair_add_congruence ((((a) * (i))) + (((b) * (j))))
  2. L23
    specialize integer_span_pair_add_congruence ((((a) * (j))) + (((b) * (i))))
  3. L24
    specialize integer_span_pair_add_congruence ((((c) * (l))) + (((d) * (k))))
  4. L25
    specialize integer_span_pair_add_congruence ((((c) * (k))) + (((d) * (l))))
  5. L26
    specialize integer_span_pair_add_congruence ((((e) * (m))) + (((f) * (n))))
  6. L27
    specialize integer_span_pair_add_congruence ((((e) * (n))) + (((f) * (m))))
  7. L28
    specialize integer_span_pair_add_congruence ((((g) * (p))) + (((h) * (o))))
  8. L29
    specialize integer_span_pair_add_congruence ((((g) * (o))) + (((h) * (p))))
  9. L30
    apply integer_span_pair_add_congruence
  10. L31
    specialize matrix_integer_pair_product_balance a
05Use earlier factsL32–41

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

  1. L32
    specialize matrix_integer_pair_product_balance b
  2. L33
    specialize matrix_integer_pair_product_balance e
  3. L34
    specialize matrix_integer_pair_product_balance f
  4. L35
    specialize matrix_integer_pair_product_balance i
  5. L36
    specialize matrix_integer_pair_product_balance j
  6. L37
    specialize matrix_integer_pair_product_balance m
  7. L38
    specialize matrix_integer_pair_product_balance n
  8. L39
    apply matrix_integer_pair_product_balance
  9. L40
    exact hfirst_left
  10. L41
    exact hsecond_left
06Use earlier factsL42–51

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

  1. L42
    specialize matrix_integer_pair_negation_balance ((((c) * (k))) + (((d) * (l))))
  2. L43
    specialize matrix_integer_pair_negation_balance ((((c) * (l))) + (((d) * (k))))
  3. L44
    specialize matrix_integer_pair_negation_balance ((((g) * (o))) + (((h) * (p))))
  4. L45
    specialize matrix_integer_pair_negation_balance ((((g) * (p))) + (((h) * (o))))
  5. L46
    apply matrix_integer_pair_negation_balance
  6. L47
    specialize matrix_integer_pair_product_balance c
  7. L48
    specialize matrix_integer_pair_product_balance d
  8. L49
    specialize matrix_integer_pair_product_balance g
  9. L50
    specialize matrix_integer_pair_product_balance h
  10. L51
    specialize matrix_integer_pair_product_balance k
07Use earlier factsL52–57

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

  1. L52
    specialize matrix_integer_pair_product_balance l
  2. L53
    specialize matrix_integer_pair_product_balance o
  3. L54
    specialize matrix_integer_pair_product_balance p
  4. L55
    apply matrix_integer_pair_product_balance
  5. L56
    exact hfirst_right
  6. L57
    exact hsecond_right
08Establish himaginary_sumL58–67

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply integer span pair add congruence.

  1. L58
    have himaginary_sum : ((((((((a) * (k))) + (((b) * (l))))) + (((((c) * (i))) + (((d) * (j))))))) + (((((((e) * (p))) + (((f) * (o))))) + (((((g) * (n))) + (((h) * (m)))))))) = ((((((((e) * (o))) + (((f) * (p))))) + (((((g) * (m))) + (((h) * (n))))))) + (((((((a) * (l))) + (((b) * (k))))) + (((((c) * (j))) + (((d) * (i))))))))
  2. L59
    specialize integer_span_pair_add_congruence ((((a) * (k))) + (((b) * (l))))
  3. L60
    specialize integer_span_pair_add_congruence ((((a) * (l))) + (((b) * (k))))
  4. L61
    specialize integer_span_pair_add_congruence ((((c) * (i))) + (((d) * (j))))
  5. L62
    specialize integer_span_pair_add_congruence ((((c) * (j))) + (((d) * (i))))
  6. L63
    specialize integer_span_pair_add_congruence ((((e) * (o))) + (((f) * (p))))
  7. L64
    specialize integer_span_pair_add_congruence ((((e) * (p))) + (((f) * (o))))
  8. L65
    specialize integer_span_pair_add_congruence ((((g) * (m))) + (((h) * (n))))
  9. L66
    specialize integer_span_pair_add_congruence ((((g) * (n))) + (((h) * (m))))
  10. L67
    apply integer_span_pair_add_congruence
09Use earlier factsL68–77

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

  1. L68
    specialize matrix_integer_pair_product_balance a
  2. L69
    specialize matrix_integer_pair_product_balance b
  3. L70
    specialize matrix_integer_pair_product_balance e
  4. L71
    specialize matrix_integer_pair_product_balance f
  5. L72
    specialize matrix_integer_pair_product_balance k
  6. L73
    specialize matrix_integer_pair_product_balance l
  7. L74
    specialize matrix_integer_pair_product_balance o
  8. L75
    specialize matrix_integer_pair_product_balance p
  9. L76
    apply matrix_integer_pair_product_balance
  10. L77
    exact hfirst_left
10Use earlier factsL78–87

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

  1. L78
    exact hsecond_right
  2. L79
    specialize matrix_integer_pair_product_balance c
  3. L80
    specialize matrix_integer_pair_product_balance d
  4. L81
    specialize matrix_integer_pair_product_balance g
  5. L82
    specialize matrix_integer_pair_product_balance h
  6. L83
    specialize matrix_integer_pair_product_balance i
  7. L84
    specialize matrix_integer_pair_product_balance j
  8. L85
    specialize matrix_integer_pair_product_balance m
  9. L86
    specialize matrix_integer_pair_product_balance n
  10. L87
    apply matrix_integer_pair_product_balance
11Use earlier factsL88–97

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

  1. L88
    exact hfirst_right
  2. L89
    exact hsecond_left
  3. L90
    specialize integer_span_pair_add_congruence ((((((a) * (k))) + (((b) * (l))))) + (((((c) * (i))) + (((d) * (j))))))
  4. L91
    specialize integer_span_pair_add_congruence ((((((a) * (l))) + (((b) * (k))))) + (((((c) * (j))) + (((d) * (i))))))
  5. L92
    specialize integer_span_pair_add_congruence ((((c) * (l))) + (((d) * (k))))
  6. L93
    specialize integer_span_pair_add_congruence ((((c) * (k))) + (((d) * (l))))
  7. L94
    specialize integer_span_pair_add_congruence ((((((e) * (o))) + (((f) * (p))))) + (((((g) * (m))) + (((h) * (n))))))
  8. L95
    specialize integer_span_pair_add_congruence ((((((e) * (p))) + (((f) * (o))))) + (((((g) * (n))) + (((h) * (m))))))
  9. L96
    specialize integer_span_pair_add_congruence ((((g) * (p))) + (((h) * (o))))
  10. L97
    specialize integer_span_pair_add_congruence ((((g) * (o))) + (((h) * (p))))
12Use earlier factsL98–107

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

  1. L98
    apply integer_span_pair_add_congruence
  2. L99
    exact himaginary_sum
  3. L100
    specialize matrix_integer_pair_negation_balance ((((c) * (k))) + (((d) * (l))))
  4. L101
    specialize matrix_integer_pair_negation_balance ((((c) * (l))) + (((d) * (k))))
  5. L102
    specialize matrix_integer_pair_negation_balance ((((g) * (o))) + (((h) * (p))))
  6. L103
    specialize matrix_integer_pair_negation_balance ((((g) * (p))) + (((h) * (o))))
  7. L104
    apply matrix_integer_pair_negation_balance
  8. L105
    specialize matrix_integer_pair_product_balance c
  9. L106
    specialize matrix_integer_pair_product_balance d
  10. L107
    specialize matrix_integer_pair_product_balance g
13Use earlier factsL108–115

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

  1. L108
    specialize matrix_integer_pair_product_balance h
  2. L109
    specialize matrix_integer_pair_product_balance k
  3. L110
    specialize matrix_integer_pair_product_balance l
  4. L111
    specialize matrix_integer_pair_product_balance o
  5. L112
    specialize matrix_integer_pair_product_balance p
  6. L113
    apply matrix_integer_pair_product_balance
  7. L114
    exact hfirst_right
  8. L115
    exact hsecond_right

Library-wide reading audit

Original defined command ledger · 115 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro c
  4. 0004intro d
  5. 0005intro e
  6. 0006intro f
  7. 0007intro g
  8. 0008intro h
  9. 0009intro i
  10. 0010intro j
  11. 0011intro k
  12. 0012intro l
  13. 0013intro m
  14. 0014intro n
  15. 0015intro o
  16. 0016intro p
  17. 0017intro hfirst
  18. 0018intro hsecond
  19. 0019cases hfirst
  20. 0020cases hsecond
  21. 0021split
  22. 0022specialize integer_span_pair_add_congruence ((((a) * (i))) + (((b) * (j))))
  23. 0023specialize integer_span_pair_add_congruence ((((a) * (j))) + (((b) * (i))))
  24. 0024specialize integer_span_pair_add_congruence ((((c) * (l))) + (((d) * (k))))
  25. 0025specialize integer_span_pair_add_congruence ((((c) * (k))) + (((d) * (l))))
  26. 0026specialize integer_span_pair_add_congruence ((((e) * (m))) + (((f) * (n))))
  27. 0027specialize integer_span_pair_add_congruence ((((e) * (n))) + (((f) * (m))))
  28. 0028specialize integer_span_pair_add_congruence ((((g) * (p))) + (((h) * (o))))
  29. 0029specialize integer_span_pair_add_congruence ((((g) * (o))) + (((h) * (p))))
  30. 0030apply integer_span_pair_add_congruence
  31. 0031specialize matrix_integer_pair_product_balance a
  32. 0032specialize matrix_integer_pair_product_balance b
  33. 0033specialize matrix_integer_pair_product_balance e
  34. 0034specialize matrix_integer_pair_product_balance f
  35. 0035specialize matrix_integer_pair_product_balance i
  36. 0036specialize matrix_integer_pair_product_balance j
  37. 0037specialize matrix_integer_pair_product_balance m
  38. 0038specialize matrix_integer_pair_product_balance n
  39. 0039apply matrix_integer_pair_product_balance
  40. 0040exact hfirst_left
  41. 0041exact hsecond_left
  42. 0042specialize matrix_integer_pair_negation_balance ((((c) * (k))) + (((d) * (l))))
  43. 0043specialize matrix_integer_pair_negation_balance ((((c) * (l))) + (((d) * (k))))
  44. 0044specialize matrix_integer_pair_negation_balance ((((g) * (o))) + (((h) * (p))))
  45. 0045specialize matrix_integer_pair_negation_balance ((((g) * (p))) + (((h) * (o))))
  46. 0046apply matrix_integer_pair_negation_balance
  47. 0047specialize matrix_integer_pair_product_balance c
  48. 0048specialize matrix_integer_pair_product_balance d
  49. 0049specialize matrix_integer_pair_product_balance g
  50. 0050specialize matrix_integer_pair_product_balance h
  51. 0051specialize matrix_integer_pair_product_balance k
  52. 0052specialize matrix_integer_pair_product_balance l
  53. 0053specialize matrix_integer_pair_product_balance o
  54. 0054specialize matrix_integer_pair_product_balance p
  55. 0055apply matrix_integer_pair_product_balance
  56. 0056exact hfirst_right
  57. 0057exact hsecond_right
  58. 0058have himaginary_sum : ((((((((a) * (k))) + (((b) * (l))))) + (((((c) * (i))) + (((d) * (j))))))) + (((((((e) * (p))) + (((f) * (o))))) + (((((g) * (n))) + (((h) * (m)))))))) = ((((((((e) * (o))) + (((f) * (p))))) + (((((g) * (m))) + (((h) * (n))))))) + (((((((a) * (l))) + (((b) * (k))))) + (((((c) * (j))) + (((d) * (i))))))))
  59. 0059specialize integer_span_pair_add_congruence ((((a) * (k))) + (((b) * (l))))
  60. 0060specialize integer_span_pair_add_congruence ((((a) * (l))) + (((b) * (k))))
  61. 0061specialize integer_span_pair_add_congruence ((((c) * (i))) + (((d) * (j))))
  62. 0062specialize integer_span_pair_add_congruence ((((c) * (j))) + (((d) * (i))))
  63. 0063specialize integer_span_pair_add_congruence ((((e) * (o))) + (((f) * (p))))
  64. 0064specialize integer_span_pair_add_congruence ((((e) * (p))) + (((f) * (o))))
  65. 0065specialize integer_span_pair_add_congruence ((((g) * (m))) + (((h) * (n))))
  66. 0066specialize integer_span_pair_add_congruence ((((g) * (n))) + (((h) * (m))))
  67. 0067apply integer_span_pair_add_congruence
  68. 0068specialize matrix_integer_pair_product_balance a
  69. 0069specialize matrix_integer_pair_product_balance b
  70. 0070specialize matrix_integer_pair_product_balance e
  71. 0071specialize matrix_integer_pair_product_balance f
  72. 0072specialize matrix_integer_pair_product_balance k
  73. 0073specialize matrix_integer_pair_product_balance l
  74. 0074specialize matrix_integer_pair_product_balance o
  75. 0075specialize matrix_integer_pair_product_balance p
  76. 0076apply matrix_integer_pair_product_balance
  77. 0077exact hfirst_left
  78. 0078exact hsecond_right
  79. 0079specialize matrix_integer_pair_product_balance c
  80. 0080specialize matrix_integer_pair_product_balance d
  81. 0081specialize matrix_integer_pair_product_balance g
  82. 0082specialize matrix_integer_pair_product_balance h
  83. 0083specialize matrix_integer_pair_product_balance i
  84. 0084specialize matrix_integer_pair_product_balance j
  85. 0085specialize matrix_integer_pair_product_balance m
  86. 0086specialize matrix_integer_pair_product_balance n
  87. 0087apply matrix_integer_pair_product_balance
  88. 0088exact hfirst_right
  89. 0089exact hsecond_left
  90. 0090specialize integer_span_pair_add_congruence ((((((a) * (k))) + (((b) * (l))))) + (((((c) * (i))) + (((d) * (j))))))
  91. 0091specialize integer_span_pair_add_congruence ((((((a) * (l))) + (((b) * (k))))) + (((((c) * (j))) + (((d) * (i))))))
  92. 0092specialize integer_span_pair_add_congruence ((((c) * (l))) + (((d) * (k))))
  93. 0093specialize integer_span_pair_add_congruence ((((c) * (k))) + (((d) * (l))))
  94. 0094specialize integer_span_pair_add_congruence ((((((e) * (o))) + (((f) * (p))))) + (((((g) * (m))) + (((h) * (n))))))
  95. 0095specialize integer_span_pair_add_congruence ((((((e) * (p))) + (((f) * (o))))) + (((((g) * (n))) + (((h) * (m))))))
  96. 0096specialize integer_span_pair_add_congruence ((((g) * (p))) + (((h) * (o))))
  97. 0097specialize integer_span_pair_add_congruence ((((g) * (o))) + (((h) * (p))))
  98. 0098apply integer_span_pair_add_congruence
  99. 0099exact himaginary_sum
  100. 0100specialize matrix_integer_pair_negation_balance ((((c) * (k))) + (((d) * (l))))
  101. 0101specialize matrix_integer_pair_negation_balance ((((c) * (l))) + (((d) * (k))))
  102. 0102specialize matrix_integer_pair_negation_balance ((((g) * (o))) + (((h) * (p))))
  103. 0103specialize matrix_integer_pair_negation_balance ((((g) * (p))) + (((h) * (o))))
  104. 0104apply matrix_integer_pair_negation_balance
  105. 0105specialize matrix_integer_pair_product_balance c
  106. 0106specialize matrix_integer_pair_product_balance d
  107. 0107specialize matrix_integer_pair_product_balance g
  108. 0108specialize matrix_integer_pair_product_balance h
  109. 0109specialize matrix_integer_pair_product_balance k
  110. 0110specialize matrix_integer_pair_product_balance l
  111. 0111specialize matrix_integer_pair_product_balance o
  112. 0112specialize matrix_integer_pair_product_balance p
  113. 0113apply matrix_integer_pair_product_balance
  114. 0114exact hfirst_right
  115. 0115exact hsecond_right