dsimp at hw
case intro
α✝ : Type u
m : Type u → Type v
inst✝¹ : Monad m
inst✝ : LawfulMonad m
α : Type u
x : Array α
n : Nat
f : α → α
w : Id { a // (fun y => size y = size x) a }
hw : Subtype.val <$> w = modifyM x n f
⊢ size (modify x n f) = size x
case intro
α✝ : Type u
m : Type u → Type v
inst✝¹ : Monad m
inst✝ : LawfulMonad m
α : Type u
x : Array α
n : Nat
f : α → α
w : Id { a // (fun y => size y = size x) a }
hw : w.val = modifyM x n f
⊢ size (modify x n f) = size x