M M E
Hay una variedad de codificaciones como la de Kleene que usa números naturales y la codificación moderna más eficiente es una sintaxis de orden superior de Mogensen. Otra posible codificación (trivial) es la función de identidad, luego el intérprete es nuevamente la función de identidad.
¿Existe alguna noción razonable de una "codificación adecuada" que prohíba las codificaciones triviales?
Esta pregunta surgió al considerar el problema de detención aplicado al cálculo lambda en lugar de a las máquinas de Turing: si se indica en términos de codificación trivial, entonces se mantiene por la razón trivial de que esencialmente no hay nada que podamos hacer con un término lambda citado.
Dicho de otra manera: ¿Cuál es el conjunto de funciones que deberíamos esperar poder calcular en términos lambda citados?
Puedo enumerar algunos como: contar la profundidad del término, tomar subterms, decir si el nodo raíz de un término es una lambda o una aplicación, ... pero dudaría en definir una "codificación adecuada" simplemente enumerando una variedad de funciones eso me vino a la mente.
fuente
Respuestas:
Como señalaron otros, la definición obvia de una codificación "adecuada" es que es equitranslatable con cualquier estándar. Por lo tanto, la cuestión es caracterizar tales codificaciones en términos de propiedades más elementales.
( Nota histórica . Smullyan estudió esta pregunta en el contexto de la lógica combinatoria. Cuando era estudiante, Henk Barendregt me sugirió las conjeturas de Smullyan como un problema de investigación, lo que condujo a mi primera publicación científica).
http://drops.dagstuhl.de/opus/volltexte/2011/3249/
Para resumir, dado un mapa , consideramos si existen combinadores que satisfagan ciertas propiedades. Los más significativos son:⋅¯: Λ → Λ
Es fácil ver que cualquier codificación adecuada tiene estas propiedades. El principal resultado del trabajo (Corolario 14) es que, para una codificación adecuada, uno de los siguientes es suficiente:
fuente
Esta no es una respuesta. Es una elaboración de la pregunta, que me parece interesante y quizás debería merecer más atención de la que realmente recibió.
En primer lugar, permítanme decir que hay una condición importante en la definición de Barendregt que Brennan ha omitido, a saber, que debe estar en forma normal , que inmediatamente descarta la función de identidad como una codificación adecuada.⌈ M⌉
Ahora, la pregunta puede formularse con mayor precisión siguiendo la sugerencia de Cody.
Dadas dos codificaciones, ¿son recursivamente isomorfas? En otras palabras, suponga que tiene dos codificaciones tales que
F
Si la respuesta no es, ¿cuáles son los requisitos abstractos "mínimos" que deben agregarse para asegurarlo?
fuente