∀ (motive : Int.Linear.Poly → Sort u_1) (a : ℤ) (v : Int.Linear.Var) (p : Int.Linear.Poly)
  (h_1 : (a : ℤ) → (v : Int.Linear.Var) → (p : Int.Linear.Poly) → motive (Int.Linear.Poly.add a v p))
  (h_2 : (x : Int.Linear.Poly) → motive x),
  (match Int.Linear.Poly.add a v p with
    | Int.Linear.Poly.add a v p => h_1 a v p
    | x => h_2 x) =
    h_1 a v p