O sistema numérico ordinal é um sistema com números infinitos. Muitos números infinitos. Tantos números infinitos que literalmente não tem um infinito para representar sua própria infinitude. A imagem acima fornece uma pequena idéia de como eles funcionam. Um número ordinal ( construção de Von Neumann ) é um conjunto de ordinais anteriores. Por exemplo, 0 é o conjunto vazio, 1 é o conjunto {0}, 2 é o conjunto {0, 1} e etc. Então chegamos a ω, que é {0, 1, 2, 3 ...}. ω + 1 é {0, 1, 2, 3 ... ω}, ω duas vezes é {0, 1, 2 ... ω, ω + 1, ω + 2 ...} e você continua assim aquele.
Seu programa produzirá um conjunto de ordinais, como {0, 1, 4}. Sua pontuação será o menos ordinal mais do que o ordinal do seu conjunto. Para {0, 1, 4} a pontuação seria 5. Para {0, 1, 2 ...}, a pontuação seria ω.
Como você produz seus ordinais, você pergunta. Código de curso. Ou seja, seu programa produzirá uma lista potencialmente infinita de outros programas, entre aspas, um em cada linha (use a string literal "\ n" para representar novas linhas). Um programa corresponde à sua pontuação, conforme indicado acima. Por exemplo, se você gerar
"A"
"B"
"C"
onde A, B e C são respostas válidas e têm pontuações {0, 1, 4}, a pontuação do seu programa seria 5. Observe que A, B e C devem ser programas completos, não fragmentos.
Com base nas regras acima, um programa que não produz nada tem uma pontuação de 0 (o menos ordinal maior que todos {} é 0). Além disso, lembre-se de que um conjunto não pode se conter, através do axioma da fundação . Ou seja, todo conjunto (e, portanto, ordinal) tem um caminho até zero. Isso significa que um quine completo seria inválido, pois não é um conjunto.
Além disso, nenhum programa tem permissão para acessar recursos externos (seu próprio arquivo, a internet etc ...). Além disso, quando você listar sua partitura, coloque a forma normal do cantor ao lado dela, se ela ainda não estiver na forma normal do cantor, se você puder (se não, outra pessoa pode).
Depois de levar tudo em consideração, a resposta real que você postar deve ser inferior a 1.000.000 bytes (sem contar os comentários). (Esse limite superior provavelmente só entrará em ação no código gerado automaticamente). Além disso, você aumenta sua pontuação para cada byte que não usa (já que estamos lidando com infinitos, isso provavelmente só será considerado quando os ordinais estiverem muito próximos ou iguais). Novamente, este parágrafo se aplica apenas à resposta postada, não às geradas, ou às geradas, e assim por diante.
Isso possui a tag quine, porque pode ser útil gerar pelo menos parte do código do próprio código-fonte, para uso na criação de ordinais grandes. Porém, isso não é necessário (por exemplo, um envio com pontuação 5 provavelmente não precisaria de seu próprio código-fonte).
Para um exemplo elaborado e anotado, veja aqui .