Ich weiß, dass es unmöglich ist, die Äquivalenz für einen nicht typisierten Lambda-Kalkül zu bestimmen . Zitat von Barendregt, HP Der Lambda-Kalkül: seine Syntax und Semantik. Nordholland, Amsterdam (1984). :
Wenn A und B disjunkt sind, nicht leere Mengen von Lambda-Termen, die unter Gleichheit geschlossen sind, dann sind A und B rekursiv untrennbar. Daraus folgt, dass A nicht rekursiv ist, wenn A eine nichttriviale Menge von unter Gleichheit geschlossenen Lambda-Termen ist. Also können wir das Problem "M = x?" Daraus folgt, dass Lambda keine rekursiven Modelle hat.
Wenn wir ein normalisierendes System wie System F haben, können wir die Äquivalenz "von außen" bestimmen, indem wir die beiden angegebenen Terme reduzieren und vergleichen, ob ihre normalen Formen gleich sind oder nicht. Können wir es jedoch "von innen" tun? Gibt es ein System-F combinator E , so dass für zwei Kombinatoren M und N haben wir E M N = wahr , wenn M und N die gleiche Normalform haben, und E M N = falsch sonst? Oder kann das zumindest für einige Ms gemacht werden ? Um einen Kombinator E M zu konstruierenso dass wahr ist, wenn N ≡ β M ? Wenn nein, warum?
quelle
Eine weitere mögliche Antwort auf die vollkommen richtige von Neel: Angenommen, es gibt einen Kombinator , der in System F so gut typisiert ist, dass die obige Bedingung zutrifft. Der Typ von E ist:E E
Es stellt sich heraus, dass es einen kostenlosen Satz gibt, der besagt , dass ein solcher Begriff notwendigerweise konstant ist :
Insbesondere ist die ständig wahre Funktion oder die ständig falsche Funktion und kann möglicherweise kein "Gleichheitsentscheider" sein.E
quelle