Insbesondere, wenn ich ein neues als
anstelle von
Wäre
der -Kalkül eine konkurrierende Basis?
Meine Vermutung ist "nein", nur weil ich den regulären K-Kombinator nicht aus den , und Kombinatoren konstruieren kann , aber ich habe keinen Algorithmus, dem ich folgen kann, und ich habe auch keine gute Intuition über Dinge aus diesen Kombinatoren zu machen.
Es scheint, als könnten Sie
mit dem regulären -Kalkül definieren, aber ich konnte nicht wirklich rückwärts arbeiten, um eine Ableitung von in Bezug auf und den Rest zu erhalten.
Mein Versuch, zu beweisen, dass es nicht funktional vollständig war, versuchte im Wesentlichen, jede von diesen Kombinatoren erreichbare Funktion erschöpfend zu konstruieren, um zu zeigen, dass Sie eine Sackgasse erreichen (eine Funktion, die Sie zuvor gesehen haben), unabhängig davon, welche Kombinatoren Sie verwenden. Mir ist klar, dass dies nicht unbedingt für funktional unvollständige Sätze von Kombinatoren zutreffen wird (z. B. wird der Kombinator allein niemals in eine Sackgasse geraten, wenn er auf sich selbst angewendet wird), aber dies war mein bester Gedanke. Ich war immer in der Lage, den Kombinator zu verwenden, um mich aus einer Sackgasse herauszuschleichen, die ich für endgültig hielt, und bin mir daher nicht mehr so sicher, ob dieser Ansatz machbar ist.
Ich habe diese Frage auf StackOverflow gestellt , wurde jedoch aufgefordert, sie hier zu posten. Ich habe einige Kommentare zu diesem Beitrag erhalten, bin mir aber nicht sicher, ob ich sie richtig verstanden habe.
Bonus: Wenn es keine vollständige Basis ist, ist die resultierende Sprache dennoch Turing-vollständig?
Antworten:
Betrachten Sie die Terme desS., K.2, I Kalküls als Bäume (wobei Binärknoten Anwendungen darstellen und S., K.2 -Blätter die Kombinatoren darstellen.
Zum Beispiel würde der TermS.( S.S.) K.2 durch den Baum dargestellt
@
quelle
t,f,u
t
t
t
f
u
t
quelle