La pregunta es la siguiente. En general, cuando se tiene un término como , podemos eliminar el principio aplicando este término a un tipo, como instancia .( Λ X . t ) [ T ] → t [ X : = T ]
Ahora, supongamos que se trata de una flecha y queremos darle un argumento, entonces tendríamos que aplicar este término al tipo apropiado para que pueda recibir dicho argumento. Eso es lo que pregunto si puedo automatizar: ¿Es posible construir una función tome dos términos y devuelva un tipo tal que nos dé el tipo necesario para ser reemplazado por en tal que puede aceptar el argumento ?f < Λ X . t > < r > X t t r
Algunos ejemplos:
.