Module docstring
{"# Cast of integers into fields
This file concerns the canonical homomorphism ℤ → F, where F is a field.
Main results
Int.cast_div: ifndividesm, then↑(m / n) = ↑m / ↑n"}
{"# Cast of integers into fields
This file concerns the canonical homomorphism ℤ → F, where F is a field.
Int.cast_div: if n divides m, then ↑(m / n) = ↑m / ↑n
"}Int.cast_neg_natCast
      theorem
     {R} [DivisionRing R] (n : ℕ) : ((-n : ℤ) : R) = -n
        /-- Auxiliary lemma for norm_cast to move the cast `-↑n` upwards to `↑-↑n`.
(The restriction to `DivisionRing` is necessary, otherwise this would also apply in the case where
`R = ℤ` and cause nontermination.)
-/
@[norm_cast]
theorem cast_neg_natCast {R} [DivisionRing R] (n : ℕ) : ((-n : ℤ) : R) = -n := by simp
        Int.cast_div
      theorem
     [DivisionRing α] {m n : ℤ} (n_dvd : n ∣ m) (hn : (n : α) ≠ 0) : ((m / n : ℤ) : α) = m / n
        @[simp]
theorem cast_div [DivisionRing α] {m n : ℤ} (n_dvd : n ∣ m) (hn : (n : α) ≠ 0) :
    ((m / n : ℤ) : α) = m / n := by
  rcases n_dvd with ⟨k, rfl⟩
  have : n ≠ 0 := by rintro rfl; simp at hn
  rw [Int.mul_ediv_cancel_left _ this, mul_comm n, Int.cast_mul, mul_div_cancel_right₀ _ hn]