A.8.2 Syntax of the predicate arguments

The arguments of the predicates defined in the subsection above are defined in table 9. Failing to meet the syntax rules will result in an exception.

<Constraints> ::=<Constraint> single constraint
|<Constraint> , <Constraints> conjunction
|<Constraint> ; <Constraints> disjunction

<Constraint>

::=<Expression> < <Expression> less than
|<Expression> > <Expression> greater than
|<Expression> =< <Expression> less or equal
|<=(<Expression>, <Expression>)less or equal
|<Expression> >= <Expression> greater or equal
|<Expression> =\= <Expression> not equal
|<Expression> =:= <Expression> equal
|<Expression> = <Expression> equal

<Expression>

::=<Variable> Prolog variable
|<Number> Prolog number
|+<Expression> unary plus
|-<Expression> unary minus
|<Expression> + <Expression> addition
|<Expression> - <Expression> substraction
|<Expression> * <Expression> multiplication
|<Expression> / <Expression> division
|abs(<Expression>)absolute value
|sin(<Expression>)sine
|cos(<Expression>)cosine
|tan(<Expression>)tangent
|exp(<Expression>)exponent
|pow(<Expression>)exponent
|<Expression> ^ <Expression> exponent
|min(<Expression>, <Expression>)minimum
|max(<Expression>, <Expression>)maximum
Table 9 : CLP(Q,R) constraint BNF
Tags are associated to your profile if you are logged in