have := @ih (fun i => f ⟨i,Nat.lt_trans i.isLt (by exact Nat.le_refl _)⟩) i (by simp; assumption)
α✝ : Type u_1
n : Nat
ih : ∀ {f : Fin n → α✝} {i : Nat} {h : i < size (init n f)}, (init n f)[i] = f { val := i, isLt := ⋯ }
f : Fin (Nat.succ n) → α✝
i : Nat
h✝ : i < size (init (Nat.succ n) f)
h : i < n
⊢ (init n fun i => f { val := ↑i, isLt := ⋯ })[i] = f { val := i, isLt := ⋯ }
α✝ : Type u_1
n : Nat
ih : ∀ {f : Fin n → α✝} {i : Nat} {h : i < size (init n f)}, (init n f)[i] = f { val := i, isLt := ⋯ }
f : Fin (Nat.succ n) → α✝
i : Nat
h✝ : i < size (init (Nat.succ n) f)
h : i < n
this : (init n fun i => f { val := ↑i, isLt := ⋯ })[i] = f { val := ↑{ val := i, isLt := ⋯ }, isLt := ⋯ }
⊢ (init n fun i => f { val := ↑i, isLt := ⋯ })[i] = f { val := i, isLt := ⋯ }