Content-distinguishable types

The following table lists the ways in which two types may be content-distinguishable. The table is helpful particularly if you analyzed your tree and received an error indicating that two types are not distinguishable. Look up the combination of types in the first two columns and read the list of ways to define them that would make them distinguishable.

For example, if you get an error indicating that X is not distinguishable from Y, where X is an item, and Y is a partitioned group, you would find the row in the table where Type1 is an item and Type2 is a partitioned group.

Remember that the order in which you compare two types matters. When you ask the question Is type A content-distinguishable from type B?, this is not the same question as Is type B content-distinguishable from type A?

If you are trying to determine whether two types are distinguishable and you follow the guidelines in the following tables, you may encounter a situation in which you are comparing a type to itself. A type is never distinguishable from itself.

Another thing to keep in mind is that is that the context in which a type is used matters. When you ask the question, "Is type A, as a component of type C, content-distinguishable from type B?" this is not the same question as, "Is type A, as a component of type D, content-distinguishable from type B?"

The following table shows how to define types as content-distinguishable.

Type 1 Type 2 How to define them as content-distinguishable
item item The first component or partition is either:
  • An item and marked as initiator distinguishable and
Both items are different partitions of the same partitioned subtree, or The second type has an initiator and those initiators are mutually exclusive, or Both types have the same initiator and the value of the first item is distinguishable from the value of the second item, or The second type has no initiator and the initiator of the first type is distinguishable from the value of the second type.
  • An item and not marked as initiator distinguishable and
Both items are different partitions of the same partitioned subtree, or The first item has an initiator, second has an initiator and initiator value of first is distinguishable from initiator value of the second. Both types have initiators and they are the same, or both types have no initiator and the value of the first item is distinguishable from the value of the second item. The first item has an initiator, second does not, and value of initiator distinguishable from the value of second item. The first item has no initiator, second does, and the first item's value is distinguishable from the value of the second item's initiator.
item sequence group, choice group, or unordered group The first component or partition is either:
  • An item marked as initiator distinguishable and
The second type has an initiator and those initiators are mutually exclusive, or The second type has no initiator and the item is initiator-distinguishable from each type in the starting component set of the group.
  • An item not marked as initiator distinguishable and
The item and group both have an initiator and the initiator of the item is distinguishable from the initiator of the group, or The item has no initiator, the group has an initiator, and the item's value is distinguishable from the value of group's initiator, or Both types have initiators and they are the same or both types have no initiator, and the item's value is distinguishable from the type of each component in the starting component set of the group, or The item has an initiator, the group has no initiator, and the item is content-distinguishable from the type of each component in the starting component set of the group, or The item has no initiator, the group has an initiator, and the item's value is distinguishable from each type in the starting component set of the group.
item partitioned item or partitioned group The first component or partition is content-distinguishable from each partition of the second type.
partitioned item item Each partition of the first type is content-distinguishable from the second type.
partitioned item sequence group Each partition of the first type is content-distinguishable from the second type.
partitioned item choice group Each partition of the first type is content-distinguishable from second type.
partitioned item unordered group Each partition of the first type is content-distinguishable from second type.
partitioned item item Each partition of the first type is content-distinguishable from second type.
partitioned item partitioned group Each partition of the first type is content-distinguishable from second type.
group item Each partition of the partitioned group is content-distinguishable from the item.
partitioned group partitioned item Each partition of the partitioned group is content-distinguishable from each partition of the item.
partitioned group sequence group Each partition of the partitioned group is content-distinguishable from the second group.
partitioned group partitioned group Each partition of the first partitioned group is content-distinguishable from each partition of the second partitioned group.
partitioned group choice group Each partition of the partitioned group is content-distinguishable from the choice group.
partitioned group unordered group Each partition of the partitioned group is content-distinguishable from the unordered group.
sequence group item The first component is either:
  • A group marked as initiator distinguishable and
The item has an initiator and the initiator value of the group is distinguishable from the initiator value of the item, or The second type has no initiator and the initiator value of the first type is distinguishable from the value of the second type.
  • A group not marked as initiator distinguishable and
The group has an initiator, the item has an initiator and the initiator value of the group is distinguishable from initiator value of the item, or The group has an initiator, the item does not, and value of the initiator is distinguishable from value of the item, or Both types have initiators and they are the same, or both types have no initiator and each type in the starting component set of the group is content-distinguishable from the value of the second item.
sequence group sequence group The first component is either:
  • A group marked as initiator distinguishable, and
