. dsimp
  intro i hi h_ind acc
  unfold Array.ofFn.go
  rw [dif_pos hi, dif_pos hi]
  rw [h_ind (acc.push _), h_ind (#[].push _)]
  conv =>
    rhs; rw [←Array.append_assoc]
case refine_2
α✝ α : Type u
n : Nat
f : Fin n → α
i : Nat
acc : Array α
hlt : i < n
⊢ ∀ (k : Nat),
    k < n →
      (fun i => ∀ (acc : Array α), ofFn.go f i acc = acc ++ ofFn.go f i #[]) (Nat.succ k) →
        (fun i => ∀ (acc : Array α), ofFn.go f i acc = acc ++ ofFn.go f i #[]) k
no goals