cases i using Fin.cases <;> simp[*]
n : ℕ
f : Vector ℕ n → ℕ →. ℕ
hf : ArithPart₁ fun v => f v.tail v.head
g : Vector ℕ n →. ℕ
hg : ArithPart₁ g
i : Fin n.succ
⊢ ArithPart₁ ((g :> fun i v => ↑(Option.some (v.get i))) i)
case succ
n : ℕ
f : Vector ℕ n → ℕ →. ℕ
hf : ArithPart₁ fun v => f v.tail v.head
g : Vector ℕ n →. ℕ
hg : ArithPart₁ g
i✝ : Fin n
⊢ ArithPart₁ fun v => Part.some (v.get i✝)