(motive : Lean.Json → Sort u_1) →
  (x : Lean.Json) →
    (Unit → motive (Lean.Json.num { mantissa := Int.ofNat 1, exponent := 0 })) →
      (Unit → motive (Lean.Json.num { mantissa := Int.ofNat 2, exponent := 0 })) →
        (Unit → motive (Lean.Json.num { mantissa := Int.ofNat 3, exponent := 0 })) →
          ((x : Lean.Json) → motive x) → motive x