∀ {α : Type u_1} (motive : List α → List α → Sort u_2) (x x_1 : List α) (h_1 : (x : List α) → motive [] x)
  (h_2 : (x : List α) → motive x []) (h_3 : (a : α) → (l₁ l₂ : List α) → motive (a :: l₁) l₂) (a : α) (l₁ l₂ : List α),
  x = a :: l₁ →
    x_1 = l₂ →
      (l₂ = [] → False) →
        (match x, x_1 with
          | [], x => h_1 x
          | x, [] => h_2 x
          | a :: l₁, l₂ => h_3 a l₁ l₂) ≍
          h_3 a l₁ l₂