competencia.tex 993 B

123456789101112131415161718
  1. \begin{tipo}{Competencia}
  2. \observador{categoria}{c: Competencia}{(Deporte, Sexo)}
  3. \observador{participantes}{c: Competencia}{[Atleta]}
  4. \observador{finalizada}{c: Competencia}{\bool}
  5. \observador{ranking}{c: Competencia}{[Atleta]}
  6. \requiere{finalizada(c)}
  7. \observador{lesTocoControlAntiDoping}{c: Competencia}{[Atleta]}
  8. \requiere{finalizada(c)}
  9. \observador{leDioPositivo}{c: Competencia, a: Atleta}{\bool}
  10. \requiere{finalizada(c) \land a \in lesTocoControlAntiDoping(c)}
  11. \medskip
  12. \invariante[participaUnaSolaVez]{sinRepetidos(ciaNumbers(participantes(c)))}
  13. \invariante[participantesPertenecenACat]{\\(\forall p \selec participantes(c)) prm(categoria(c)) \in deportes(p) \land sgd(categoria(c))==sexo(p)}
  14. \invariante[elRankingEsDeParticipantesYNoHayRepetidos]{\\finalizada(c) \Rightarrow incluida(ranking(c), participantes(c))}
  15. \invariante[seControlanParticipantesYNoHayRepetidos]{\\finalizada(c) \Rightarrow incluida(lesTocoControlAntiDoping(c), participantes(c))}
  16. \end{tipo}