sig Key {} sig Special, Regular extends Key {} one sig Control, Shift, Option, Command extends Special {} sig KeyPress {keys: set Key, event: Event} {one keys & Regular} sig Event {} fact {setObject (KeyPress, keys)} Note the use of Singleton to model the special keys. A prison database system tracks pairs of inmates who must not be placed in the same cell (because they belong to opposing gangs...