SWI-Prolog contains two special modules. The first one is the module
system. This module contains all built-in predicates
described in this manual. Module system has no default
module assigned to it. The second special module is the module user.
This module forms the initial working space of the user. Initially it is
empty. The default module of module user is system,
making all built-in predicate definitions available as defaults.
Built-in predicates thus can be overruled by defining them in module user
before they are used.
All other modules default to module user. This implies
they can use all predicates imported into user without
explicitly importing them.