(motive : Int.Linear.Poly → Sort u_1) →
  (p : Int.Linear.Poly) →
    ((k : ℤ) → (x : Int.Linear.Var) → (p : Int.Linear.Poly) → motive (Int.Linear.Poly.add k x p)) →
      ((x : Int.Linear.Poly) → motive x) → motive p