-- (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)