∀ {α : Type u_1} (motive : RegularExpression α → List α → Sort u_2) (P : RegularExpression α)
  (h_1 : (P : RegularExpression α) → motive P [])
  (h_2 : (P : RegularExpression α) → (a : α) → (as : List α) → motive P (a :: as)),
  (match P, [] with
    | P, [] => h_1 P
    | P, a :: as => h_2 P a as) =
    h_1 P