∀ {C : Type u_1} (motive : CategoryTheory.WithTerminal C → CategoryTheory.WithTerminal C → Sort u_2) (X Y : C)
  (h_1 : (X Y : C) → motive (CategoryTheory.WithTerminal.of X) (CategoryTheory.WithTerminal.of Y))
  (h_2 : (a : C) → motive CategoryTheory.WithTerminal.star (CategoryTheory.WithTerminal.of a))
  (h_3 : (x : CategoryTheory.WithTerminal C) → motive x CategoryTheory.WithTerminal.star),
  (match CategoryTheory.WithTerminal.of X, CategoryTheory.WithTerminal.of Y with
    | CategoryTheory.WithTerminal.of X, CategoryTheory.WithTerminal.of Y => h_1 X Y
    | CategoryTheory.WithTerminal.star, CategoryTheory.WithTerminal.of a => h_2 a
    | x, CategoryTheory.WithTerminal.star => h_3 x) =
    h_1 X Y