Both groups are different partitions of the same partitioned subtree, or The second type has an initiator and those initiators are mutually exclusive, or The second type has no initiator and the first group is initiator-distinguishable from each type in the starting component set of the second group.
  • A group not marked as initiator distinguishable, and
Both groups are different partitions of the same partitioned subtree, or Both groups have an initiator and the initiator value of the first group is distinguishable from the initiator value of the second group, or The first group has no initiator, the second group has an initiator and the type of each component in the starting component set of the first group is content-distinguishable from the second group, or The first group has an initiator, the second group has no initiator and the first group is content-distinguishable from the type of each component in the starting component set of the group. Both types have initiators and they are the same or both types have no initiator and The first group is content-distinguishable from the starting component set of the second group, or The second group is content-distinguishable from the starting component set of the first group, or The starting component set of the first group is content-distinguishable from the starting component set of the second group.
sequence group choice group or group The first component is either:
  • A group marked as initiator distinguishable and
Both groups are different partitions of the same partitioned subtree, or The second type has an initiator and those initiators are mutually exclusive, or The second group has no initiator and the first group is initiator-distinguishable from the type of each component of the second group.
  • A group not marked as initiator distinguishable and
Both groups are different partitions of the same partitioned subtree, or Both groups have an initiator and the initiator of the first group is distinguishable from the initiator of the second group, or The first group has an initiator, the second group has no initiator and the first group is content-distinguishable from the type of each component of the second group, or The first group has no initiator the second group has an initiator, and each component in the starting component set of the first group is distinguishable from the second group, or Both types have initiators, either the initiators are the same or both types have no initiator, and each component in the starting component set of the first group is content-distinguishable from the type of each component of the second group.
sequence group partitioned item or partitioned group The first component is either:
  • A group marked as initiator-distinguishable and the group is initiator-distinguishable from each partition of the second type, or
  • A group not marked as initiator-distinguishable and the group is content-distinguishable from each partition of the second type.
choice group or unordered group item The first component is either:
  • A group marked as initiator distinguishable and

    The item has an initiator and the initiator value of the group is distinguishable from the initiator value of the item, or

    The second type has no initiator and the initiator value of the first type is distinguishable from the value of the second type.

  • A group not marked as initiator distinguishable and

    Both types have an initiator and the initiator value of the group is distinguishable from initiator value of the item, or

    The group has an initiator, the item does not, and the value of the initiator is distinguishable from value of the item, or

    The group has no initiator, the item has an initiator and the starting component set of the group is content-distinguishable from the item, or

    Both types have initiators and they are the same, both types have no initiator and the type of each component of the group is distinguishable from the value of the second item.

choice group or group sequence group The first component is either:
  • A group marked as initiator distinguishable and
Both groups are different partitions of the same partitioned subtree, or The second type has an initiator and those initiators are mutually exclusive, or The second type has no initiator and the first group is initiator-distinguishable from each type in the starting set of the second group.
  • A group not marked as initiator distinguishable, and
Both groups are different partitions of the same partitioned subtree, or Both groups have an initiator and the initiator value of the first group is distinguishable from the initiator value of the second group, or The first group has an initiator, the second group has no initiator and the first group is content-distinguishable from the type of each component in the starting component set of the second group. The first group has no initiator, the second group has an initiator and the type of each component of the first group is content-distinguishable from the second group, or. Both types have initiators and they are the same or both types have no initiator, and the type of each component of the first group is content-distinguishable from the type of each component in the starting component set of the second group.
choice group or group choice group or group The first component is either:
  • A group marked as initiator distinguishable and
Both groups are different partitions of the same partitioned subtree, or The second type has an initiator and those initiators are mutually exclusive, or The second group has no initiator and the first group is initiator-distinguishable from the type of each component of the second group.
  • A group not marked as initiator distinguishable and
Both groups are different partitions of the same partitioned subtree, or Both groups have an initiator and the initiator of the first group is distinguishable from the initiator of the second group, or The first group has an initiator, the second group has no initiator and the first group is content-distinguishable from the type of each component of the second group, or The first group has no initiator the second group has an initiator, and each component of the first group is distinguishable from the second group, or Both types have initiators and the initiators are the same or both types have no initiator, and the type of each component of the first group is content-distinguishable from the type of each component of the second group.
choice group or group partitioned item or partitioned group The first component is either:
  • A group marked as initiator-distinguishable and the group is initiator-distinguishable from each partition of the second type, or
  • A group not marked as initiator-distinguishable and the group is content-distinguishable from each partition of the second type.