| 
| 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
mirror(M) and M is not associated with an open stream | 
   | 
existence_error(stream, M) | 
 | 
| an element E of the Options list is
mirror(M) and M iis an input stream | 
   | 
permission_error(output, stream, M) | 
 | 
| 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 7.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 | 
 | 
| Mirror is a variable | 
   | 
instantiation_error | 
 | 
| SorA is neither a variable nor a stream-term or alias | 
   | 
domain_error(stream_or_alias, SorA) | 
 | 
| Mirror is neither a variable nor a stream-term or alias | 
   | 
domain_error(stream_or_alias, Mirror) | 
 | 
| SorA is not associated with an open stream | 
   | 
existence_error(stream, SorA) | 
 | 
| Mirror is not associated with an open stream | 
   | 
existence_error(stream, Mirror) | 
 | 
| Mirror is an input stream | 
   | 
permission_error(output, stream, Mirror) | 
 | 
 | 
| SorA is a variable | 
   | 
instantiation_error | 
 | 
| Mirror is a variable | 
   | 
instantiation_error | 
 | 
| SorA is neither a variable nor a stream-term or alias | 
   | 
domain_error(stream_or_alias, SorA) | 
 | 
| Mirror is neither a variable nor a stream-term or alias | 
   | 
domain_error(stream_or_alias, Mirror) | 
 | 
| SorA is not associated with an open stream | 
   | 
existence_error(stream, SorA) | 
 | 
| Mirror is not associated with an open stream | 
   | 
existence_error(stream, Mirror) | 
 | 
 | 
| 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) | 
 |