Las condiciones que usaremos son de cuatro tipos:
- Hay dos equipos que deben enfrentarse como muy tarde en cierta fecha. Por ejemplo Boca y River deben enfrentarse antes de la fecha 14.
- Hay dos equipos que deben enfrentarse exactamente en un cierta fecha. Por ejemplo Lanus y Banfield deben enfrentarse exactamente en la fecha 8.3.
- Hay un conjunto de equipos que pueden enfrentarse entre sí a lo sumo en un partido por fecha. Por ejemplo no puede pasar que River, Boca, Racing, San Lorenzo e Independiente jueguen entre sí en dos partidos la misma fecha: sea como fuera la forma en la que se crucen estos cinco equipos, esto generaría dos clásicos en la misma fecha, lo cual se desea evitar.
- Hay un conjunto de equipos que no pueden enfrentarse todos entre sí en la misma fecha. Por ejemplo, no puede pasar que Newell’s, Rosario Central, Colon y Union jueguen en la misma fecha: serían todos los partidos santafesinos juntos, y es mejor repartirlos.
- jugarALoSumoEn(Equipo1, Equipo2, NumeroFechaMaxima)
- jugarExactamenteEn(Equipo1, Equipo2, NumeroFecha)
- noHayDosPartidosEntre(Equipos)
- noJueganTodosJuntos(Equipos)