Oráculo de la verdad en Lisp: Una curiosa historia sobre teoría de tipos, isomorfismo de Curry-Howard y call/cc
Esta publicación intenta escribir un "oráculo de la verdad" en Lisp, un programa que determina la verdad o falsedad de enunciados matemáticos arbitrarios. El autor introduce el isomorfismo de Curry-Howard, explicando cómo las pruebas lógicas corresponden a expresiones en programación funcional tipada. Usando la función call/cc de Racket (isomórfica a la ley de Peirce), se intenta implementar un programa isomórfico a la ley del medio excluido. Inesperadamente, el oráculo siempre devuelve falso hasta que intenta acceder a un valor de tipo imposible, revelando las diferencias entre la lógica clásica y la lógica constructiva, y el mecanismo de flujo de control no estándar de call/cc. Finalmente, el autor utiliza una metáfora de un "pacto con el diablo" para explicar este comportamiento extraño, mostrando el mecanismo similar a un viaje en el tiempo detrás de call/cc.
Leer más