File: .lake/packages/lean4/src/lean/Init/System/IOError.lean

full_name: IO.Error.unsupportedOperation
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.interrupted
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.protocolError
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.inappropriateType
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.alreadyExists
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.noFileOrDirectory
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.invalidArgument
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.userError
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.otherError
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: Type

full_name: IO.Error.resourceBusy
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.unsatisfiedConstraints
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.illegalOperation
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.timeExpired
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.resourceExhausted
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.unexpectedEof
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.permissionDenied
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.hardwareFault
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.noSuchThing
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.Error.resourceVanished
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: IO.Error

full_name: IO.instInhabitedError
code: /--
Imitate the structure of IOErrorType in Haskell:
https://hackage.haskell.org/package/base-4.12.0.0/docs/System-IO-Error.html#t:IOErrorType
-/
inductive IO.Error where
  | alreadyExists (filename : Option String) (osCode : UInt32) (details : String) -- EEXIST, EINPROGRESS, EISCONN
  | otherError (osCode : UInt32) (details : String)    -- EFAULT, default
  | resourceBusy (osCode : UInt32) (details : String)
      -- EADDRINUSE, EBUSY, EDEADLK, ETXTBSY
  | resourceVanished (osCode : UInt32) (details : String)
      -- ECONNRESET, EIDRM, ENETDOWN, ENETRESET,
      -- ENOLINK, EPIPE
  | unsupportedOperation (osCode : UInt32) (details : String)
      -- EADDRNOTAVAIL, EAFNOSUPPORT, ENODEV, ENOPROTOOPT
      -- ENOSYS, EOPNOTSUPP, ERANGE, ESPIPE, EXDEV
  | hardwareFault (osCode : UInt32) (details : String)          -- EIO
  | unsatisfiedConstraints (osCode : UInt32) (details : String) -- ENOTEMPTY
  | illegalOperation (osCode : UInt32) (details : String)       -- ENOTTY
  | protocolError (osCode : UInt32) (details : String)
      -- EPROTO, EPROTONOSUPPORT, EPROTOTYPE
  | timeExpired (osCode : UInt32) (details : String)
      -- ETIME, ETIMEDOUT

  | interrupted (filename : String) (osCode : UInt32) (details : String)       -- EINTR
  | noFileOrDirectory (filename : String) (osCode : UInt32) (details : String) -- ENOENT
  | invalidArgument (filename : Option String) (osCode : UInt32) (details : String)
      -- ELOOP, ENAMETOOLONG, EDESTADDRREQ, EILSEQ, EINVAL, EDOM, EBADF
      -- ENOEXEC, ENOSTR, ENOTCONN, ENOTSOCK
  | permissionDenied (filename : Option String) (osCode : UInt32) (details : String)
      -- EACCES, EROFS, ECONNABORTED, EFBIG, EPERM
  | resourceExhausted (filename : Option String) (osCode : UInt32) (details : String)
      -- EMFILE, ENFILE, ENOSPC, E2BIG, EAGAIN, EMLINK:
      -- EMSGSIZE, ENOBUFS, ENOLCK, ENOMEM, ENOSR:
  | inappropriateType (filename : Option String) (osCode : UInt32) (details : String)
      -- EISDIR, EBADMSG, ENOTDIR:
  | noSuchThing (filename : Option String) (osCode : UInt32) (details : String)
      -- ENXIO, EHOSTUNREACH, ENETUNREACH, ECHILD, ECONNREFUSED,
      -- ENODATA, ENOMSG, ESRCH

  | unexpectedEof
  | userError (msg : String)
  deriving Inhabited
goal: Inhabited IO.Error

full_name: IO.userError
code: @[export lean_mk_io_user_error]
def IO.userError (s : String) : IO.Error 
goal: IO.Error

full_name: instCoeStringError
code: instance : Coe String IO.Error 
goal: Coe String IO.Error

full_name: IO.Error.mkAlreadyExistsFile
code: @[export lean_mk_io_error_already_exists_file]
def mkAlreadyExistsFile : String → UInt32 → String → IO.Error 
goal: String → UInt32 → String → IO.Error

full_name: IO.Error.mkEofError
code: @[export lean_mk_io_error_eof]
def mkEofError : Unit → IO.Error 
goal: Unit → IO.Error

