¡En los tipos recursivos de Wadler gratis! [1], demostró dos tipos, y ∃ X . ( X → F ( X ) ) × X , y afirmó que son duales . En particular, señaló que el tipo ∃ X . X → ( X → F ( X ) ) no esEl dual de los primeros. Parece que la dualidad en cuestión aquí es diferente de la dualidad de De Morgan en lógica. Me pregunto cómo se define la dualidad de tipos, específicamente para los tres tipos mencionados, por qué el segundo es dual del primero mientras que el tercero no. Gracias.
[1] http://homepages.inf.ed.ac.uk/wadler/papers/free-rectypes/free-rectypes.txt
Respuestas:
En este contexto, la dualidad se refiere a tomar el punto fijo menos en un caso y el punto fijo más grande en el otro. Debemos tratar de comprender en qué sentido y G = ∃ X . ( X → F ( X ) ) × X son los y soluciones "menos" "grandes" de la ecuación recursiva F ( X ) ≅ X .L = ∀ X. ( F( X) → X) → X G = ∃ X. ( X→ F( X) ) × X F( X) ≅X
Primero de todo, y G son de hecho puntos fijos (bajo ciertos supuestos técnicos que limitan la naturaleza de F ), porque la comparación mapas v : F ( L ) → L y W : G → F ( G ) dadas por vL sol F v : F( L ) → L w:G→F(G)
y
w ( X , ( f , x ) ) = F ( λ y : X
Supongamos que es cualquier solución a F ( Y ) ≅ Y con un isomorfismo mediación u : F ( Y ) → Y . Luego tenemos mapas canónicos α : L → Y y β : Y → G definidos por αY F(Y)≅Y u:F(Y)→Y
fuente
w'
es un isomorfismo, pero ¿te da un coalgebra válido? (Supongo que debería hacerlo, pero podría estar equivocado ...) No parece que la plaza viaje.como flechas: cuadrados
fuente
Cuando traduce (descompone) los tipos al cálculo del proceso, la dualidad se vuelve simple: la entrada es dual a la salida y viceversa . No hay (mucho) más en la dualidad.
¿Qué significa la cuantificación universal a nivel de proceso? Hay una interpretación directa: si los datos se escriben mediante una variable de tipo, no se pueden usar como el sujeto de una salida, solo como un objeto. Por lo tanto, no podemos inspeccionar estos datos, solo podemos pasarlos u olvidarlos.
La teoría de esto se ha desarrollado con cierto detalle en [1, 2, 3] y algunos otros, más difíciles de acceder al trabajo, y se relacionó con mucha precisión con la lógica lineal polarizada y su noción de dualidad en 4 .
4 K. Honda et al., Una correspondencia exacta entre un cálculo tipo pi y redes de prueba polarizadas .
5 R. Milner, Funciones como procesos .
fuente