apply (Int.add_eq_add_of_natAbs_eq_of_natAbs_eq hab _ _).symm <;>
    apply Int.natAbs_eq_of_dvd_dvd <;> set u := P.eval t
case neg.intro.intro
P : ℤ[X]
hP : 1 < P.natDegree
hPX : (P - X).natDegree = P.natDegree
hPX' : P - X ≠ 0
H : ¬(P.comp P - X).roots.toFinset ⊆ (P - X).roots.toFinset
a : ℤ
b : ℤ := Polynomial.eval a P
hab : ¬b = a
ha : Polynomial.eval b P = a
hPab : (P + X - ↑a - ↑b).natDegree = P.natDegree
hPab' : P + X - ↑a - ↑b ≠ 0
t : ℤ
ht : Polynomial.eval (Polynomial.eval t P) P = t
⊢ Polynomial.eval t P + t = b + a
case hmn
P : ℤ[X]
hP : 1 < P.natDegree
hPX : (P - X).natDegree = P.natDegree
hPX' : P - X ≠ 0
H : ¬(P.comp P - X).roots.toFinset ⊆ (P - X).roots.toFinset
a : ℤ
b : ℤ := Polynomial.eval a P
hab : ¬b = a
ha : Polynomial.eval b P = a
hPab : (P + X - ↑a - ↑b).natDegree = P.natDegree
hPab' : P + X - ↑a - ↑b ≠ 0
t : ℤ
u : ℤ := Polynomial.eval t P
ht : Polynomial.eval u P = t
⊢ u - b ∣ t - a

case hnm
P : ℤ[X]
hP : 1 < P.natDegree
hPX : (P - X).natDegree = P.natDegree
hPX' : P - X ≠ 0
H : ¬(P.comp P - X).roots.toFinset ⊆ (P - X).roots.toFinset
a : ℤ
b : ℤ := Polynomial.eval a P
hab : ¬b = a
ha : Polynomial.eval b P = a
hPab : (P + X - ↑a - ↑b).natDegree = P.natDegree
hPab' : P + X - ↑a - ↑b ≠ 0
t : ℤ
u : ℤ := Polynomial.eval t P
ht : Polynomial.eval u P = t
⊢ t - a ∣ u - b

case hmn
P : ℤ[X]
hP : 1 < P.natDegree
hPX : (P - X).natDegree = P.natDegree
hPX' : P - X ≠ 0
H : ¬(P.comp P - X).roots.toFinset ⊆ (P - X).roots.toFinset
a : ℤ
b : ℤ := Polynomial.eval a P
hab : ¬b = a
ha : Polynomial.eval b P = a
hPab : (P + X - ↑a - ↑b).natDegree = P.natDegree
hPab' : P + X - ↑a - ↑b ≠ 0
t : ℤ
u : ℤ := Polynomial.eval t P
ht : Polynomial.eval u P = t
⊢ u - a ∣ t - b

case hnm
P : ℤ[X]
hP : 1 < P.natDegree
hPX : (P - X).natDegree = P.natDegree
hPX' : P - X ≠ 0
H : ¬(P.comp P - X).roots.toFinset ⊆ (P - X).roots.toFinset
a : ℤ
b : ℤ := Polynomial.eval a P
hab : ¬b = a
ha : Polynomial.eval b P = a
hPab : (P + X - ↑a - ↑b).natDegree = P.natDegree
hPab' : P + X - ↑a - ↑b ≠ 0
t : ℤ
u : ℤ := Polynomial.eval t P
ht : Polynomial.eval u P = t
⊢ t - b ∣ u - a