Miscellaneous(1)

NAME
Commands less frequently used in Progol.

DESCRIPTION
The following commands in Progol are used less frequently:

commutative(PredicateName/Arity)?
    states input arguments for all PredicateName/Arity predicates are unordered.

commutatives?
    shows predicates declared to be commutative.

modes?
    shows head and body modes of predicates.

reductive?
    disallows literals in the body to have terms more complex than most complex term in the clause head. Term complexity is measured as follows: Variables = 1, Term = 2 + sum of argument complexities, Constant = 2, Integer = 2 and Real = 2.

noreductive?
    disables reductive constraint.

split?
    allows "variable-splitting" i.e. breaking of variable co-references in the most specific clause constructed in the first step of the generalise/1 command. This enables a more complete search of the subsumption lattice above the most specific clause.

nosplit?
    disables variable-splitting.

NOTE
By default, Progol uses the reductive constraint and disables variable-splitting.

SEE ALSO