case cons ys_hd ys_tl =>
  simp
  simp only [Function.updateListITE]
  simp only [← xs_ih]
  apply Function.updateITE_comp_left
α β γ : Type
inst✝ : DecidableEq α
f : α → β
g : β → γ
xs_hd : α
xs_tl : List α
xs_ih : ∀ (ys : List β), g ∘ updateListITE f xs_tl ys = updateListITE (g ∘ f) xs_tl (List.map g ys)
ys_hd : β
ys_tl : List β
⊢ g ∘ updateListITE f (xs_hd :: xs_tl) (ys_hd :: ys_tl) =
    updateListITE (g ∘ f) (xs_hd :: xs_tl) (List.map g (ys_hd :: ys_tl))
no goals