Information about loaded files and the predicates and clauses in them
is returned by source_file/[1,2,3]. source_file/1 can be
used to identify an absolute filename as loaded, or to backtrack
through all loaded files. To find out the correlation between loaded
files and predicates, call source_file/2.
source_file/3 allows for querying about which clause for a
predicate is in which loaded file. source_file/3 is useful for
handling multifile predicates (see mpg-ref-multifile), but it
works for predicates defined completely in one file, as well.
Any combination of bound and unbound arguments is possible, and
source_file/3 will generate the others.