Ideally one would want to be able to compute the logical correlation without having to run the program.
I think this isn’t possible in the general case. Consider two programs, one of which is “compute the sha256 digest of all 30 byte sequences and halt if the result is 9a56f6b41455314ff1973c72046b0821a56ca879e9d95628d390f8b560a4d803” and the other of which is “compute the md5 digest of all 30 byte sequences and halt if the result is 055a787f2fb4d00c9faf4dd34a233320”.
Any method that was able to compute the logical correlation between those would also be a program which at a minimum reverses all cryptograhic hash functions.
I think this isn’t possible in the general case. Consider two programs, one of which is “compute the sha256 digest of all 30 byte sequences and halt if the result is
9a56f6b41455314ff1973c72046b0821a56ca879e9d95628d390f8b560a4d803
” and the other of which is “compute the md5 digest of all 30 byte sequences and halt if the result is055a787f2fb4d00c9faf4dd34a233320
”.Any method that was able to compute the logical correlation between those would also be a program which at a minimum reverses all cryptograhic hash functions.