Node:Term Expressions, Next:Monotonicity of Indexicals, Previous:Range Expressions, Up:Defining Primitive Constraints

A term expression has one of the following forms, where T_1 and T_2 denote term expressions, X denotes a variable, I denotes an integer, and S denotes the current store.

`min(X)`

- evaluates to the minimum of D(X,S)
`max(X)`

- evaluates to the maximum of D(X,S)
`card(X)`

- evaluates to the size of D(X,S)
`X`

- evaluates to the integer value of X.
The indexical will suspend until X is assigned.
`I`

- an integer
`inf`

- minus infinity
`sup`

- plus infinity
`-T_1`

- evaluates to S(T_1) negated
`T_1+T_2`

- evaluates to the sum of S(T_1) and S(T_2)
`T_1-T_2`

- evaluates to the difference of S(T_1) and S(T_2)
`T_1*T_2`

- evaluates to the product of S(T_1) and S(T_2),
where S(T_2) must not be negative
`T_1/>T_2`

- evaluates to the quotient of S(T_1) and S(T_2), rounded up,
where S(T_2) must be positive
`T_1/<T_2`

- evaluates to the quotient of S(T_1) and S(T_2), rounded down,
where S(T_2) must be positive
`T_1 mod T_2`

- evaluates to the modulo of S(T_1) and S(T_2)