The specifications of natural numbers and integers in section 3.6 define abstract mathematical concepts - not the datatypes available on a computer. In this section we compile some ideas how to specify datatypes of programming languages in terms of mathematical concepts introduced in section 3.6: a datatype CARDINAL isomorphic to a subtype of Nat, and a datatype INTEGER isomorphic to a subtype of Int.