∀ {α : Type u_1} {α_1 : Type u_2} {f : α → Option α_1} {l : List α} {b : α_1} {bs : List α_1},
  List.filterMap f l = b :: bs ↔
    ∃ l₁ a l₂, l = l₁ ++ a :: l₂ ∧ (∀ x ∈ l₁, f x = none) ∧ f a = some b ∧ List.filterMap f l₂ = bs