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
R is integer(X)
checks whether X is an integer or converts it to integer
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