refine Nat.recAscend (motive:=λ i =>∀ acc, Array.ofFn.go f i.succ acc = Array.ofFn.go (f ∘ Fin.succ) i acc) ?_ ?_ i (Nat.le_of_lt hlt) acc
  <;> dsimp
α✝ α : Type u
n : Nat
f : Fin (Nat.succ n) → α
i : Nat
acc : Array α
hlt : i < n
⊢ ofFn.go f (Nat.succ i) acc = ofFn.go (f ∘ Fin.succ) i acc
case refine_1
α✝ α : Type u
n : Nat
f : Fin (Nat.succ n) → α
i : Nat
acc : Array α
hlt : i < n
⊢ ∀ (acc : Array α), ofFn.go f (Nat.succ n) acc = ofFn.go (f ∘ Fin.succ) n acc

case refine_2
α✝ α : Type u
n : Nat
f : Fin (Nat.succ n) → α
i : Nat
acc : Array α
hlt : i < n
⊢ ∀ (k : Nat),
    k < n →
      (∀ (acc : Array α), ofFn.go f (Nat.succ (Nat.succ k)) acc = ofFn.go (f ∘ Fin.succ) (Nat.succ k) acc) →
        ∀ (acc : Array α), ofFn.go f (Nat.succ k) acc = ofFn.go (f ∘ Fin.succ) k acc