A.10 library(clpqr): Constraint Logic Programming over Rationals and Reals
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(clpqr): Constraint Logic Programming over Rationals and Reals
          • Solver predicates
          • Syntax of the predicate arguments
          • Use of unification
          • Non-linear constraints
          • Status and known problems
    • Packages

A.10.2 Syntax of the predicate arguments

The arguments of the predicates defined in the subsection above are defined in table 10. 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 10 : CLP(Q,R) constraint BNF