In some cases additional constraints have to be placed in rules, to make them finite relations.
For example, according to [22], a variable which appears in the head of a rule will only generate infiniteness:
Another case is if a variable appears in a built-in predicate (after [22]) i.e.:
There is a definition of a Safe Rule [22] which states that such a rule creates a finite relation only. A rule is safe when all its variables are limited which is defined as follows:
It is pointed out in [22], that 1 and 2 form a basis for the definition, and 3 can be applied repeatedly to discover more limited variables.
Igor Wojnicki 2005-11-07