[ library(COLIBRI_DOC) | ]

X or Y

X is true or Y is true.
X
A "boolean" integer term (range 0..1).
Y
A "boolean" integer term (range 0..1).

Description

This constraints exists also in a reified form, (X or Y) #= Bool, where Bool is an int variable ranging in 0..1.

Fail Conditions

Fails if the domains of the two terms cannot satisfy the logical operator.

Resatisfiable

no

Examples

Success:
    int_vars(int,X), X or 1.
    (gives X = _1074{[0, 1]})

    int_vars(int,[X,Y,B]), X or Y #= B, X #\= B.
    (gives X = 0, Y = 1, B = 1)

Fail:
    int_vars(int,[X,Y,B]), X or Y #= B, X #= Y, X #\= B.

See Also

neg / 2, and / 2, xor / 2, => / 2, ite / 3