12. problema stevenBradbury (j: JJOO) = result : Atleta { //Requiere que al menos una competencia ya haya finalizado (y, por lo tanto, se haya entregado un oro) requiere algunOro: long([comp | comp <- todasLasCompetencias(j), finalizada(comp)&&|ranking(comp)|>0])>0; //Asegura que result haya ganado un oro asegura ganoOro: existe(f <- [ranking(comp)[0] | comp <- todasLasCompetencias(j), finalizada(comp)&&|ranking(comp)|>0]) ciaNumber(result)==ciaNumber(f); //Asegura que entre todos los ganadores de oro, el result es el que tiene la menor habilidad en alguna de las medallas que ganĂ³. asegura esElPeor: existe(dep <- deportesEnLosQueGano(j, result)) paraTodo(f <- [ranking(comp)[0] | comp <- todasLasCompetencias(j), finalizada(comp)&&|ranking(comp)|>0]) capacidad(result, dep) <= capacidad(f, prm(categoria(comp)); } aux deportesEnLosQueGanoOro(j: JJOO, a: Atleta) : [Deportes] = [prm(categoria(comp)) | comp <- todasLasCompetencias(j), finalizada(comp)&&|ranking(comp)|>0&&ciaNumber(ranking(comp)[0])==ciaNumber(a)];