The SNOMED CT concept model requirements include:
Requirement C.1: The ability to express SNOMED CT concept model constraints
The language must support the ability to express SNOMED CT concept model constraints, such that the resulting expression constraint can be used to validate SNOMED CT concept definitions and postcoordinated expressions.
In particular, the language must support the ability to define the domain, range and cardinality of each attribute in the SNOMED CT concept model. The domain of an attribute is the set of valid source concepts of relationships of that type. In most cases, this will be defined as the descendants and self of a given concept. The range of an attribute is the set of valid destination concepts of relationships of that type. This will be defined as the set of concepts that match a given expression constraint. The cardinality of an attribute constrains the number of times an active relationship of this type can be added to a concept in the SNOMED CT snapshot release (in distribution normal form). For more information about the SNOMED CT distribution view, please refer to the SNOMED CT Technical Implementation Guide.
Please note that the range of an attribute whose value is concrete will be defined using the keyword "type". This keyword is not part of the core SNOMED CT Expression Constraint language, but instead will be defined as an extension to this language, which is used only for the SNOMED CT Concept Model use case.