Prolog programs are written as a sequence of clauses. Each has the form
predicate( argument, argument, ... ).or
predicate( argument, argument, ... ) :- predicate( argument, argument, ... ), predicate( argument, argument, ... ), ... .
,
means ``and''.
:-
means ``if''.
All clauses are Horn clauses: one goal, implied by a conjunction of other goals (possibly none).