(motive : Except Lean.Exception Lean.Meta.Simp.DischargeResult → Sort u_1) →
  (x : Except Lean.Exception Lean.Meta.Simp.DischargeResult) →
    (Unit → motive (Except.ok Lean.Meta.Simp.DischargeResult.proved)) →
      (Unit → motive (Except.ok Lean.Meta.Simp.DischargeResult.notProved)) →
        (Unit → motive (Except.ok Lean.Meta.Simp.DischargeResult.maxDepth)) →
          (Unit → motive (Except.ok Lean.Meta.Simp.DischargeResult.failedAssign)) →
            ((err : Lean.Exception) → motive (Except.error err)) → motive x