Dobrze wiadomo, że kombinatory S i K tworzą zestaw podstawowy dla rachunku kombinatorycznego, w tym sensie, że wszystkie inne kombinatory można wyrazić za ich pomocą. Istnieje również podstawa Curry'ego B, C, K, W, która ma tę samą właściwość. Musi istnieć nieskończona liczba takich baz, ale nie znam żadnych innych.
Wiem, że istnieje wiele baz z jednym kombinatorem, takich jak kombinator Iota i różne inne konstruowane / recenzowane przez Fokkera . Są to jednak „niewłaściwe” kombinatory, co oznacza, że są wyrażane raczej w kategoriach innych kombinacji niż czystych abstrakcji. 1 Na potrzeby tego pytania interesują mnie tylko zestawy bazowe złożone z odpowiednich kombinacji.
Czy istnieje również badanie innych możliwych zestawów podstawowych? Ideałem byłoby coś wzdłuż linii Wolframa badaniu różnych innych modeli obliczeniowych, w których różne kombinacje są systematycznie badane. W szczególności interesuje mnie, czy znane są proste przykłady następujących rzeczy:
- Minimalny zestaw podstawowy, który zawiera kombinator I. (Używam „minimalnego”, co oznacza, że jeśli usuniesz członka, przestanie on być podstawą, więc podstawa SKI się nie liczy).
- Minimalny zestaw podstawowy, który zawiera kombinator Y lub kombinator (inaczej mockingbird)
Wszelkie inne informacje o innych możliwych podstawach logiki kombinacyjnej oprócz S, K i B, C, K, W byłyby naprawdę pomocne.
W szerszym ujęciu interesuje mnie badanie rachunku kombinatorycznego jako układu czysto mechanicznego , tj. Jako zestawu reguł transformacji drzew binarnych z oznaczonymi węzłami, które nie wymagają szczególnej interpretacji semantycznej. Wszelkie wskazówki dotyczące zasobów, które przyjmą takie podejście, byłyby bardzo mile widziane. ( Aby wyśmiewać drozda przyjmuje takie podejście, ale daje niepełną prezentację, podczas gdy rachunek Lambda Barendregta jest bardzo związany z semantyką, co utrudnia mi wydobycie aspektów czysto mechanicznych, którymi jestem zainteresowany.)
1 Mówiąc dokładniej: w rachunku lambda właściwy kombinator jest wyrażeniem formy , gdzie ma tylko , itp. jako dowolne zmienne i nie zawiera żadnych abstrakcji. Na przykład jest właściwym kombinatorem, ale nie jest, ponieważ zawiera zastosowane do terminu lambda.
źródło