(Ver también: curry favor – Wikcionario)
Considere una fórmula de preposición (o teorema o conjetura) Y y un subconjunto X de {0,1} especificado por la siguiente regla:
[matemática] 0 \ en X [/ matemática] iff [matemática] Y [/ matemática] es verdadera.
[matemáticas] 1 \ en X [/ matemáticas] iff [matemáticas] Y [/ matemáticas] falso.
Que X no estará vacío ni habitado, por ejemplo, la hipótesis de Riemann
(valor de verdad desconocido para “indefinido” [matemáticas] \ en X [/ matemáticas]).
[math] X [/ math] es una prueba de [math] Y [/ math], en el sentido de que lo que habita (y si está habitado) nos dice si [math] Y [/ math] está probado, refutado o ninguno (por ejemplo, RH).
Por otro lado, podemos pensar en una función de tipo [math] \ tau_1 \ rightarrow \ tau_2 [/ math], como tomar una expresión [math] e_1 [/ math] de tipo [math] \ tau_1 [/ math] y produciendo algo [math] e_2 [/ math] de tipo [math] \ tau_2 [/ math], mientras se ejecuta . [math] e [/ math] de tipo [math] \ tau [/ math] puede tratarse como prueba ([math] X [/ math]) de la preposición ([math] Y [/ math]) y la función puede producir [matemática] X_2 [/ matemática] a partir de [matemática] X_1 [/ matemática], cambiando lo que está habitado, siempre que haya una [matemática] e [/ matemática] para [matemática] \ tau [/ matemática] (o hay una prueba [matemática] X [/ matemática] para el teorema [matemática] Y [/ matemática], en otras palabras ), es decir, [matemática] \ tau [/ matemática] es de tipo habitado.
Esa es la correspondencia de curry-Howard.
Tenga en cuenta que necesita saber “si hay una prueba (es [matemática] X [/ matemática] habitada), no cuál es la prueba real. Además, las pruebas en este contexto, son constructivas (por ejemplo, evidencia o testigo) más bien que por implicación.
Para [matemática] Y [/ matemática]: existen números irracionales [matemática] a, b [/ matemática] st [matemática] a ^ b [/ matemática] es racional.
[matemática] X [/ matemática] que dice, [matemática] Y [/ matemática] no es falsa, por lo tanto, [matemática] Y [/ matemática] es verdadera o dice [matemática] q [/ matemática] = algún valor (usted no sé racional o no), q es racional o irracional, [demuestre que] [matemáticas] Y [/ matemáticas] es cierto en cualquier caso, no es constructivo. Mientras que comenzando con algo como [matemáticas] a = \ sqrt 2, b = log_2 {9} [/ math] y mostrar que [math] a ^ b [/ math] es racional será una prueba constructiva ya que (a diferencia de la lógica clásica) no acepta el medio excluido (tampoco o no ) o doble negación (no falso significa verdadero)