|  | 
| SourceSink is a variable |  | instantiation_error | 
|  | 
| Mode is a variable |  | instantiation_error | 
|  | 
| Options is a partial list or a list with an element
E which is a variable |  | instantiation_error | 
|  | 
| Mode is neither a variable nor an atom |  | type_error(atom, Mode) | 
|  | 
| Options is neither a partial list nor a list |  | type_error(list, Options) | 
|  | 
| Stream is not a variable |  | type_error(variable, Stream) | 
|  | 
| SourceSink is neither a variable nor a source/sink |  | domain_error(source_sink, SourceSink) | 
|  | 
| Mode is an atom but not an input/output mode |  | domain_error(io_mode, Mode) | 
|  | 
| an element E of the Options list is neither a
variable nor a stream-option |  | domain_error(stream_option, E) | 
|  | 
| the source/sink specified by SourceSink does not exist |  | existence_error(source_sink, SourceSink) | 
|  | 
| the source/sink specified by SourceSink cannot be opened |  | permission_error(open, source_sink, SourceSink) | 
|  | 
| an element E of the Options list is
alias(A) and A is already associated with an open stream |  | permission_error(open, source_sink, alias(A)) | 
|  | 
| an element E of the Options list is
reposition(true) and it is not possible to reposition this stream |  | permission_error(open, source_sink, reposition(true)) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Options is a partial list or a list with an element
E which is a variable |  | instantiation_error | 
|  | 
| Options is neither a partial list nor a list |  | type_error(list, Options) | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| an element E of the Options list is neither a
variable nor a close-option |  | domain_error(close_option, E) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| SorA needs a special close (section 6.11) |  | system_error(needs_special_close) | 
|  | 
|  | 
| Stream is a variable |  | instantiation_error | 
|  | 
| Stream is neither a variable nor a stream-term |  | domain_error(stream, Stream) | 
|  | 
| Property is neither a variable nor a stream property |  | domain_error(stream_property, Property) | 
|  | 
| Property = file_name(E), mode(E),
alias(E), end_of_stream(E), eof_action(E),
reposition(E), type(E) or buffering(E) and
E is neither a variable nor an atom |  | type_error(atom, E) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Position is a variable |  | instantiation_error | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| Position is neither a variable nor a stream-position term |  | domain_error(stream_position, Position) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| SorA has stream property reposition(false) |  | permission_error(reposition, stream, SorA) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Whence is a variable |  | instantiation_error | 
|  | 
| Offset is a variable |  | instantiation_error | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| Whence is neither a variable nor an atom |  | type_error(atom, Whence) | 
|  | 
| Whence is an atom but not a valid stream seek method |  | domain_error(stream_seek_method, Whence) | 
|  | 
| Offset is neither a variable nor an integer |  | type_error(integer, Offset) | 
|  | 
| NewOffset is neither a variable nor an integer |  | type_error(integer, NewOffset) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| SorA has stream property reposition(false) |  | permission_error(reposition, stream, SorA) | 
|  | 
| SorA is associated with a text stream |  | permission_error(reposition, text_stream, SorA) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Count is neither a variable nor an integer |  | type_error(integer, Count) | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| SorA is associated with a binary stream |  | permission_error(access, binary_stream, SorA) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Count is neither a variable nor an integer |  | type_error(integer, Count) | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| SorA is associated with a binary stream |  | permission_error(access, binary_stream, SorA) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Line is neither a variable nor an integer |  | type_error(integer, Line) | 
|  | 
| Column is neither a variable nor an integer |  | type_error(integer, Column) | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| SorA is associated with a binary stream |  | permission_error(access, binary_stream, SorA) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Line is a variable |  | instantiation_error | 
|  | 
| Column is a variable |  | instantiation_error | 
|  | 
| Line is neither a variable nor an integer |  | type_error(integer, Line) | 
|  | 
| Column is neither a variable nor an integer |  | type_error(integer, Column) | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| SorA is associated with a binary stream |  | permission_error(reposition, binary_stream, SorA) | 
|  | 
| SorA has stream property reposition(false) |  | permission_error(reposition, stream, SorA) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Alias is a variable |  | instantiation_error | 
|  | 
| Alias is neither a variable nor an atom |  | type_error(atom, Alias) | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| Alias is already associated with an open stream |  | permission_error(add_alias, source_sink, alias(Alias)) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Type is a variable |  | instantiation_error | 
|  | 
| Type is neither a variable nor a valid type |  | domain_error(stream_type, Type) | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| An I/O operation has already been executed on SorA |  | permission_error(modify, stream, SorA) | 
|  | 
|  | 
| SorA is a variable |  | instantiation_error | 
|  | 
| Action is a variable |  | instantiation_error | 
|  | 
| Action is neither a variable nor a valid eof action |  | domain_error(eof_action, Action) | 
|  | 
| SorA is neither a variable nor a stream-term or alias |  | domain_error(stream_or_alias, SorA) | 
|  | 
| SorA is not associated with an open stream |  | existence_error(stream, SorA) | 
|  | 
| SorA is an output stream |  | permission_error(modify, stream, SorA) | 
|  |