La question est la suivante. En général , quand on ont un terme comme , nous pouvons éliminer le forall en appliquant ce terme à un type, comme par exemple ( Λ X . t ) [ T ] → t [ X : = T ] .
Supposons maintenant que ce soit une flèche et que nous voulions lui donner un argument, alors nous aurions besoin d'appliquer ce terme au type approprié pour qu'il puisse recevoir un tel argument. Voilà ce que je demande si je peux automatiser: Est - il possible de construire une fonction en prenant deux termes et en retournant un type tel que f < Λ X . t > < r > nous donne le type à remplacer par X dans t tel que t puisse accepter l'argument r ?
Quelques exemples:
.