C'est bizarre c'est peut de chose pret ce que j'ai écrit dans mon long commentaire. Sauf que la conclusion est toujours la même :
"la fonction halt répond à la question si j'appelle testArret [instance A] avec en argument la string représentant le programme testArret [instance B] est-ce que testArret s'arrête."
La réponse est: cela dépend des entrées de l'instance B !
testArret("testArret(in) {\n"+
"si halt(in,in) alors boucle infinie;\n"+
"sinon arret;\n"+
"}");
C'est ici encore plus clair, qu'est-ce que tu mets dans le "in" de la 2ième fonction dans la string ?
[^] # Re: Halting problem
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Déterminer le domaine d'un programme. Évalué à 2.
"la fonction halt répond à la question si j'appelle testArret [instance A] avec en argument la string représentant le programme testArret [instance B] est-ce que testArret s'arrête."
La réponse est: cela dépend des entrées de l'instance B !
testArret("testArret(in) {\n"+
"si halt(in,in) alors boucle infinie;\n"+
"sinon arret;\n"+
"}");
C'est ici encore plus clair, qu'est-ce que tu mets dans le "in" de la 2ième fonction dans la string ?
cf mon 1er exemple idiot :
testArret("toto (bool a){if(a) boucle_infinie() else arret();}"}
testarray() ne peut pas répondre et pourtant toto est parfaitement définit et existe.
"La première sécurité est la liberté"