Estou me referindo à pergunta aqui: algoritmos poderosos complexos demais para serem implementados .
Se um algoritmo é poderoso, mas complexo demais para implementar, como você pode ter certeza de que o algoritmo está correto? Sem implementação, você não poderá testar o algoritmo em um cenário do mundo real, e um algoritmo tão complexo pode conter bugs, o que pode invalidar o algoritmo.
Isto é o que eu não entendo; se você possui as técnicas para provar a correção de um algoritmo, já teria o algoritmo para implementá-lo, não é? Ou então, como podemos ter certeza de que a técnica de prova está correta?
Me desculpe se pareço elementar!
Atualização do Kaveh (reproduzida aqui porque o argumento é melhor!):
Se você pode provar formalmente a correção de um algoritmo em um sistema formal como o Coq, também pode extrair o algoritmo (porque essencialmente você implementou o algoritmo), mas o fato principal é que, para a maioria dos algoritmos, não fornecemos provas formais de correção do algoritmo, usamos provas informais de correção. As provas podem ser falsas, o que acontece de tempos em tempos, e mesmo uma prova formal de correção não nos garante a certeza absoluta de que o algoritmo está correto.