By looking at the expressions occurring in statements, an equivalence relation between primitive types can be inferred. The following cases are distinguished:
By type, we will generally mean an equivalence class of primitive types. Subtyping is important to avoid the problem of pollution, the derivation of counter-intuitive equivalences due to commutativity and transitivity of the equivalence relation [22].