simp only [dif_pos hi]
α✝ : Type u
m : Type u → Type v
inst✝¹ : Monad m
inst✝ : LawfulMonad m
α : Type u
x : Array α
i : Nat
f : α → α
hi : i < size x
⊢ (if h : i < size x then set x { val := i, isLt := h } (f x[i]) else x)[i] = f x[i]
α✝ : Type u
m : Type u → Type v
inst✝¹ : Monad m
inst✝ : LawfulMonad m
α : Type u
x : Array α
i : Nat
f : α → α
hi : i < size x
⊢ (set x { val := i, isLt := hi } (f x[i]))[i] = f x[i]