Не уверен, почему кто-то отказывается, так как мой вопрос может быть полезен для новичков.
Ответ прост, в разделе ограничений после раздела полей подписи есть неявное количественное определение:
enum E {A, B, C}
sig S {} {S = A + B} на самом деле sig S {} {все это: S |S = A + B}, который удовлетворяется двумя значениями S: пустое множество {} и множество A + B.
Это упоминается в документации (неявное количественное определение), но в некоторых случаях поведение AlloyTools может выглядеть несколько неожиданнодля начинающих (я, например).