En el artículo de Philip Wadler sobre Theorems for Free , afirma en la Sección 2 sobre Parametricidad que
no existen modelos ingenuos de teoría de conjuntos de cálculo lambda polimórfico
En el ingenuo modelo teórico de conjuntos, los tipos son conjuntos y las funciones son funciones teóricas de conjuntos, lo que parece razonable. Entonces, ¿por qué dice que no hay modelos ingenuos de teoría de conjuntos de cálculo lambda polimórfico?
data T = K ((T -> Bool) -> Bool)
. Entonces,T
y((T->Bool)->Bool)
son isomorfos. Si tienen un modelo de conjunto donde->
denota el espacio de funciones (como un conjunto), este último tiene una cardinalidad más alta, por lo que no puede ser isomorfoT
. Entonces, en un modelo, necesitamos interpretar de manera->
diferente, por ejemplo, como el espacio de funciones continuas .Respuestas:
La referencia estándar que está buscando es, de hecho, el polimorfismo de Reynold no es teórico de conjuntos . Si bien es bastante obvio que no se puede formar, por ejemplo, el productoΠS∈ S e tS sobre todos los conjuntos que usan el producto teórico de conjunto habitual, es una pregunta legítima y no trivial si existe alguna noción más débil de producto que funcione, mientras se preserva el producto binario habitual × y espacio funcional → .
Esto tampoco es posible, ya que, por un lado, es bastante fácil construir un tipo2 tal que la interpretación tenga al menos 2 elementos, y demuestre que la interpretación de T= ΠX( X→ 2 ) → 2 es isomorfo a ( T→ 2 ) → 2 , que no es posible para la interpretación habitual de → por la usual paradoja cantor. En este sentido, es algo similar a la prueba del cálculo sin tipo.
Tenga en cuenta que un artículo adicional, de Andrew Pitts, Polymorphism is Set Theoretic, Constructively , anula esta conclusión al mostrar que la contradicción anterior solo es posible construir en la teoría clásica de conjuntos, y que hay varias teorías constructivas de conjuntos en los que el polimorfismo puede ser interpretado con las interpretaciones habituales de espacios de funciones y productos. En particular, estos "productos grandes" existen en Topos efectivos, la introducción más completa de Phoa .
fuente