Next: , Previous: , Up: Syntax   [Contents]


2.9 Facts

A function fact is an item of the form ‘Head = Result’. A predicate fact is an item of the form ‘Head’, where the top-level functor of Head is not :-/1, :-/2, -->/2, or =/2. In both cases, the Head term must not be a variable. The top-level functor of the Head determines which predicate or function the fact belongs to; the predicate or function must have been declared in a preceding ‘pred’ or ‘func’ declaration in this module. The Result (if any) and the arguments of the Head must be valid data-terms (optionally annotated with a mode qualifier; see Different clauses for different modes).

A fact is equivalent to a rule whose body is ‘true’.