number(X) :- integer(X). number(X) :- rational(X). number(X) :- real(X).
Success: number(10). number(-21.0). number(1_3). number(3e27). Fail: number(pi). number(e). number('-21.0'). number(X). number(fred).