in vielen Sprachen postuliert man eine Hierarchie von Zahlbereichstypen:
byte⊆int⊆float⊆double
im allgemeinen ist das eine Halbordnung.
Operator mit Argumenten verschiedener Typen:
(x :: int) + (y :: float)
beide Argumente werden zu kleinstem gemeinsamen Obertyp promoviert, falls dieser eindeutig ist (sonst statischer Typfehler)
(Halbordnung → Halbverband)