-- (c) MFES / CSI -- Games sig G{ a : one T, h : one T, d : one D, s : one G } -- Teams and dates sig D,T {} fact{ (T->T) - iden = ~h.a -- teams play all against each other -- but don't play with themselves a.~a & h.~h in iden -- no repeated games with exactly the same teams (a+h).~(a+h) & d.~d in iden -- no team playing twice on same day s = a.~h & h.~a -- game isomorphism (yields the "symmetric game") -- It is an isomorphism by construction: s = ~s -- and it is a function :-) } run{} for exactly 4 T, 12 G, 6 D -- why 12? 12 = 4*(4-1)