Dans l'article de Philip Wadler sur les théorèmes gratuits, il déclare dans la section 2 sur la paramétrie que
il n'y a pas de modèles naïfs de théorie des ensembles du calcul lambda polymorphe
Dans le modèle naïf de la théorie des ensembles, les types sont des ensembles et les fonctions sont des fonctions de la théorie des ensembles, ce qui semble raisonnable. Alors pourquoi dit-il qu'il n'y a pas de modèles naïfs de théorie des ensembles du calcul lambda polymorphe?
data T = K ((T -> Bool) -> Bool)
. Ensuite, T
et ((T->Bool)->Bool)
sont isomorphes. S'ils ont un modèle d'ensemble où ->
désigne l'espace de fonction (en tant qu'ensemble), ce dernier a une cardinalité plus élevée, il ne peut donc pas être isomorphe à T
. Ainsi, dans un modèle, nous devons interpréter ->
différemment - par exemple comme l'espace des fonctions continues .