Oráculo da Verdade em Lisp: Uma história curiosa sobre teoria de tipos, isomorfismo de Curry-Howard e call/cc

2025-06-14

Esta publicação tenta escrever um "oráculo da verdade" em Lisp — um programa que determina a verdade ou falsidade de afirmações matemáticas arbitrárias. O autor introduz o isomorfismo de Curry-Howard, explicando como provas lógicas correspondem a expressões em programação funcional tipada. Usando a função call/cc do Racket (isomórfica à lei de Peirce), é feita uma tentativa de implementar um programa isomórfico à lei do meio excluído. Inesperadamente, o oráculo sempre retorna falso até tentar acessar um valor de tipo impossível, revelando as diferenças entre lógica clássica e lógica construtiva, e o mecanismo de fluxo de controle não-padrão do call/cc. Finalmente, o autor usa uma metáfora de um "acordo com o diabo" para explicar esse comportamento estranho, mostrando o mecanismo semelhante a uma viagem no tempo por trás do call/cc.

Desenvolvimento teoria de tipos