induction' n with n ih <;> simp[empty_eq, getM]
α✝ : Type ?u.58801
m : Type u → Type v
inst✝¹ : Monad m
α : Type w
β✝ : Type u
inst✝ : LawfulMonad m
n : ℕ
β : Fin n → Type u
v : (i : Fin n) → β i
⊢ (getM fun i => pure (v i)) = pure v
case zero
α✝ : Type ?u.58801
m : Type u → Type v
inst✝¹ : Monad m
α : Type w
β✝ : Type u
inst✝ : LawfulMonad m
β : Fin 0 → Type u
v : (i : Fin 0) → β i
⊢ pure finZeroElim = pure v

case succ
α✝ : Type ?u.58801
m : Type u → Type v
inst✝¹ : Monad m
α : Type w
β✝ : Type u
inst✝ : LawfulMonad m
n : ℕ
ih : ∀ {β : Fin n → Type u} (v : (i : Fin n) → β i), (getM fun i => pure (v i)) = pure v
β : Fin (n + 1) → Type u
v : (i : Fin (n + 1)) → β i
⊢ (Seq.seq (pure fun succ i => cases (v 0) succ i) fun x => getM fun x => pure (v x.succ)) = pure v