Did you know ... Search Documentation: Pack reif_utils -- prolog/reif_utils.pl
#<(+X:integer, +Y:integer, +Cond:boolean) is semidet
#<(+X:integer, +Y:integer, -Cond:boolean) is det
#<(+X:integer, -Y:integer, +Cond:boolean) is det
#<(+X:integer, -Y:integer, -Cond:boolean) is multi
#<(-X:integer, +Y:integer, +Cond:boolean) is det
#<(-X:integer, +Y:integer, -Cond:boolean) is multi
#<(-X:integer, -Y:integer, +Cond:boolean) is det
#<(-X:integer, -Y:integer, -Cond:boolean) is multi
True whenever 1) X is strictly less than Y and Cond is true, or 2) whenever X is greater than or equal to Y and Cond is false. Intended to have zero unnecessary choice points.
#>(+X:integer, +Y:integer, +Cond:boolean) is semidet
#>(+X:integer, +Y:integer, -Cond:boolean) is det
#>(+X:integer, -Y:integer, +Cond:boolean) is det
#>(+X:integer, -Y:integer, -Cond:boolean) is multi
#>(-X:integer, +Y:integer, +Cond:boolean) is det
#>(-X:integer, +Y:integer, -Cond:boolean) is multi
#>(-X:integer, -Y:integer, +Cond:boolean) is det
#>(-X:integer, -Y:integer, -Cond:boolean) is multi
True whenever 1) X is strictly greater than Y and Cond is true, or 2) whenever X is less than or equal to Y and Cond is false. Intended to have zero unnecessary choice points.
#=<(+X:integer, +Y:integer, +Cond:boolean) is semidet
#=<(+X:integer, +Y:integer, -Cond:boolean) is det
#=<(+X:integer, -Y:integer, +Cond:boolean) is det
#=<(+X:integer, -Y:integer, -Cond:boolean) is multi
#=<(-X:integer, +Y:integer, +Cond:boolean) is det
#=<(-X:integer, +Y:integer, -Cond:boolean) is multi
#=<(-X:integer, -Y:integer, +Cond:boolean) is det
#=<(-X:integer, -Y:integer, -Cond:boolean) is multi
True whenever 1) X is less than or equal to Y and Cond is true, or 2) whenever X is strictly greater than Y and Cond is false. Intended to have zero unnecessary choice points.
#>=(+X:integer, +Y:integer, +Cond:boolean) is semidet
#>=(+X:integer, +Y:integer, -Cond:boolean) is det
#>=(+X:integer, -Y:integer, +Cond:boolean) is det
#>=(+X:integer, -Y:integer, -Cond:boolean) is multi
#>=(-X:integer, +Y:integer, +Cond:boolean) is det
#>=(-X:integer, +Y:integer, -Cond:boolean) is multi
#>=(-X:integer, -Y:integer, +Cond:boolean) is det
#>=(-X:integer, -Y:integer, -Cond:boolean) is multi
True whenever 1) X is greater than or equal to Y and Cond is true, or 2) whenever X is strictly less than Y and Cond is false. Intended to have zero unnecessary choice points.
==(+X, +Y, +Cond:boolean) is semidet
==(+X, +Y, -Cond:boolean) is det
==(+X, -Y, +Cond:boolean) is semidet
==(+X, -Y, -Cond:boolean) is det
==(-X, +Y, +Cond:boolean) is semidet
==(-X, +Y, -Cond:boolean) is det
==(-X, -Y, +Cond:boolean) is semidet
==(-X, -Y, -Cond:boolean) is det
Impure reified term (dis)equivalence: this predicate is true whenever 1) X == Y and Cond is true or 2) X \== Y and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate is not steadfast: `==(X, Y, false), X = a, Y = a` is true with solution `X = a, Y = a` but `==(a, a, false)` is false.
\==(+X, +Y, +Cond:boolean) is semidet
\==(+X, +Y, -Cond:boolean) is det
\==(+X, -Y, +Cond:boolean) is semidet
\==(+X, -Y, -Cond:boolean) is det
\==(-X, +Y, +Cond:boolean) is semidet
\==(-X, +Y, -Cond:boolean) is det
\==(-X, -Y, +Cond:boolean) is semidet
\==(-X, -Y, -Cond:boolean) is det
Impure reified term (dis)equivalence: this predicate is true whenever 1) X \== Y and Cond is true or 2) X == Y and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate is not steadfast: `\==(X, Y, true), X = a, Y = a` is true with solution `X = a, Y = a` but `\==(a, a, true)` is false.
@<(+X, +Y, +Cond:boolean) is semidet
@<(+X, +Y, -Cond:boolean) is det
@<(+X, -Y, +Cond:boolean) is semidet
@<(+X, -Y, -Cond:boolean) is det
@<(-X, +Y, +Cond:boolean) is semidet
@<(-X, +Y, -Cond:boolean) is det
@<(-X, -Y, +Cond:boolean) is semidet
@<(-X, -Y, -Cond:boolean) is det
Impure reified term comparison: this predicate is true whenever 1) X @< Y and Cond is true or 2) X @>= Y and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate is not steadfast: `@<(X, Y, true), X = b, Y = a` is true with solution `X = b, Y = a` but `@<(b, a, true)` is false.
@=<(+X, +Y, +Cond:boolean) is semidet
@=<(+X, +Y, -Cond:boolean) is det
@=<(+X, -Y, +Cond:boolean) is semidet
@=<(+X, -Y, -Cond:boolean) is det
@=<(-X, +Y, +Cond:boolean) is semidet
@=<(-X, +Y, -Cond:boolean) is det
@=<(-X, -Y, +Cond:boolean) is semidet
@=<(-X, -Y, -Cond:boolean) is det
Impure reified term comparison: this predicate is true whenever 1) X @=< Y and Cond is true or 2) X @> Y and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate is not steadfast: `@=<(X, Y, true), X = b, Y = a` is true with solution `X = b, Y = a` but `@=<(b, a, true)` is false.
@>(+X, +Y, +Cond:boolean) is semidet
@>(+X, +Y, -Cond:boolean) is det
@>(+X, -Y, +Cond:boolean) is semidet
@>(+X, -Y, -Cond:boolean) is det
@>(-X, +Y, +Cond:boolean) is semidet
@>(-X, +Y, -Cond:boolean) is det
@>(-X, -Y, +Cond:boolean) is semidet
@>(-X, -Y, -Cond:boolean) is det
Impure reified term comparison: this predicate is true whenever 1) X @> Y and Cond is true or 2) X @=< Y and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate is not steadfast: `@>(X, Y, false), X = b, Y = a` is true with solution `X = b, Y = a` but `@>(b, a, false)` is false.
@>=(+X, +Y, +Cond:boolean) is semidet
@>=(+X, +Y, -Cond:boolean) is det
@>=(+X, -Y, +Cond:boolean) is semidet
@>=(+X, -Y, -Cond:boolean) is det
@>=(-X, +Y, +Cond:boolean) is semidet
@>=(-X, +Y, -Cond:boolean) is det
@>=(-X, -Y, +Cond:boolean) is semidet
@>=(-X, -Y, -Cond:boolean) is det
Impure reified term comparison: this predicate is true whenever 1) X @>= Y and Cond is true or 2) X @< Y and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate is not steadfast: `@>=(X, Y, false), X = b, Y = a` is true with solution `X = b, Y = a` but `@>=(b, a, false)` is false.
\$<(+X, +Y, +Cond:boolean) is semidet
\$<(+X, +Y, -Cond:boolean) is det
\$<(+X, -Y, +Cond:boolean) is det
\$<(+X, -Y, -Cond:boolean) is det
\$<(-X, +Y, +Cond:boolean) is det
\$<(-X, +Y, -Cond:boolean) is det
\$<(-X, -Y, +Cond:boolean) is det
\$<(-X, -Y, -Cond:boolean) is det
Pure reified term comparison: this predicate is true whenever 1) X @< Y upon sufficient instantiation of both variables and Cond is true or 2) X @>= Y upon sufficient instantiation of both variables and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate guarantees referential transparency by delaying evaluation where necessary.
\$=<(+X, +Y, +Cond:boolean) is semidet
\$=<(+X, +Y, -Cond:boolean) is det
\$=<(+X, -Y, +Cond:boolean) is det
\$=<(+X, -Y, -Cond:boolean) is det
\$=<(-X, +Y, +Cond:boolean) is det
\$=<(-X, +Y, -Cond:boolean) is det
\$=<(-X, -Y, +Cond:boolean) is det
\$=<(-X, -Y, -Cond:boolean) is det
Pure reified term comparison: this predicate is true whenever 1) X @=< Y upon sufficient instantiation of both variables and Cond is true or 2) X @> Y upon sufficient instantiation of both variables and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate guarantees referential transparency by delaying evaluation where necessary.
\$>(+X, +Y, +Cond:boolean) is semidet
\$>(+X, +Y, -Cond:boolean) is det
\$>(+X, -Y, +Cond:boolean) is det
\$>(+X, -Y, -Cond:boolean) is det
\$>(-X, +Y, +Cond:boolean) is det
\$>(-X, +Y, -Cond:boolean) is det
\$>(-X, -Y, +Cond:boolean) is det
\$>(-X, -Y, -Cond:boolean) is det
Pure reified term comparison: this predicate is true whenever 1) X @> Y upon sufficient instantiation of both variables and Cond is true or 2) X @=< Y upon sufficient instantiation of both variables and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate guarantees referential transparency by delaying evaluation where necessary.
\$>=(+X, +Y, +Cond:boolean) is semidet
\$>=(+X, +Y, -Cond:boolean) is det
\$>=(+X, -Y, +Cond:boolean) is det
\$>=(+X, -Y, -Cond:boolean) is det
\$>=(-X, +Y, +Cond:boolean) is det
\$>=(-X, +Y, -Cond:boolean) is det
\$>=(-X, -Y, +Cond:boolean) is det
\$>=(-X, -Y, -Cond:boolean) is det
Pure reified term comparison: this predicate is true whenever 1) X @>= Y upon sufficient instantiation of both variables and Cond is true or 2) X @< Y upon sufficient instantiation of both variables and Cond is false. All modes are supported; intended to have zero unnecessary choice points. This predicate guarantees referential transparency by delaying evaluation where necessary.