El sistema de números ordinales es un sistema con números infinitos. Muchos números infinitos. Tantos números infinitos que literalmente no tiene un infinito para representar su propia infinitud. La imagen de arriba da una pequeña idea de cómo funcionan. Un número ordinal ( construcción de von Neumann ) es un conjunto de ordinales anteriores. Por ejemplo, 0 es el conjunto vacío, 1 es el conjunto {0}, 2 es el conjunto {0, 1} y etc. Luego llegamos a ω, que es {0, 1, 2, 3 ...}. ω + 1 es {0, 1, 2, 3 ... ω}, ω multiplicado por dos es {0, 1, 2 ... ω, ω + 1, ω + 2 ...} y sigues como ese.
Su programa generará un conjunto de ordinales, como {0, 1, 4}. Su puntaje será el menos ordinal más que todo el ordinal en su conjunto. Para {0, 1, 4} la puntuación sería 5. Para {0, 1, 2 ...}, la puntuación sería ω.
¿Cómo sacas tus ordinales que preguntas? Código por supuesto. Es decir, su programa generará una lista potencialmente infinita de otros programas, entre comillas, uno en cada línea (use la cadena literal "\ n" para representar nuevas líneas). Un programa corresponde a su puntaje como se indicó anteriormente. Por ejemplo, si saca
"A"
"B"
"C"
donde A, B y C son respuestas válidas y tienen puntajes {0, 1, 4}, el puntaje de su programa sería 5. Tenga en cuenta que A, B y C deben ser programas completos, no fragmentos.
Según las reglas anteriores, un programa que no genera nada tiene una puntuación de 0 (el menor ordinal mayor que todos {} es 0). Además, recuerde que un conjunto no puede contenerse, a través del axioma de la fundación . Es decir, cada conjunto (y, por lo tanto, ordinal) tiene una ruta de acceso a cero. Esto significa que un quine completo sería inválido ya que no es un conjunto.
Además, ningún programa puede acceder a recursos externos (su propio archivo, Internet, etc.). Además, cuando enumere su puntaje, coloque la forma normal de puntaje junto a él si aún no está en forma normal, si puede (si no, alguien más puede).
Después de tener en cuenta todo lo anterior, la respuesta real que publique debe ser inferior a 1,000,000 bytes (sin contar los comentarios). (Este límite superior probablemente solo entrará en juego para el código generado automáticamente). Además, puede aumentar su puntaje por cada byte que no use (dado que estamos tratando con infinitos, esto probablemente solo se tendrá en cuenta cuando los ordinales estén muy cerca o lo mismo). Una vez más, este párrafo solo se aplica a la respuesta publicada, no a las generadas, o las que generan, y así sucesivamente.
Esto tiene la etiqueta quine, porque puede ser útil generar al menos parte del código propio de las fuentes, para usar en la creación de ordinales grandes. Sin embargo, de ninguna manera es obligatorio (por ejemplo, un envío con puntaje 5 probablemente no necesitaría su propio código fuente).
Para un ejemplo resuelto y anotado, vea aquí .