PLOGHELP USER_PREDICATE                     Robert Duncan, February 1988


    :- op(254, fx, user_predicate).

    ?- user_predicate PredicateSpec.


Declares all the predicates identified by PredicateSpec to be "user"
predicates. PredicateSpec must be a conjunction of simple specifications
of the form

    Fn/Arity

where Fn is an atom (the functor name of the predicate) and Arity an
integer (its arity). For example, the directive:

    :- user_predicate static_env/3, route/2.

declares the two predicates static_env/3 and route/2 to be user
predicates.

To be effective, the declaration must come before the definitions of the
specified predicates.

User predicates are always redefinable, in contrast to system predicates
which are constant and cannot be changed. By default, any predicate
defined by the user is automatically a user predicate so that this
declaration is normally unnecessary. It is possible however to change
the default so that predicates are compiled as system predicates unless
this declaration is used to indicate otherwise. A fuller discussion of
this topic can be found in PLOGHELP * SYSTEM_PREDICATE.

--- C.all/plog/help/user_predicate -------------------------------------
--- Copyright University of Sussex 1988. All rights reserved. ----------
