simp only [getElem] at lhs_rw
case isTrue
α : Type u_1
a : Array α
i : Nat
i_size : i < a.size
j : Nat
j_size : j < a.size
f : α → α
h : i ≠ j
h✝ : i < a.size
lhs_rw : (a.set ⟨i, i_size⟩ (f (a.get ⟨i, i_size⟩)))[j] = if ↑⟨i, i_size⟩ = j then f (a.get ⟨i, i_size⟩) else a[j]
⊢ (a.set ⟨i, ⋯⟩ (f (a.get ⟨i, ⋯⟩))).get ⟨j, ⋯⟩ = a.get ⟨j, j_size⟩
case isTrue
α : Type u_1
a : Array α
i : Nat
i_size : i < a.size
j : Nat
j_size : j < a.size
f : α → α
h : i ≠ j
h✝ : i < a.size
lhs_rw :
  (a.set ⟨i, i_size⟩ (f (a.get ⟨i, i_size⟩))).get ⟨j, ⋯⟩ = if i = j then f (a.get ⟨i, i_size⟩) else a.get ⟨j, j_size⟩
⊢ (a.set ⟨i, ⋯⟩ (f (a.get ⟨i, ⋯⟩))).get ⟨j, ⋯⟩ = a.get ⟨j, j_size⟩