(motive : ℤ → ℤ → Sort u_1) →
  (x x_1 : ℤ) →
    ((n m : ℕ) → motive (Int.ofNat n) (Int.ofNat m)) →
      ((n m : ℕ) → motive (Int.negSucc n) (Int.negSucc m)) →
        (Unit → motive (Int.negSucc 0) (Int.ofNat 0)) →
          ((a a_1 : ℕ) → motive (Int.ofNat a) (Int.negSucc a_1)) →
            ((a a_1 : ℕ) → (a = 0 → a_1 = 0 → False) → motive (Int.negSucc a) (Int.ofNat a_1)) → motive x x_1