#
Booleans

All arguments are assumed to be of the same type.

### Conjunction

`(and [B0 = BOOL] ... [BN = BOOL])`

Standard conjunction (minimum of 2 arguments).

### Disjunction

`(or [B0 = BOOL] ... [BN = BOOL])`

Standard disjunction (minimum of 2 arguments).

### Negation

`(not [BOOL])`

Standard negation.

### Implication

`(implies [B0 = BOOL] [B1 = BOOL])`

Standard implication.

### Exclusivity

`(one_in [B0 = BOOL] ... [BN = BOOL])`

true if, and only if, exactly one of the operands is true. There needs to be at
least one argument.

### Equality

`(= [C0 = COMPUTATION*] ... [CN = COMPUTATION*])`

True if, and only if, all operands are equal. Takes at least 2 arguments.

### Strictly less than

`(< [C0 = COMPARABLE] [C1 = COMPARABLE])`

True if, and only if, `C0`

is strictly lower than `C1`

.

### Less than

`(=< [C0 = COMPARABLE] [C1 = COMPARABLE])`

True if, and only if, `C0`

is lower or equal to/than `C1`

.

### Strictly more than

`(> [C0 = COMPARABLE] [C1 = COMPARABLE])`

True if, and only if, `C0`

is strictly higher than `C1`

.

### More than

`(>= [C0 = COMPARABLE] [C1 = COMPARABLE])`

True if, and only if, `C0`

is higher or equal to/than `C1`

.