% File 'prolog_num.pl'
%----

:- type num.
:- suptype num > float.
:- suptype num > int.
:- type int.
:- type nat.
:- suptype int > negint.
:- suptype int > nat.
:- suptype nat > posint.
:- suptype nat > zero.
:- type zero --> 0.
:- type posint --> {X|(integer(X),X>0)}.
:- type negint --> {X|(integer(X),X<0)}.
 
:- type float --> {X|float(X)}.

% built-in
:- pred integer(int).		% StdP
:- pred float(float).		% StdP
:- pred number(num).		% StdP
