Eu estava lendo outra explicação do problema da parada, e isso me fez pensar em todos os problemas que vi que são dados como exemplos e envolvem sequências infinitas. Mas nunca uso sequências infinitas nos meus programas - elas demoram muito. Todas as aplicações do mundo real têm limites inferior e superior. Mesmo reais não são reais - são aproximações armazenadas como 32/64 bits etc.
Portanto, a questão é: existe um subconjunto de programas que pode ser determinado se eles forem interrompidos? É bom o suficiente para a maioria dos programas. Posso criar um conjunto de construções de linguagem que possam determinar a 'suspensão' de um programa. Tenho certeza de que isso já foi estudado em algum lugar antes, para que qualquer ponteiro seja apreciado. O idioma não estaria completo, mas existe algo quase completo que é bom o suficiente?
Naturalmente, esse construto precisaria excluir a recursão e os loops ilimitados, mas eu posso escrever um programa sem esses facilmente.
A leitura da entrada padrão como exemplo teria que ser limitada, mas isso é fácil - vou limitar minha entrada a 10.000.000 caracteres, etc, dependendo do domínio do problema.
tia
[Atualizar]
Depois de ler os comentários e as respostas, talvez eu deva reafirmar minha pergunta.
Para um determinado programa no qual todas as entradas são limitadas, é possível determinar se o programa é interrompido. Em caso afirmativo, quais são as restrições do idioma e quais são os limites do conjunto de entradas. O conjunto máximo dessas construções determinaria uma linguagem que pode ser deduzida para parar ou não. Existe algum estudo que foi feito sobre isso?
[Atualização 2]
aqui está a resposta: sim, em 1967, em http://www.isp.uni-luebeck.de/kps07/files/papers/kirner.pdf
O fato de que o problema da parada pode ser resolvido pelo menos teoricamente para sistemas de estados finitos já foi discutido por Minsky em 1967 [4]: “... qualquer máquina de estados finitos, se deixada completamente sozinha, cairá eventualmente em um período perfeitamente periódico. padrão repetitivo. A duração desse padrão de repetição não pode exceder o número de estados internos da máquina ... ”
(e, portanto, se você se apegar a máquinas de torção finitas, poderá construir um oráculo)