Type checking predicates

number(X) | succeeds if X is a number
const(X) | succeeds if X is instantiated with a constant (single letter or single character)
var(X) | succeeds if X is a not-instantiated variable
integer(X) R is integer(X) | checks whether X is an integer or converts it to integer
float(X) R is float(X) | checks whether X is a float or converts it to float
R is round(X) | returns in R an integer rounded from X
R is ceiling(X) | returns in R the first integer which is bigger than X
R is floor(X) | returns in R , the last integer which is smaller than X