full_name: IO.Error.mkInappropriateTypeFile
code: @[export lean_mk_io_error_inappropriate_type_file]
def mkInappropriateTypeFile : String → UInt32 → String → IO.Error 
goal: String → UInt32 → String → IO.Error

full_name: IO.Error.mkInterrupted
code: @[export lean_mk_io_error_interrupted]
def mkInterrupted : String → UInt32 → String → IO.Error 
goal: String → UInt32 → String → IO.Error

full_name: IO.Error.mkInvalidArgumentFile
code: @[export lean_mk_io_error_invalid_argument_file]
def mkInvalidArgumentFile : String → UInt32 → String → IO.Error 
goal: String → UInt32 → String → IO.Error

full_name: IO.Error.mkNoFileOrDirectory
code: @[export lean_mk_io_error_no_file_or_directory]
def mkNoFileOrDirectory : String → UInt32 → String → IO.Error 
goal: String → UInt32 → String → IO.Error

full_name: IO.Error.mkNoSuchThingFile
code: @[export lean_mk_io_error_no_such_thing_file]
def mkNoSuchThingFile : String → UInt32 → String → IO.Error 
goal: String → UInt32 → String → IO.Error

full_name: IO.Error.mkPermissionDeniedFile
code: @[export lean_mk_io_error_permission_denied_file]
def mkPermissionDeniedFile : String → UInt32 → String → IO.Error 
goal: String → UInt32 → String → IO.Error

full_name: IO.Error.mkResourceExhaustedFile
code: @[export lean_mk_io_error_resource_exhausted_file]
def mkResourceExhaustedFile : String → UInt32 → String → IO.Error 
goal: String → UInt32 → String → IO.Error

full_name: IO.Error.mkUnsupportedOperation
code: @[export lean_mk_io_error_unsupported_operation]
def mkUnsupportedOperation : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkResourceExhausted
code: @[export lean_mk_io_error_resource_exhausted]
def mkResourceExhausted : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkAlreadyExists
code: @[export lean_mk_io_error_already_exists]
def mkAlreadyExists : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkInappropriateType
code: @[export lean_mk_io_error_inappropriate_type]
def mkInappropriateType : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkNoSuchThing
code: @[export lean_mk_io_error_no_such_thing]
def mkNoSuchThing : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkResourceVanished
code: @[export lean_mk_io_error_resource_vanished]
def mkResourceVanished : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkResourceBusy
code: @[export lean_mk_io_error_resource_busy]
def mkResourceBusy : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkInvalidArgument
code: @[export lean_mk_io_error_invalid_argument]
def mkInvalidArgument : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkOtherError
code: @[export lean_mk_io_error_other_error]
def mkOtherError : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkPermissionDenied
code: @[export lean_mk_io_error_permission_denied]
def mkPermissionDenied : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkHardwareFault
code: @[export lean_mk_io_error_hardware_fault]
def mkHardwareFault : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkUnsatisfiedConstraints
code: @[export lean_mk_io_error_unsatisfied_constraints]
def mkUnsatisfiedConstraints : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkIllegalOperation
code: @[export lean_mk_io_error_illegal_operation]
def mkIllegalOperation : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkProtocolError
code: @[export lean_mk_io_error_protocol_error]
def mkProtocolError : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: IO.Error.mkTimeExpired
code: @[export lean_mk_io_error_time_expired]
def mkTimeExpired : UInt32 → String → IO.Error 
goal: UInt32 → String → IO.Error

full_name: _private.«.lake».packages.lean4.src.lean.Init.System.IOError.0.IO.Error.downCaseFirst
code: private def downCaseFirst (s : String) : String 
goal: String

full_name: IO.Error.fopenErrorToString
code: def fopenErrorToString (gist fn : String) (code : UInt32) : Option String → String
  
goal: Option String → String

full_name: IO.Error.otherErrorToString
code: def otherErrorToString (gist : String) (code : UInt32) : Option String → String
  
goal: Option String → String

full_name: IO.Error.toString
code: @[export lean_io_error_to_string]
def toString : IO.Error → String
  
goal: IO.Error → String

full_name: IO.Error.instToString
code: instance : ToString IO.Error 
goal: ToString IO.Error