(x : Q(ℤ)) →
  (motive : Mathlib.Meta.NormNum.Result x → Sort u_1) →
    (__do_lift : Mathlib.Meta.NormNum.Result x) →
      ((inst : Q(AddMonoidWithOne ℤ)) →
          (a : Q(ℕ)) →
            (p : Q(Mathlib.Meta.NormNum.IsNat «$x» «$a»)) → motive (Mathlib.Meta.NormNum.Result'.isNat inst a p)) →
        ((inst : Q(Ring ℤ)) →
            (a : Q(ℕ)) →
              (p : Q(Mathlib.Meta.NormNum.IsInt «$x» (Int.negOfNat «$a»))) →
                motive (Mathlib.Meta.NormNum.Result'.isNegNat inst a p)) →
          ((x : Mathlib.Meta.NormNum.Result x) → motive x) → motive __do_lift