A chaque C-type correspond donc un ensemble de δ-types qui représentent des sous-ensembles de valeurs. Un δ-type est donc associé à un type de base, un CType, et à une restriction du domaine définit sur le C-type. De façon générale, un domaine peut-être représenté par un ensemble de valeurs et/ou d'intervalles de valeurs autorisées et un ensemble de valeurs et/ou d'intervalles de valeurs interdites. Un δ-type est donc en fait associé à deux domaines, da et di représentant respectivement le domaine des valeurs autorisées et celui des valeurs interdites.
- da accepte soit un ensemble de valeurs, soit un ensemble d'intervalles de valeurs soit la valeur ALL représentant l'ensemble des valeurs du C-types.
- di accepte soit un ensemble de valeurs, soit un ensemble d'intervalles de valeurs soit la valeur EMPTY pour signifier qu'aucune valeur n'est interdite.
Les valeurs ALL pour di, EMPTY pour da n'ont pas de sens puisqu'ils décrivent alors un ensemble vide.
Dans le cas où da n'est pas ALL, di ne peut définir qu'un sous ensemble de da. En effet, il n'y a aucun intérêt à interdire une valeur qui n'est, de toute façon, pas autorisée...
Selon le δ-type, et plus précisement le C-type duquel est issu le δ-type, la définition du domaine associé est différente. Si le C-type est un :
C-type ordonné, la définition des δ-types associés est de la forme : <ordered; [da]>. Tout ensemble de valeurs autorisés ou interdites peut être traduit en un ensemble d'intervalles dont l'union représente le domaine de valeurs autorisées. Seuls les ensembles d'intervalles sont donc intéressants pour les C-types ordonnés. De plus, lorsqu'un intervalle de valeurs interdites est ajouté au domaine, il est facile de modifier l'ensemble des intervalles autorisés pour prendre en compte cette interdiction.
Par conséquent, dans le cas des C-types ordonnés, di est toujours EMPTY, c'est pourquoi il n'est pas représenté dans la définition des δ-types ordonnés.
C-type construit, la définition des δ-types associés est de la forme : <constructed; [Tc; da,di]>. Tc est l'ensemble des δ-types des différentes étiquettes. Les ensembles da et di ne peuvent être définis que par des ensembles non ordonnés de valeurs, puisque les types construits ne sont pas ordonnés. Si l'ensemble da est ALL, l'ensemble di peut-être EMPTY ou un ensemble de valeurs. Par contre, si da est un ensemble de valeurs, di est EMPTY. En effet, seules des valeurs déjà autorisées peuvent-être interdites donc si une valeur vient à être interdite, il suffit de la supprimer des valeurs autorisées et di reste EMPTY.
Dans le cas où di est un ensemble de valeurs et da est ALL, et qu'une valeur est positionnée comme autorisée, alors di est réduit à EMPTY. C'est da qui est prioritaire sur di.
Pour les CTypes multivalués, la cardinalité est également à prendre en compte dans le domaine. La définition des δ-types multivalués est alors <multivalue; [Tc; da,di, [a,b]]>.

| Précédent | Sommaire | Niveau supérieur | Suivant |
| Module de types | Relation de sous-typage dans le module de types | ||