Backward chaining rule bodies are defined as:
<body> ::= <clause>+
<clause> ::= (<goal> <-- <expression>*)
<goal> ::= (<rule-name> <term>*)
In each sub-clause of the rule, the goal must have the same arity (number of arguments). Within each
destructuring is allowed and variables are introduced by
on its own denotes the anonymous variable which always matches).
is as defined in Forward Chaining Syntax.