¿El teorema smn es el mismo concepto que curry?

12

Estoy estudiando el teorema smn y el concepto me recordó al curry.

Del artículo de Wikipedia sobre el teorema smn :

El teorema dice que para un lenguaje de programación dado y enteros positivos myn, existe un algoritmo particular que acepta como entrada el código fuente de un programa con m + n variables libres, junto con m valores. Este algoritmo genera código fuente que sustituye efectivamente los valores de las primeras m variables libres, dejando el resto de las variables libres.

De un artículo sobre curry :

Intuitivamente, el curry dice "si arreglas algunos argumentos, obtienes una función de los argumentos restantes"

Me parece la misma idea. La única razón por la que no estoy seguro es que los materiales que encontré en smn no mencionan el curry (y viceversa), por lo que quería consultarlo para asegurarme de que realmente lo obtengo.

emanek
fuente
ϕi(,)g(x)=#λy.ϕi(x,y)gs()ϕi
Bueno, smn hace una declaración existencial mientras que la existencia de una función currificada proporciona el "compilador". Pero la idea es la misma.
Raphael

Respuestas:

15

Sí, es lo mismo.

λA×BCA(BC)ABABλ

(A,νA)AνA:NAAνA(n)=xnxφφn(k)nk

f:(A,νA)(B,νB)nNf(νA(k))=νB(φn(k))kνAφnfϕnf

λ

Andrej Bauer
fuente
PER(A)νA
1
Sí, las dos categorías son equivalentes, y la tercera versión equivalente es la de conjuntos modestos (busque "conjuntos y conjuntos modestos").
Andrej Bauer