In Philip Wadlers Aufsatz über Theorems for Free stellt er in Abschnitt 2 über Parametrizität fest, dass
Es gibt keine naiven satztheoretischen Modelle der polymorphen Lambda-Rechnung
In der naiven Mengenlehre sind Modelltypen Mengen und Funktionen Mengenlehrefunktionen, was vernünftig erscheint. Warum sagt er also, dass es keine naiven satztheoretischen Modelle der polymorphen Lambda-Rechnung gibt?
data T = K ((T -> Bool) -> Bool)
. Dann sindT
und((T->Bool)->Bool)
isomorph. Wenn sie ein Mengenmodell haben, bei dem->
der Funktionsraum (als Menge) bezeichnet wird, hat letzterer eine höhere Kardinalität, sodass er nicht isomorph sein kannT
. In einem Modell müssen wir also->
anders interpretieren - z. B. als Raum kontinuierlicher Funktionen.Antworten:
Beachten Sie, dass eine weitere Veröffentlichung von Andrew Pitts, Polymorphism is Set Theoretic, Constructively , diese Schlussfolgerung etwas umdreht, indem gezeigt wird, dass der obige Widerspruch nur in der klassischen Mengen-Theorie konstruiert werden kann und dass es mehrere konstruktive Mengen-Theorien gibt, in denen Polymorphismus möglich ist mit den üblichen Interpretationen von Funktionsräumen und Produkten interpretiert werden. Am bemerkenswertesten sind diese "großen Produkte" in den Effective Topos, wobei die umfassendste Einführung von Phoa gegeben wird .
quelle