for now, an expression x is y op z is translated into an XSB call:
type(Y), type(Z), X is Y op Z, type(X).
This is however not always necessary (e.g. if X and Y is given, Z can often be derived by rewriting the expression).
Attached such an example.
Related to issue #670